SequenceServer lets you rapidly set up a BLAST+ server for individual use or for sharing datasets with your colleagues and your community. Its minimalist, modern and thoughtful design lets you focus on the biology and getting things done. SequenceServer is free and open source.
Mac Install Gcc G++
SequenceServer has been used for research on emerging model organisms (e.g. sea cucumber, starfish, falcon, Hessian fly, sugar-apple tree, Streptocarpus rexii), and for research in bioadhesion and environmental microbiology. SequenceServer is a main querying mechanism for several community databases (e.g. Drosophila suzukii, planarians, birch and ash tree, Amborella, echinoderms, Fusarium, ants, butterfly), and is also used as an educational resource.
Read about SequenceServer's user-centric design and sustainable software development philosophy:
Either re-run make with CGOENABLED=0 or install GCC. Cross Compiling. Compiling for a different platform is as simple as running. Older versions of OSX FUSE. Install C compiler and build tools. On.NIX platforms it is usually GCC/G or Clang compiler and Make or Ninja build tool. On Windows it can be Visual Studio IDE or MinGW-w64 compiler. Native toolchains for Android are provided in the Android NDK. XCode IDE is used to build software for OSX and iOS platforms. Where you download and run the scripts will determine which drive the OSX image will be created on; ARCH ONLY: an aur package manager, such as yay. If you don’t have yay (Arch User Repository package manager): ARCH LINUX USERS ONLY pacman -S git make automake gcc python go autoconf cmake pkgconf alsa-utils fakeroot –noconfirm.
Mac Install Gcc Compiler
Sequenceserver: a modern graphical user interface for custom BLAST databases. Molecular Biology and Evolution (2019).
- Automatically detects BLAST software - if absent the correct version is automatically downloaded.
- Detects existing BLAST databases and automatically lists them in the search interface.
- Detects sequence type of FASTA files and prompts to turn them into BLAST databases.
- Built-in web server for light to medium usage. Can be integrated with Apache / Nginx if required.
- Easily add custom links to search hits (e.g. to a genome browser or a page describing the sequence).
Easy to use
- Type or paste query sequences, or drag-and-drop a FASTA file to search.
- Smart user interface automagically figures out the appropriate BLAST method for the given query and selected databases.
- Use advanced parameters as you would in the command line:
-evalue 1.0e-10 -max_target_seqs 10
. - Graphical overview of results naturally separates strong from weak hits (by evalue).
- GenBank style visualisation of hit sequences - residues grouped in multiples of five.
- Download hit sequences in FASTA format, and alignment data in tab-delimited and XML format for further analysis.
- Step-by-step discovery of workflow and options through interactive, visual feedback.
Screenshot: Search interface
Screenshot: Result interface
Screenshot: Setup process
Requirements
Linux or Mac and Ruby (≥ 1.8.7; preferably ≥ 2.0)
NCBI BLAST+ (2.2.31+) is interactively downloaded if absent
One of SequenceServer's dependencies (the module used to parse BLAST's XML output) compiles some C code as part of the installation process. This means that the standard Unix build tools (e.g.,
gcc
,make
) are required to install SequenceServer. On a Mac, this means having Xcode and CLI tools for Xcode installed. On Ubuntu and other Debian-based Linux systems, you would have to install theruby-dev
andbuild-essential
packages in addition toruby
.
Once you have Ruby and the build tools installed, the command below can be used to install SequenceServer. Later on, the same command can be used to update SequenceServer to the latest version:
Configure and run
Run the following in a terminal to configure and run SequenceServer. It will automatically download NCBI BLAST+ if absent, ask for the location of directory containing database sequences, format FASTA files for use with BLAST+, and list them for use in the search form:
That's it! Open http://localhost:4567 in your web-browser and start BLAST-ing!
Please cite
Sequenceserver: a modern graphical user interface for custom BLAST databases. Molecular Biology and Evolution (2019).
We request you to not remove the please cite line from your installation of SequenceServer. Citations are important for us to actively develop and advance SequenceServer.
Alternatively, you can use SequenceServer with Docker - only need to specify the location of your database directory.
License
SequenceServer is free to use by any individual or organization for all purposes under GNU AGPL version 3. Custom licensing is also possible if AGPL doesn't suit your needs - get in touch. Please see Razuna's licensing information page if in doubt. Our licensing model is same as theirs.
Have an issue in deploying SequenceServer? Something is not working as expected? Have a tip? A feature request? Or just want to encourage further development? Post it to SequenceServer Google Group and we will work something out. We are also available for consulting which can range from custom support to server deployment and administration to implementing specific features. Get in touch.
Users
In addition to the research conducted and resources created using SequenceServer (below), several users have written articles about installing and customising SequenceServer:
- 2019: How to set up SequenceServer and Viroblast in Chinese!
- 2019: Part of a chapter in the book 'Information technology for biological data analysis' (in Japanese!)
- 2018: SequenceServer: nice local blast by Bruno (installation on Centos 7.5)
- 2018: Post-mortem on downtime experienced by BLAST-related tools by Terry Mun (issues that may be encountered by community databases)
- 2018: How can I link BLAST results to JBrowse by JBrowse team (linking BLAST results with JBrowse genome browser)
- 2017: Tutorial for setting up SequenceServer and BLAST in Chinese!
- 2016: A video tutorial of SequenceServer in Japanese!
- 2015: Setting up SequenceServer by Terry Mun (shows the level of customisation that can be achieved with SequenceServer)
- 2015: Sequence Server by Zach Charlop-Powers (using SequenceServer on RedHat Linux)
- 2015: SequenceServer v1.0 pre-release by Guy Leonard (using SequenceServer with Apache)
- Exome of Kronos durum wheat and Cadenza bread wheat mutants. John Innes Centre; Earlham Institute; HHMI; Rothamsted Research.
- Gene expression analysis and visualisation for wheat. John Innes Centre; Earlham Institute; BBSRC; IWYP; DFW.
- Beta-Lactamase DataBase (BLDB). JPIAMR transnational project DesInMBL; Région Ile-de-France (DIM Malinf); Laboratory of Excellence in Research on Medication and Innovative Therapeutics (LERMIT).
- PC3 and LNCaP Human Prostate Cancer Cell Lines. GhrelinLab.
- NBIGV: Non-B cell dervied immunoglobulin variable region database. Peking University Health Science Center.
- Measles, mumps and rubella virsues database and analysis resource. Imam Abdulrahman Bin Faisal University.
- FusoPortal: A Fusobacterium genome and bioinformatic repository (pathogen). The Slade Lab, Virginia Tech.
- JRC GMO-Amplicons: database of sequences related to genetically modified organisms. Joint Research Centre, European Union Reference Laborator for GM Food and Feed.
- Pathogen-Host Interactions database (PHI-base). Rothamsted Research, UK.
- Cotton Functional Genomics Database (CottonFGD). Biotechnology Research Institute, Chinese Academy of Agricultural Sciences.
- Database for the model legume Lotus japonicus (Lotus Base). Centre for Carbohydrate Recognition and Signalling, Aarhus University.
- Cacao genome database. MARS; USDA/ARS; IBM; Clemson University Genomics Institute; PIPRA; HudsonAlpha Institute of Biotechnology; National Center for Genome Resources; Indiana University; Washington State University.
- Genome, predicted transcripts and proteins of tardigrades. Keio University; University of Edinburgh; BBSRC.
- Database of Tribolium RNAi phenotypes (iBeetle-Base). Georg-August-Universität Göttingen.
- Y1000+ project (yeast). University of Wisconsin-Madison; USDA; Vanderbilt University.
- MitoFun: A curated resource of complete fungal mitochondrial genomes. Bioinformatics Research Laboratory, University of Cyprus and Department of Genetics and Biotechnology, University of Athens
- Medaka Omics Data Portal. Tu Lab, Institute of Genetics and Developmental Biology, Chinese Academy of Sciences, Beijing.
- The Bovine Genome Database. University of Missouri.
- Spotted wing fly base (Drosophila suzukii), UC Davis and Oregon State University
- Reef Genomics. King Abdullah University of Science and Technology.
- Echinoderms transcriptomes (EchinoDB). University of North Carolina at Charlotte.
- PlanMine (planarians), Max Planck Institute of Molecular Cell Biology and Genetics
- MarpolBase: Genome database for the common liverwort, Marchantia polymorpha. Tohoku University.
- Oat genome. UNC Charlotte; Brigham Young University; Aberystwyth University.
- Crop genomics lab's BLAST server. Seoul National University.
- Asparagus genome project. University of Georgia.
- Narrow-leafed lupin genome project. Commonwealth Scientific and Industrial Research Organisation.
- Daphnia STRESSOR database. Universität Hamburg.
- Aplysia transcriptome, Institute for Genome Sciences, University of Maryland, Baltimore.
- HopBase (plant), Oregon State University
- Phalaenopsis aphrodite (plant) genome, transcripts, and proteins. Taiwan Agricultural Genomics Resource Center
- Hieracium (hawkweed). Commonwealth Scientific and Industrial Research Organisation.
- Genome database for Iberian ribbed newt.
- Sea bass and sea bream transcripts, Dipartimento di Bioscienze, Università degli Studi di Milano
- Pristionchus (nematodes), Max Planck Institute for Developmental Biology.
- Electric fish, Michigan State University
- Flies (animal), New York University
- Streptocarpus rexii (plant), Universita degli Studi di Milano
- LCR-eXXXplorer, University of Cyprus
- The Richards' Lab (fungi, pseudofungi), University of Exeter
- The Amborella Genome (plant). University of Georgia.
- Jékely Lab (zooplanktons), Max Planck Institute for Developmental Biology, Tübingen
and many additional private installations that we don't know about...
Next Tutorial:OpenCV configuration options reference
There are two ways of installing OpenCV on your machine: download prebuilt version for your platform or compile from sources.
In many cases you can find prebuilt version of OpenCV that will meet your needs.
Packages by OpenCV core team
Packages for Android, iOS and Windows built with default parameters and recent compilers are published for each release, they do not contain opencv_contrib modules.
- GitHub releases: https://github.com/opencv/opencv/releases
- SourceForge.net: https://sourceforge.net/projects/opencvlibrary/files/
Third-party packages
Other organizations and people maintain their own binary distributions of OpenCV. For example:
- System packages in popular Linux distributions (https://pkgs.org/search/?q=opencv)
- PyPI (https://pypi.org/search/?q=opencv)
- Conda (https://anaconda.org/search?q=opencv)
- Conan (https://github.com/conan-community/conan-opencv)
- vcpkg (https://github.com/microsoft/vcpkg/tree/master/ports/opencv)
- NuGet (https://www.nuget.org/packages?q=opencv)
- Brew (https://formulae.brew.sh/formula/opencv)
- Maven (https://search.maven.org/search?q=opencv)
It can happen that existing binary packages are not applicable for your use case, then you'll have to build custom version of OpenCV by yourself. This section gives a high-level overview of the build process, check tutorial for specific platform for actual build instructions.
OpenCV uses CMake build management system for configuration and build, so this section mostly describes generalized process of building software with CMake.
Step 0: Prerequisites
Install C++ compiler and build tools. On *NIX platforms it is usually GCC/G++ or Clang compiler and Make or Ninja build tool. On Windows it can be Visual Studio IDE or MinGW-w64 compiler. Native toolchains for Android are provided in the Android NDK. XCode IDE is used to build software for OSX and iOS platforms.
Install CMake from the official site or some other source.
Get other third-party dependencies: libraries with extra functionality like decoding videos or showing GUI elements; libraries providing optimized implementations of selected algorithms; tools used for documentation generation and other extras. Check OpenCV configuration options reference for available options and corresponding dependencies.
Step 1: Get software sources
Typical software project consists of one or several code repositories. OpenCV have two repositories with code: opencv - main repository with stable and actively supported algorithms and opencv_contrib which contains experimental and non-free (patented) algorithms; and one repository with test data: opencv_extra.
You can download a snapshot of repository in form of an archive or clone repository with full history.
To download snapshot archives:
- Go to https://github.com/opencv/opencv/releases and download 'Source code' archive from any release.
- (optionally) Go to https://github.com/opencv/opencv_contrib/releases and download 'Source code' archive for the same release as opencv
- (optionally) Go to https://github.com/opencv/opencv_extra/releases and download 'Source code' archive for the same release as opencv
- Unpack all archives to some location
To clone repositories run the following commands in console (gitmust be installed):
- Note
- If you want to build software using more than one repository, make sure all components are compatible with each other. For OpenCV it means that opencv and opencv_contrib repositories must be checked out at the same tag or that all snapshot archives are downloaded from the same release.
- When choosing which version to download take in account your target platform and development tools versions, latest versions of OpenCV can have build problems with very old compilers and vice versa. We recommend using latest release and fresh OS/compiler combination.
Step 2: Configure
At this step CMake will verify that all necessary tools and dependencies are available and compatible with the library and will generate intermediate files for the chosen build system. It could be Makefiles, IDE projects and solutions, etc. Usually this step is performed in newly created build directory:
- Note
cmake-gui
application allows to see and modify available options using graphical user interface. See https://cmake.org/runningcmake/ for details.
Step 3: Build
During build process source files are compiled into object files which are linked together or otherwise combined into libraries and applications. This step can be run using universal command:
... or underlying build system can be called directly:
Step 3: Install
During installation procedure build results and other files from build directory will be copied to the install location. Default installation location is /usr/local
on UNIX and C:/Program Files
on Windows. This location can be changed at the configuration step by setting CMAKE_INSTALL_PREFIX
option. To perform installation run the following command:
- Note
- This step is optional, OpenCV can be used directly from the build directory.
- If the installation root location is a protected system directory, so the installation process must be run with superuser or administrator privileges (e.g.
sudo cmake ...
).