All Projects → wurmlab → Sequenceserver

wurmlab / Sequenceserver

Licence: other
Intuitive local web frontend for the BLAST bioinformatics tool

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Sequenceserver

Galaxy
Data intensive science for everyone.
Stars: ✭ 812 (+310.1%)
Mutual labels:  hacktoberfest, bioinformatics, genomics, sequencing
Awesome Sequencing Tech Papers
A collection of publications on comparison of high-throughput sequencing technologies.
Stars: ✭ 21 (-89.39%)
Mutual labels:  bioinformatics, genomics, sequencing
Artemis
Artemis is a free genome viewer and annotation tool that allows visualization of sequence features and the results of analyses within the context of the sequence, and its six-frame translation
Stars: ✭ 135 (-31.82%)
Mutual labels:  bioinformatics, genomics, sequencing
Roary
Rapid large-scale prokaryote pan genome analysis
Stars: ✭ 176 (-11.11%)
Mutual labels:  bioinformatics, genomics, sequencing
gff3toembl
Converts Prokka GFF3 files to EMBL files for uploading annotated assemblies to EBI
Stars: ✭ 27 (-86.36%)
Mutual labels:  bioinformatics, genomics, sequencing
Hgvs
Python library to parse, format, validate, normalize, and map sequence variants. `pip install hgvs`
Stars: ✭ 138 (-30.3%)
Mutual labels:  bioinformatics, genomics, sequencing
Sns
Analysis pipelines for sequencing data
Stars: ✭ 43 (-78.28%)
Mutual labels:  bioinformatics, genomics, sequencing
Gatk
Official code repository for GATK versions 4 and up
Stars: ✭ 1,002 (+406.06%)
Mutual labels:  bioinformatics, genomics, sequencing
Fastq.bio
An interactive web tool for quality control of DNA sequencing data
Stars: ✭ 76 (-61.62%)
Mutual labels:  bioinformatics, genomics, sequencing
Genomicsqlite
Genomics Extension for SQLite
Stars: ✭ 90 (-54.55%)
Mutual labels:  bioinformatics, genomics, sequencing
Ariba
Antimicrobial Resistance Identification By Assembly
Stars: ✭ 96 (-51.52%)
Mutual labels:  bioinformatics, genomics, sequencing
plasmidtron
Assembling the cause of phenotypes and genotypes from NGS data
Stars: ✭ 27 (-86.36%)
Mutual labels:  bioinformatics, genomics, sequencing
catch
A package for designing compact and comprehensive capture probe sets.
Stars: ✭ 55 (-72.22%)
Mutual labels:  bioinformatics, genomics, sequencing
saffrontree
SaffronTree: Reference free rapid phylogenetic tree construction from raw read data
Stars: ✭ 17 (-91.41%)
Mutual labels:  bioinformatics, genomics, sequencing
Deepvariant
DeepVariant is an analysis pipeline that uses a deep neural network to call genetic variants from next-generation DNA sequencing data.
Stars: ✭ 2,404 (+1114.14%)
Mutual labels:  bioinformatics, genomics, sequencing
Gubbins
Rapid phylogenetic analysis of large samples of recombinant bacterial whole genome sequences using Gubbins
Stars: ✭ 67 (-66.16%)
Mutual labels:  bioinformatics, genomics, sequencing
Genomics
A collection of scripts and notes related to genomics and bioinformatics
Stars: ✭ 101 (-48.99%)
Mutual labels:  bioinformatics, genomics, sequencing
Circlator
A tool to circularize genome assemblies
Stars: ✭ 121 (-38.89%)
Mutual labels:  bioinformatics, genomics, sequencing
Octopus
Bayesian haplotype-based mutation calling
Stars: ✭ 131 (-33.84%)
Mutual labels:  bioinformatics, genomics
Hts Nim
nim wrapper for htslib for parsing genomics data files
Stars: ✭ 132 (-33.33%)
Mutual labels:  bioinformatics, genomics

gem version build status total downloads gitter chat

Beta version: new gem version GitHub Master: build status

SequenceServer - BLAST searching made easy!

SequenceServer lets you rapidly set up a BLAST+ server with an intuitive user interface for personal or group use.

If you use SequenceServer, please cite:

Sequenceserver: A modern graphical user interface for custom BLAST databases. Molecular Biology and Evolution (2019).

