many biological systems and pathways , not only from bacteria , archaea , and fungi , but also from plants ( field and osbourn 2008 ) and animals ( garcia - fernandez 2005 ) are encoded by genes that are physically clustered together on the chromosome in operons or gene clusters ( fischbach and voigt 2010 ) .
the architectures of these gene clusters are sometimes well - conserved between species , but they may also evolve quickly through rearrangements , insertions , deletions , and duplications . in many cases , knowing
the evolutionary context of a gene cluster can reveal much about its function , by offering information on which other organisms possess a similar biomolecular system or pathway as encoded by the gene cluster , which parts are most strongly evolutionarily conserved , and what variants of the system or pathway exist .
homology searching can also be useful for mining large numbers of gene or operon variants from homologous gene clusters , which can then function as building blocks for the synthetic biology engineering of novel pathways or systems ( medema et al .
although several efficient and user - friendly tools are available to perform homology searches for single genes and proteins ( e.g. , national center for biotechnology information [ ncbi ] s basic local alignment search
tool+ [ blast+ ] implementation [ camacho et al . 2009 ] ) , there are few options to exhaustively mine the databases for homologs of entire operons or gene clusters .
2008 ) , ccgv ( revanna et al . 2009 ) , edgar ( blom et al .
2011 ) each offer the possibility to perform gene neighborhood comparisons across prokaryotic genomes on precomputed data sets , but none of these allow searches against the entire genbank database ( benson et al .
2013 ) , nor do they allow generating custom databases from the user s own sequence data .
another tool , synblast ( lehmann et al . 2008 ) , is restricted to organisms whose genetic information is deposited in ensembl ( flicek et al .
, we present multigeneblast , a comprehensive blast implementation to perform homology searches on multigene modules , which is built as a wrapper around ncbi blast+ . as with the normal ncbi blast+ suite ,
the user can search the entire genbank database or create his / her own databases . additionally , multigeneblast has the ability to perform  architecture searches ,  which allow finding genomic loci containing homologs of specific user - specified combinations of genes .
multiple sequence alignments of homologs can be generated automatically after the search , and all results are visualized in a user - friendly interactive extensible hypertext markup language ( xhtml ) page .
multigeneblast functions as a python - based wrapper around the blastp program from the ncbi blast+ suite ( camacho et al .
2009 ) , which allows detecting even distant homology between genes by using the amino acid translation as a proxy for the gene sequence .
multigeneblast uses a specific database format in which each fasta header in the database contains information on the parent nucleotide entry of the protein sequence as well as on the start and end positions and strand orientation of the gene that encodes it  besides , of course , its own functional annotation and accession number . to also make it possible to search unannotated genome sequences for homologous gene clusters , raw nucleotide databases
can also be created , on which the tblastn algorithm is used instead of blastp . the multigeneblast implementation ( fig .
1 ) extends upon code written earlier for gene cluster comparison in antismash ( medema , blin , et al .
first , the amino acid translation of each gene sequence within the query gene cluster is searched against the selected multigeneblast database , yielding a data set of blast hits .
the blast hits are then mapped to their parent nucleotide scaffolds , based on the information from the database .
the nucleotide scaffolds are then sorted according to their empirical similarity scores with the query gene cluster .
finally , the sorted list of genomic loci is displayed in an interactive xhtml file that can be viewed with any modern web browser .
first , the amino acid translation of each gene sequence within the query gene cluster is searched against the selected multigeneblast database , yielding a data set of blast hits .
the blast hits are then mapped to their parent nucleotide scaffolds , based on the information from the database .
the nucleotide scaffolds are then sorted according to their empirical similarity scores with the query gene cluster .
finally , the sorted list of genomic loci is displayed in an interactive xhtml file that can be viewed with any modern web browser .
setting up a multigeneblast run can be done not only from the command line ( table 1 ) but also with a user - friendly graphical user interface ( gui ) ( fig .
2 ) that allows easy selection of genomic regions ( see our graphical tutorial in supplementary file s1 , supplementary material online ) . as in our gene cluster analysis tool antismash ,
the output is visualized in an interactive xhtml page that can be opened in a web browser .
the xhtml page shows a scalable vector graphics ( svg ) visualization of all sorted genomic loci ( fig .
3 ) , and clicking on a gene leads to the display of annotation information , details of any blastp / tblastn hit to the ( translated ) sequence of this gene ( percentage identity , sequence coverage , e - value , and bit score ) , and a direct link to run an individual blastp search with the amino acid translation of this gene on the ncbi server .
optionally , multiple sequence alignments of the amino acid translations of each query gene sequence with those of its homologs can also be generated using muscle ( edgar 2004 ) . 

2.a user - friendly gui allows easy construction of databases and easy use of the program .
( b ) direct download of genbank entries from ncbi and simple button to download multigeneblast - reformatted genbank database .
( c ) options to design databases from files , from online genbank entries or from entire genbank divisions .
( d ) link to the multigeneblast website with help pages , a tutorial , and various downloads . 

the output consists of an interactive xhtml page , in which additional information on each gene appears on mouse - over or by clicking on a gene .
the first example output shown here displays a homology search for the coumermycin biosynthetic gene cluster , which identifies gene clusters encoding related compounds .
the second example output shows the power of an architecture search to find specific pathways : by using a query of a type iii polyketide synthase and a terpene cyclase , biosynthetic gene clusters encoding hybrid polyketide - terpene compounds are identified straightforwardly .
single alignments of the query gene clusters with any particular hit gene cluster can also be selected from a drop - down menu .
all gene cluster images are stored in svg format , so they can easily be transformed into publication - quality figures . 

table 1.applications in the multigeneblast package.nameshort descriptionmultigeneblastmain command - line application to run multigeneblast searchesmgb_guigui for configuring and starting a multigeneblast runmakedbapplication to construct multigeneblast databases from user datamakegbdbapplication to construct multigeneblast databases from genbank divisionsmakendbapplication to construct raw nucleotide multigeneblast databases from user datamakegbndbapplication to construct raw nucleotide multigeneblast databases from genbank divisionsformat_embl.pyscript to generate embl input files from a genome sequence + gene annotations a user - friendly gui allows easy construction of databases and easy use of the program . ( a ) user - friendly selection of input files and databases .
( b ) direct download of genbank entries from ncbi and simple button to download multigeneblast - reformatted genbank database .
( c ) options to design databases from files , from online genbank entries or from entire genbank divisions .
( d ) link to the multigeneblast website with help pages , a tutorial , and various downloads .
the output consists of an interactive xhtml page , in which additional information on each gene appears on mouse - over or by clicking on a gene .
the first example output shown here displays a homology search for the coumermycin biosynthetic gene cluster , which identifies gene clusters encoding related compounds .
the second example output shows the power of an architecture search to find specific pathways : by using a query of a type iii polyketide synthase and a terpene cyclase , biosynthetic gene clusters encoding hybrid polyketide - terpene compounds are identified straightforwardly .
single alignments of the query gene clusters with any particular hit gene cluster can also be selected from a drop - down menu .
all gene cluster images are stored in svg format , so they can easily be transformed into publication - quality figures .
multigeneblast offers two distinct search modes :  homology search " and  architecture search . "
the homology search mode serves to find homologs of a known operon or gene cluster and , hence , is an extended version of a standard blast homology search .
the input for a homology search consists of an annotated genome sequence in gbk or embl format , together with the start and end locations spanning the query gene cluster or operon . alternatively to start and end sites , a list of genes can be provided that constitute the gene cluster , which has the advantage that specific genes within the gene cluster can be left out of the analysis . after running separate
blastp runs for each amino acid sequence encoded in the query genomic region , multigeneblast locates all hits on their parent nucleotide scaffolds in the database .
each nucleotide scaffold that received blastp / tblastn hits is then subdivided into genomic loci containing blastp / tblastn hits with a maximum mutual distance of a given number of kilobases .
the default value for this distance is 20 kb , a value which has been shown to work well for most bacterial gene clusters ( medema , blin , et al .
2011 ) , but higher values could work better for gene clusters in fungi and plants .
2011 ) , genomic loci are then sorted by an empirical similarity score s = h + i  s , in which h represents the number of query genes with blast hits of at least a user - specified sequence coverage and percentage identity to the query , s represents the number of contiguous gene pairs with conserved synteny , and i represents a weighting factor that determines the weight of the synteny in determining the score .
the default value for i is 0.5 , which gives the number of homologous genes twice the weight as the conservation of synteny .
if the obtained scores are equal , the loci are subsequently sorted by their cumulative blastp / tblastn bit scores .
when testing the algorithm on a number of ( semi-)manual gene cluster comparisons from the recent scientific literature , we observed that multigeneblast could replicate their results accurately , as well as identify additional homologous but compositionally distinct gene clusters ( supplementary file s2 , supplementary material online ) .
the architecture search mode differs from a standard homology search in that the query input consists not of a known genomic region but of a fasta file with multiple protein sequence entries , designed by the user .
thus , the user can search for all genomic loci containing a combination of certain genes within the same gene cluster
. this can be of great use , for example , when searching for gene clusters encoding specific metabolic pathways containing a specified combination of enzymatic steps .
multigeneblast is shipped with a database consisting of the translated amino acid sequences of all gene sequences in the genbank database ( december 12 , 2012 ) , reformatted with new fasta headers as stated earlier .
the first tool , makegbdb , allows the user to construct databases from a specified subset of the genbank subdivisions ( such as bct for bacteria and pln for plants ) .
the tool downloads the specified subdivisions from the ncbi ftp server and then parses them to generate a multigeneblast database .
the second tool , makedb , allows the user to construct databases from his / her own sequence data and takes as input a user - specified set of sequence files in gbk or embl format . for convenience , a script to generate embl files from nucleotide fasta files and gene annotations is also provided .
multigeneblast is the first full - fledged blast implementation that combines the input of multiple genes into a single query .
compared with previous tools for the comparative analysis of operons and gene clusters , multigeneblast offers a unique set of options ( table 2 ) . 

table 2.comparison of different software tools for gene cluster homology searches.softwareweb toolstand- alone toolnot restricted to precomputed datacan search entire genbank databasebased on multiple gene queriesallows input of personal sequence dataallows creation of custom databasesarchitecture search modecommand- line availableopen sourcemultigeneblastxxxxxxxxximgxedgarxabsyntexxpsatxxccgvxxxxxsynblastxxxx comparison of different software tools for gene cluster homology searches .
first , multigeneblast allows to create databases of any combination of published and unpublished data , including the user s personal sequence data .
as the costs of dna sequencing are continuously decreasing , more and more laboratories have large amounts of unpublished sequence data that need to be analyzed before online publication .
no tools have been published thus far that offer the possibility to select the user s own sequence data as both query and subject of the analysis .
the img framework , arguably the most popular tool for gene neighborhood analysis at the moment , by design does not allow any custom queries that are outside the precomputed database , nor does it offer the option to search against custom - designed databases .
in contrast , the user - friendly gui of multigeneblast makes it easy even for biologists with little or no bioinformatic expertise to design their own databases and search them with their own sequence data .
second , most existing tools do not allow searches against the entire genbank database but only against subsets of sequences ( usually whole genome sequences ) for which precomputed results have been obtained .
thousands of known and characterized gene clusters ( especially biosynthetic ones ) are not part of any whole - genome sequence but were instead cloned directly from the environment , or are part of a metagenomic data set , and are therefore not present in databases such as that of img .
multigeneblast , however , offers the opportunity to perform a truly exhaustive search to find all homologous genetic elements that are present in the current databases .
third , the architecture search mode is unique to multigeneblast and allows finding operons that are not similar to any operon known in advance by the user but instead contain homologs of a user - specified combination of genes . finally , unlike most available tools
, multigeneblast can be used from the command line and also generates a tab - delimited txt output , so it can easily be integrated in a larger computational pipeline . with relatively simple
scripting , large numbers of queries can thus be searched against one or more databases to perform higher - level bioinformatic analyses .
multigeneblast offers a simple and intuitive tool to perform comparative genomic analysis , facilitating functional inference and evolutionary studies of gene clusters encoding biomolecular machines or pathways .
a major application of multigeneblast is to get a quick overview of the biomolecular diversity of an entire genetic element in diverse organisms and to survey all the variants that have evolved . because multigeneblast does not just display the genomic neighborhoods of one single gene but finds genomic loci with a combination of any of a list of query genes , the output will contain variants of the query genomic region consisting of any subset of that region in any arrangement
this avoids the risk of missing variants that do not contain the query gene , in contrast to approaches based on single gene input .
when combining the list of identified gene cluster variants with phylogenetic information ( of either species or representative genes ) , the evolutionary history of a gene cluster can be reconstructed , which can give valuable insight into the biomolecular functions of the various components of the encoded system . based on patterns of evolutionary conservation ,
one can sometimes also get a better idea of which genes do and which genes do not belong to the gene cluster as a functional unit .
often , distinct subclusters with separate evolutionary histories together constitute a larger gene cluster ( fischbach et al .
a multigeneblast analysis of the entire gene cluster may reveal its fundamental architecture , through the identification of distinct patterns of conservation of various subsets of genes from the gene cluster .
. another important and promising application of the approach is to rapidly harvest gene parts for the synthetic biology design of biochemical pathways ( medema , breitling et al .
2011 ; medema et al . 2012 ) . when generating synthetic versions of a particular biochemical system for heterologous implementation in a pre - engineered host , it is of great importance to test multiple versions of the system to find the one that functions best in a particular organism ( bayer et al .
because multigeneblast can search the entire genbank database , as well as any personal sequence data that may be available , it can quickly and reliably be used to identify all extant versions of an operon or gene cluster in an exhaustive manner .
of course , many more applications of the tool are possible , as the colocalization of functionally related genes is a recurring evolutionary motif : multigeneblast provides a general search tool that can be exploited in a wide range of comparative genomics studies of homologous multigene units , by expert bioinformaticians and experimental biologists alike .
supplementary files s1 and s2 are available at molecular biology and evolution online ( http://www.mbe.oxfordjournals.org/ ) .
 the genes encoding many biomolecular systems and pathways are genomically organized in operons or gene clusters . with multigeneblast 
 , we provide a user - friendly and effective tool to perform homology searches with operons or gene clusters as basic units , instead of single genes . 
 the contextualization offered by multigeneblast allows users to get a better understanding of the function , evolutionary history , and practical applications of such genomic regions . 
 the tool is fully equipped with applications to generate search databases from genbank or from the user s own sequence data . 
 finally , an architecture search mode allows searching for gene clusters with novel configurations , by detecting genomic regions with any user - specified combination of genes . 
 sources , precompiled binaries , and a graphical tutorial of multigeneblast are freely available from http://multigeneblast.sourceforge.net/. 
Background and Rationale
Implementation of the Software
Two Distinct Search Modes
Creating Custom Databases for MultiGeneBlast
New Approaches
Practical Applications of MultiGeneBlast
Supplementary Material