Microbe-ID is a web-based toolbox for identifcation and genotyping of organisms.
Microbe-ID contains two main applications: Sequence-ID and Genotype-ID.
Sequence-ID allows identification of species by blasting a query sequence for any locus of interest against a custom reference sequence database using BLAST.
Genotype-ID allows placement of an unknown genotype in either a minimum spanning network or dendrogram with bootstrap support comparing the queue against an user-created reference database using R and a suite of R packages designed for molecular markers.
Microbe-ID uses the Bootstrap framework as front-end and links both applications into a simple, web-ready site that can be deployed locally or on a server.
index.html
: Front page of Microbe-ID.seq-id.html
: Front page of Sequence-ID. Provides the user with forms to submit query sequences to be processed by BLAST for identificaiton of species based on similarity. This page provides the informatiom and connections to theblast.cgi
script, which runs BLAST using PERL. The user has to provide a curated database.geno-id.html
: Front page of Genotype-ID: SSR-ID. Provides the user with examples, forms and instructions on how to submit SSR/Microsatellite queries to be processed by R using shiny. This page provides an iFrame toshiny-server/www/SSR-ID/www/index.html
.MLST.html
: Front page of MLST-ID. Provides the user with examples, forms and instructions on how to submit Multi Locus Sequence Type (MLST) queries to be processed by R using shiny. This page provides am iFrame toshiny-server/www/MLST/www/index.html
.binary-id.html
: Front page of Genotype-ID. This page provides the user with examples, forms and instructions on how to submit Codominant/Binary queries to be processed by R using shiny. This page provides an iFrame toshiny-server/www/Binary-ID/www/index.html
.about.html
: This contact page can be customized.
The site can be customized further by deleting pages or adding additional pages as needed.
Bootstrap_files/
: Folder that contains all the files necessary for the Bootstrap front-end framework used for Microbe-ID.cgi-bin/
: Folder that contains theblast.cgi
script for Sequence-ID.blast.cgi
is a PERL-CGI script that runsBLAST
using a query against custom database of curated sequences.files/
: Folder to which additional files can be added (This folder is necessary if the user wants to customize the site by adding extra files, create the folder at the root of theMicrobe-ID
repository if not included).img/
: Folder that contains images used in Microbe-ID webpages (This folder is necessary if the user wants to customize the site by adding custom image files, create the folder at the root of theMicrobe-ID
repository if not included).
shiny-server/www/
: Contains all the folders and files to be used by the shiny server.Binary-ID/
: Contains all the folders and files to be used by the shiny server for the deployment of Binary-ID.Aeut.txt
: Curated database of AFLP molecular markers used as references in Binary-ID. This file serves as input forserver.R
.server.R
: File that contains all the commands required by R to execute Binary-ID by R. This file is handled by the shiny server. More information available on the Shiny Arquitecture region.www/
: Contains the files necesary to deploy the user interface used by Binary-ID.AFLP_Aphanomyces.xlsx
: TheAFLP_Aphanomyces.xlsx
file contains a template to format the queries as an example for the end users of Binary-ID.index.html
: User interface file for Binary-ID. More information available on the Shiny Arquitecture region.
SSR-ID/
: Contains all the folders and files to be used by the shiny server for the deployment of Genotype-ID: SSR-ID.Ramorum_ssr.csv
: Curated database of SSR/Microsatellite molecular markers used as references in SSR-ID for Phytopthora ramorum. This file serves as input forserver.R
.server.R
: File that contains all the commands required by R to execute SSR-ID by R. This file is handled by the shiny server. More information available on the Shiny Arquitecture region.www/
: Contains the files necesary to deploy the user interface used by SSR-ID.SSR_Example_Data_ramorum.xlsx
: TheSSR_Example_Data_ramorum.xlsx
file contains a template to format the queries as an example for the end users of Genotype-ID.index.html
: User interface file for Genotype-ID. More information available on the Shiny Arquitecture region.
MLST/
: Contains all the folders and files to be used by the shiny server for the deployment of MLST-ID.server.R
: File that contains all the commands required by R to execute MLST-ID by R. This file is handled by the shiny server. More information available on the Shiny Arquitecture region.www/
: Contains the files necessary to deploy the user interface used by MLST-ID.example.html
: HTML page with examples for MLST-ID query formatting.index.html
: User interface file for MLST-ID. More information available on the Shiny Arquitecture region.help.html
: Help and tutorials for MLST-ID use.
test-dataset/
: Contains theFASTA
files used in several tests by MLST-ID.- MLST-ID Contains a copy of the
Bootstrap_files/
folder as thehelp.html
andexample.html
pages require some of the files. This should not considerably affect performance or size of the deployment application.
For the R applications deploy successfully, shiny requires two types of files, the user interface file and the shiny script.
-
User interface (ui.R or index.html): The user interface file (UI) permits the communication between the user and
R
using forms and reactive functions. TheUI can be defined as the "web-document" and its where the application will prompt the results and receive the input of the user. Examples of UI are available in any of the shiny-app folders of Microbe-ID (look for theindex.html
file) -
Server script (server.R): The server script runs the application in R. The server script contains all the information that R will interpret to run the application (code, internal datasets and interpretations of the input/outputs from and to the user interface file). Examples of server scripts are available in any of the shiny-app folders of Microbe-ID (look for the
server.R
file)
Both server.R
and ui.R
files should be in the same directory. If you prefer to use the index.html
file, create a folder called www/
and move the index.html
file to this folder.
To install Microbe-ID on your server you need the following components and applications:
- Access to a linux server to host the site.
- A website based on bootstrap to host your version of Microbe-ID. See our example here.
- A self-hosted shiny R server session running on your server.
- Two shiny R scripts for server (
server.R
) and user interface (ui.R
orindex.html
), respectively. - A custom file input for each of the genotyping modules (
Genotype-ID
,MLST-ID
orBinary-ID
, each has a description and example in theshiny-server
folder).
- Your custom FASTA curated database for Sequence-ID. This database
- Access to cgi-bin perl applications.
BLAST+
suite- Custom
FASTA
database of curated sequences for the group in interest
- Install
Shiny Server
andR
. We recommend to follow the instructions carefully from the developers sites. For more info inShiny Server
please read:
- Install any additional software.
- Install additional packages in
R
. We highly recommend to install the packages as a superuser, to make them available to all uses. For any of the applications on Genotype-ID, you will need the packagesshiny
,poppr
,pegas
,igraph
,phangorn
,gdata
,XML
from CRAN. Installphyloch
from here, follow these instructions to install R packages from source. - If you are going to use
MLST-ID
, installmafft
.mafft
is a multiple sequence alignment program using fourier algorithms.MLST-ID
usesmafft
to align and creates multiple alignments for each of the MLST. - If you are planning on using Sequence-ID, install
BLAST
.BLAST
is used by Sequence-ID to identify sequence data by similarity to a custom well-curated database. For more information inBLAST
, go to the main page or to downloads and installation
-
Clone this repository in a folder accessible by Apache (
cgi-bin
integration is required to use Sequence-ID) -
Move the contents of
shiny-server/www
folder app to the Shiny Server directory on your local server (/shiny-server/
) and restart your localshiny-server
. If the installation is correct, the modules will be visible and executable at127.0.0.1:3838
. -
Change the permissions for each of
shiny-server/
folders to groupshiny
, and make them readable, writable and executable by group. -
If you are installing Sequence-ID:
- Move the
blast.cgi
file from the repositorycgi-bin/
folder into your apachecgi-bin
folder. - Create the database for your custom
BLAST
search using themakeblastdb
command that comes with the blast binaries. - Change the path of the
blastn
executable and theBLAST
database in theblast.cgi
file.
- Integrate the Genotype-ID modules into your custom webpage by changing the paths on the
frames
in the 'geno-id.html', 'MLST.html', 'binary-id.html' files.
- Customize each html file to your needs including for example 'index.html', 'seq-id.html', 'geno-id.html', 'MLST.html', 'binary-id.html', 'about.html'. Instructions for customizations are provided inside each html document as comments starting with
<!--MICROBE-ID customization: ...>
. Please follow the directions of these tags carefully. - Remove unnecessary files and add any additional pages for your site.
- Images and additional files can be added to the
img/
andfiles/
folders respectively. Images or files can be added to any of thehtml
pages using HTML5. More information on HTML5 image tags here - Customize each
server.R
andui.R/index.html
file required by shiny for each application under shiny-server/www. - Do not modify 'validate.js' or the
Bootstrap_files/
folder as they contain fundamental scripts for the website. - In case the user wants to modify the
.gitignore
file, please do not remove the files present originally.
- Move the
blast.cgi
file from the repositorycgi-bin/
folder into your apachecgi-bin
folder. - Create the database for your custom
BLAST
search using themakeblastdb
command that comes with theblast
binaries. - Change the path of the
blastn
executable and theBLAST
database in theblast.cgi
file.
A working implementation of Microbe-ID for plant pathogens in the genus Phytophthora can be found at Phytophthora-ID. See the sample code on github for this implementation.