Stable (version 1.0.11)

  • Release date: June 2017
  • Works with BLAST 2.2.30

Installation

For installation instructions and how to use SequenceServer please see https://sequenceserver.com/#installation.

If you want to run SequenceServer directly from source code, please see 'Develop and contribute' section below.

Beta (version 2.0)

SequenceServer 2.0 includes three new visualisations to help interpret BLAST results, enables sharing of BLAST results and visualising of externally generated BLAST XML file (including from DIAMOND), removes the 30 hit limit for FASTA download and adds ability to download pairwise alignment, is better equipped to handle long-running BLAST jobs and rendering of large search results (thousands of hits), supports BLAST 2.10.0+ and the new database format (including migrating your old databases to the new format), contains additional hooks for integrating as part of other websites and several other enhancements under the hood.

Read more about SequenceServer 2.0 and extensive testing of the candidate releases by the community: https://groups.google.com/d/msg/sequenceserver/c98ePBzcuVE/lN-S35jVHgAJ.

New candidate releases are announced on GitHub release page and on Google Group, while our GitHub project board provides an overview of what remains to migrate from candidate to stable release.

We invite you to try out the latest candidate release and help us out by reporting any issues you may encounter with your setup (instructions below).

Install and configure

To get the latest 2.0 (beta) release, run:

gem install --pre sequenceserver

If you are new to the above command, please consult the 'Install or update' section on our website http://sequenceserver.com.

If you want to run SequenceServer beta directly from source code, please see 'Develop and contribute' section below.

Reporting issues

Please report any issues here: https://github.com/wurmlab/sequenceserver/issues

Develop and contribute

To develop and contribute, you will need to run SequenceServer from source.

Run SequenceServer from source code

You will need Ruby and RubyGems:

# Install bundler gem to install Ruby dependencies
gem install bundler

# Move to where you downloaded or cloned seqserv
cd sequenceserver

# Use bundler to install Ruby dependencies
bundle install

# Use bundler to run SequenceServer
bundle exec bin/sequenceserver

If you do not plan to develop, you can skip installing development dependencies by running bundle install --without=development.

Making changes to the code

During development, you should use -D option to run SequenceServer in development mode. In this mode, SequenceServer logs verbosely and uses raw front-end files.

# Run SequenceServer in development mode
bundle exec bin/sequenceserver -D

You will need Node and npm if you want to modify and build frontend code:

# Install frontend dependencies
npm install

# Build minified JS and CSS bundles
npm run-script build

Or if you are using docker, you can build the frontend code and include it in the image by specifying '--target=minify' to the docker build command:

docker build . -t seqserv-with-customisations --target=minify

Testing

We use RSpec and Capybara for testing. Our test suite covers 87% of the codebase. Running all tests can take considerable time (~2 hrs). We recommend using Travis to automatically run all tests when you push your code to your fork. Tests are also run automatically when you open a pull-request (see Getting code merged section below). Although, it may be desirable sometimes to run a single test, whole file, or all tests locally:

To run a single test (a.k.a, scenario):

bundle exec rspec spec/foo_spec.rb -e 'bar'

To run all tests in a single file:

bundle exec rspec spec/foo_spec.rb

To run all tests:

bundle exec rspec spec/**/*spec*

Getting code merged

Please open a pull-request on GitHub to get code merged. Our test suite and the CodeClimate static code analysis system will be automatically run on your pull-request. These should pass for your code to be merged. If you want to add a new feature to SequenceServer, please also add tests. In addition, code should be rubocop and eslint compliant, and hard-wrapped to 80 chars per line.

If you change frontend code (JavaScript and CSS), please build (i.e., minify and compress) and commit the resulting JS and CSS bundles before opening a pull-request. This is because SequenceServer is run in production mode by the test suite.

Docker builds

Both the old stable and new beta versions of SequenceServer are available as Docker images.

# With database fasta files inside a folder named db
docker run --rm -ti -p 4567:4567 -v $(pwd)/db:/db wurmlab/sequenceserver

This will use the new beta release of SequenceServer. To use the old stable release, add the version tag to the command:

# With database fasta files inside a folder named db
docker run --rm -ti -p 4567:4567 -v $(pwd)/db:/db wurmlab/sequenceserver:1.0.11

Contact

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].