BACKGROUND
recently, there has been much interest in the use of large, concatenated multiple sequence alignments  for phylogenetic analysis  <cit> .
such datasets have been shown to be useful in resolving difficult phylogenetic questions with a high degree of confidence.
by combining the phylogenetic signal from multiple genes, clades can be recovered that are not recovered under analysis of any of the individual genes.
additionally, genes evolving at different rates may offer resolution at different phylogenetic levels.
large-scale phylogenetic analyses of the type described above place a heavy burden of sequence acquisition, dataset assembly and dataset storage on the researcher.
sequences corresponding to the genes of interest must be obtained from public databases and orthology assigned.
where multiple sequences are available for a given gene in a species  a consensus sequence must be derived.
the sequences for each gene must then be aligned before being added to a concatenated alignment file, which may also contain commands necessary to partition the data.
the forest of trees resulting from subsequent phylogenetic analysis must be associated with the relevant datasets, analysis parameters and confidence metrics.
with these tasks in mind we have developed an integrated solution, taxman.
taxman reduces this curatorial burden by automatically assembling and storing large aligned sequence datasets, and also storing metadata and trees resulting from phylogenetic analysis.
because of the high level of automation offered by taxman, datasets can be rebuilt rapidly to include new sequence data.
implementation
taxman is written in perl  and makes extensive use of modules from the bioperl project  <cit> .
postgresql, a relational database management system , is used to store data.
taxman makes use of many freely available bioinformatics tools; see the user guide  for a complete list and details of how to obtain them.
the steps required to build a database of aligned genes are threefold; sequence acquisition, consensus derivation and alignment.
figure  <dig> gives an overview of the taxman workflow.
database construction
taxman extracts dna sequence data from genbank format  <cit>  files on the basis of either annotation or sequence similarity to a database of identified genes.
the ncbi entrez service  <cit>  allows a user to quickly select sequences from a given taxonomic group for download, and to filter out large records  that may cause problems.
curated genome-scale datasets of coding sequences can be included by downloading them from the relevant genome database.
the user must supply a pre-defined list the genes for which they wish to extract records, and, for each, a list of synonyms – for example, cytochrome oxidase subunit  <dig> is variously annotated as 'cox1', 'co1', 'coi', etc.
when extracting sequence data based on annotation, taxman reads each genbank record from a file and examines all features tagged as 'cds' or 'rrna'.
features with annotation matching that of one of the genes of interest are stored.
to extract records on the basis of similarity, the user must supply a datasets of sequences known to be members of the target gene set.
this dataset can be generated automatically from a genbank format file.
taxman uses blast  <cit>  to identify sequences with significant similarity to known representatives of the gene set.
sequences extracted on the basis of annotation are referred to as 'annotated sequences'; those extracted on the basis of sequence similarity are referred to as 'screened sequences'.
screened sequences are normally ests, but may also be full length cdss that were not annotated, or genomic fragments.
by extracting and storing only sequence data that are of interest, taxman can cope with extremely large input datasets .
taxman assumes that all sequences with a given user-assigned gene name are orthologues, and a single definitive sequence is derived for each gene in each species.
users must take care to specify synonyms for genes in which they can be confident of orthology.
a simple rule-based approach is used, whereby sequences from fully sequenced genomes are preferred over "annotated" sequences, which are preferred over "screened" sequences.
where multiple sequences of the same type are available, phrap  <cit>  is used to generate a consensus sequence which is stored in the database.
annotation in genbank may contain errors, and these measures are designed to minimise their effect.
for each species, metadata derived from the genbank accession, including the unique 'taxid' identifying the species of origin, are also stored.
all a priori taxonomic information stored in taxman is extracted from the ncbi taxonomic database  <cit> .
although the ncbi taxonomy is not an authoritative source, it is the framework within which sequences are stored, and is the only complete source of information regarding the relationships between the taxa that are represented in genbank.
support for alternative taxonomies is a possible future feature of taxman .
for each gene, consensus sequences from all taxa are aligned using poa  <cit> .
poa performs global multiple sequence alignment which, in preliminary testing, was found to cope well with partial sequences that are often found in datasets assembled by taxman.
other alignment programs can be used with relatively straightforward changes to the program code.
the alignment process is different for protein-coding and rrna genes.
for protein-coding genes, all "annotated" sequences are translated to protein based on the genbank-annotated start and stop codons and the protein sequences aligned.
the dna sequences are then back-aligned on the protein alignment using the transeq program from the emboss package  <cit> .
finally, the "screened" sequences are added to the dna alignment.
the individual aligned protein sequences and aligned dna sequences are stored in the database.
for rna genes, all sequences are aligned simultaneously and the aligned sequences stored as dna.
importantly, taxman does not carry out any type of alignment quality control; alignments should be checked either manually or using an objective score function such as normd  <cit> .
manual inspection of alignments will also uncover any erroneous sequences introduced by incorrect genbank annotations.
output of datasets for phylogenetic analysis
once a set of aligned sequences has been generated and stored, taxman can produce concatenated multiple sequence alignment files containing subsets of genes and taxa  in a partitioned format suitable for phylogenetic analysis.
slices can be specified manually by the user, or taxman can select slices automatically by including a chosen number of representatives from each group at a given taxonomic level, determined using the ncbi taxonomy.
specifying a slice in this way allows an alignment to be produced that has wide taxonomic sampling while keeping the total number of taxa computationally tractable.
taxman produces alignments in nexus, phylip and fasta file formats, suitable for analysis with a range of phylogenetic software packages.
alignments output from taxman in nexus format contain character set commands partitioning the alignment by gene and by codon position.
storing the results of phylogenetic analysis
taxman can also store trees resulting from phylogenetic analysis.
the structure of a tree is stored in the form of individual nodes, which allows storage of branch lengths and support values, along with links to species data for the terminal nodes.
by storing multiple data types together in a database, genbank records, consensus sequences, aligned sequences, alignments and trees can be collected in one place and much record-keeping taken care of automatically.
RESULTS
taxman was used to assemble a dataset for seventeen loci, including mitochondrial protein-coding  and ribosomal rna genes , and nuclear ribosomal rna genes , from the subphylum chelicerata.
approximately  <dig>  annotated corenucleotide records and  <dig>  est records were downloaded from the ncbi genbank database using entrez  <cit> .
taxman extracted  <dig>  annotated sequences and  <dig>  screened sequences using a chelicerate mitochondrial genome blast database.
<dig>  species were included, representing  <dig> classes,  <dig> orders and  <dig> families.
<dig>  consensus sequences were generated  and aligned.
at this point, subsets of genes and taxa were specified and concatenated alignment files generated for phylogenetic analysis.
for example, a slice was automatically specified that contained all genes and  <dig> representative species per order, selecting taxa with the most sequence available.
the alignment file resulting from this slice was analysed to investigate the relationships between the chelicerate orders  <cit> .
the process took approximately two hours  on a linux server .
discussion
we envisage the target users of taxman as researchers with experience of phylogenetics who are interested in assembling and curating a large set of aligned sequences and resulting trees for a taxonomic group for multiple-gene phylogeny.
using taxman, the user can assemble a large dataset of aligned dna and protein sequences for multiple genes much more quickly and more completely than could be achieved manually.
it can cope with very large input datasets and also facilitates selection of taxa for analysis and curation of phylogenetic results.
other phylogenetics software packages do not fulfil the role of taxman.
some packages carry out a single step in the phylogenetic process  but lack integration.
arb  <cit>  is a computing environment for phylogenetic analysis of dna sequences, originally developed for rna genes, but it cannot cope with multiple genes or construct consensus sequences.
treeblaster  <cit>  gathers sequence data based on blast similarity and uses phylogenetic software tools to construct a tree, but cannot use multiple genes, select sets of sequences for analysis, build consensus sequences or store phylogenetic results.
the arthropodan mitochondrial genomes accessible database  produces concatenated alignments for multiple genes, but requires that slices are specified prior to alignment, resulting in much greater processing times.
taxman is limited by design in two main ways; firstly, it is incapable of storing multiple reference taxonomies, instead taking the ncbi taxonomy as a base.
secondly, it assumes that a single consensus sequence is to be generated for each locus in each species, making it unsuitable for sampling from gene families, or from populations from within species .
planned future directions for taxman include support for multiple taxonomies and for multiple sequences per locus.
a mechanism allowing users to easily exclude sequences that have been incorrectly identified would be of benefit – currently, sequences must be deleted manually from the database.
routines for automatic orthology assignment, a significant problem in its own right, could also be included.
the ability of taxman to store multiple phylogenetic trees for a given set of terminal taxa opens up additional possibilities for automated tree comparison tools.
CONCLUSIONS
there are many scenarios in which researchers might want to assemble a dataset of aligned dna or protein sequences with a view to phylogenetic analysis.
current approaches require assembling such datasets manually or, at best, using software tools that lack integration.
taxman greatly facilitates the various steps required for a multigene phylogenetic study by extracting sequences from public databases, building and aligning consensus sequences, choosing sets of data for analysis and storing the results of analysis.
by using a relational database to store data, along with existing bioinformatics tools and a perl framework, taxman allows large datasets to be assembled extremely rapidly and with full data provenance, allowing the user to concentrate on the analysis.
availability and requirements
project name: taxman
project home page:
operating system: linux
programming language: perl
other requirements: bioperl , cpan, postgresql , blast , emboss , phrap , poa
license: gnu gpl
restrictions: none
authors' contributions
mj wrote and documented the software and wrote the manuscript.
mb assisted with design and testing of the software and writing of the manuscript, and supervised the project.
both authors read and approved the manuscript.
supplementary material
additional file 1
taxman.
the taxman software package
click here for file
additional file 2
taxman user guide.
user guide for the taxman software package
click here for file
acknowledgements
mj was supported by a bbsrc studentship.
we thank chris jiggins for beta testing and many helpful suggestions.

 recently, there has been much interest in the use of large, concatenated multiple sequence alignments for phylogenetic analysis. such datasets have been shown to be useful in resolving difficult phylogenetic questions with a high degree of confidence. by combining the phylogenetic signal from multiple genes, clades can be recovered that are not recovered under analysis of any of the individual genes. additionally, genes evolving at different rates may offer resolution at different phylogenetic levels. large-scale phylogenetic analyses of the type described above place a heavy burden of sequence acquisition, dataset assembly and dataset storage on the researcher. sequences corresponding to the genes of interest must be obtained from public databases and orthology assigned. where multiple sequences are available for a given gene in a species a consensus sequence must be derived. the sequences for each gene must then be aligned before being added to a concatenated alignment file, which may also contain commands necessary to partition the data. the forest of trees resulting from subsequent phylogenetic analysis must be associated with the relevant datasets, analysis parameters and confidence metrics. with these tasks in mind we have developed an integrated solution, taxman. taxman reduces this curatorial burden by automatically assembling and storing large aligned sequence datasets, and also storing metadata and trees resulting from phylogenetic analysis. because of the high level of automation offered by taxman, datasets can be rebuilt rapidly to include new sequence data. implementation taxman is written in perl and makes extensive use of modules from the bioperl project. postgresql, a relational database management system, is used to store data. taxman makes use of many freely available bioinformatics tools; see the user guide for a complete list and details of how to obtain them. the steps required to build a database of aligned genes are threefold; sequence acquisition, consensus derivation and alignment. figure gives an overview of the taxman workflow. database construction taxman extracts dna sequence data from genbank format files on the basis of either annotation or sequence similarity to a database of identified genes. the ncbi entrez service allows a user to quickly select sequences from a given taxonomic group for download, and to filter out large records that may cause problems. curated genome-scale datasets of coding sequences can be included by downloading them from the relevant genome database. the user must supply a pre-defined list the genes for which they wish to extract records, and, for each, a list of synonyms – for example, cytochrome oxidase subunit is variously annotated as'cox1','co1','coi', etc. when extracting sequence data based on annotation, taxman reads each genbank record from a file and examines all features tagged as'cds' or'rrna'. features with annotation matching that of one of the genes of interest are stored. to extract records on the basis of similarity, the user must supply a datasets of sequences known to be members of the target gene set. this dataset can be generated automatically from a genbank format file. taxman uses blast to identify sequences with significant similarity to known representatives of the gene set. sequences extracted on the basis of annotation are referred to as'annotated sequences'; those extracted on the basis of sequence similarity are referred to as'screened sequences'. screened sequences are normally ests, but may also be full length cdss that were not annotated, or genomic fragments. by extracting and storing only sequence data that are of interest, taxman can cope with extremely large input datasets. taxman assumes that all sequences with a given user-assigned gene name are orthologues, and a single definitive sequence is derived for each gene in each species. users must take care to specify synonyms for genes in which they can be confident of orthology. a simple rule-based approach is used, whereby sequences from fully sequenced genomes are preferred over "annotated" sequences, which are preferred over "screened" sequences. where multiple sequences of the same type are available, phrap is used to generate a consensus sequence which is stored in the database. annotation in genbank may contain errors, and these measures are designed to minimise their effect. for each species, metadata derived from the genbank accession, including the unique'taxid' identifying the species of origin, are also stored. all a priori taxonomic information stored in taxman is extracted from the ncbi taxonomic database. although the ncbi taxonomy is not an authoritative source, it is the framework within which sequences are stored, and is the only complete source of information regarding the relationships between the taxa that are represented in genbank. support for alternative taxonomies is a possible future feature of taxman. for each gene, consensus sequences from all taxa are aligned using poa. poa performs global multiple sequence alignment which, in preliminary testing, was found to cope well with partial sequences that are often found in datasets assembled by taxman. other alignment programs can be used with relatively straightforward changes to the program code. the alignment process is different for protein-coding and rrna genes. for protein-coding genes, all "annotated" sequences are translated to protein based on the genbank-annotated start and stop codons and the protein sequences aligned. the dna sequences are then back-aligned on the protein alignment using the transeq program from the emboss package. finally, the "screened" sequences are added to the dna alignment. the individual aligned protein sequences and aligned dna sequences are stored in the database. for rna genes, all sequences are aligned simultaneously and the aligned sequences stored as dna. importantly, taxman does not carry out any type of alignment quality control; alignments should be checked either manually or using an objective score function such as normd. manual inspection of alignments will also uncover any erroneous sequences introduced by incorrect genbank annotations. output of datasets for phylogenetic analysis once a set of aligned sequences has been generated and stored, taxman can produce concatenated multiple sequence alignment files containing subsets of genes and taxa in a partitioned format suitable for phylogenetic analysis. slices can be specified manually by the user, or taxman can select slices automatically by including a chosen number of representatives from each group at a given taxonomic level, determined using the ncbi taxonomy. specifying a slice in this way allows an alignment to be produced that has wide taxonomic sampling while keeping the total number of taxa computationally tractable. taxman produces alignments in nexus, phylip and fasta file formats, suitable for analysis with a range of phylogenetic software packages. alignments output from taxman in nexus format contain character set commands partitioning the alignment by gene and by codon position. storing the results of phylogenetic analysis taxman can also store trees resulting from phylogenetic analysis. the structure of a tree is stored in the form of individual nodes, which allows storage of branch lengths and support values, along with links to species data for the terminal nodes. by storing multiple data types together in a database, genbank records, consensus sequences, aligned sequences, alignments and trees can be collected in one place and much record-keeping taken care of automatically.  taxman was used to assemble a dataset for seventeen loci, including mitochondrial protein-coding and ribosomal rna genes, and nuclear ribosomal rna genes, from the subphylum chelicerata. approximately annotated corenucleotide records and est records were downloaded from the ncbi genbank database using entrez. taxman extracted annotated sequences and screened sequences using a chelicerate mitochondrial genome blast database. species were included, representing classes, orders and families. consensus sequences were generated and aligned. at this point, subsets of genes and taxa were specified and concatenated alignment files generated for phylogenetic analysis. for example, a slice was automatically specified that contained all genes and representative species per order, selecting taxa with the most sequence available. the alignment file resulting from this slice was analysed to investigate the relationships between the chelicerate orders. the process took approximately two hours on a linux server. discussion we envisage the target users of taxman as researchers with experience of phylogenetics who are interested in assembling and curating a large set of aligned sequences and resulting trees for a taxonomic group for multiple-gene phylogeny. using taxman, the user can assemble a large dataset of aligned dna and protein sequences for multiple genes much more quickly and more completely than could be achieved manually. it can cope with very large input datasets and also facilitates selection of taxa for analysis and curation of phylogenetic results. other phylogenetics software packages do not fulfil the role of taxman. some packages carry out a single step in the phylogenetic process but lack integration. arb is a computing environment for phylogenetic analysis of dna sequences, originally developed for rna genes, but it cannot cope with multiple genes or construct consensus sequences. treeblaster gathers sequence data based on blast similarity and uses phylogenetic software tools to construct a tree, but cannot use multiple genes, select sets of sequences for analysis, build consensus sequences or store phylogenetic results. the arthropodan mitochondrial genomes accessible database produces concatenated alignments for multiple genes, but requires that slices are specified prior to alignment, resulting in much greater processing times. taxman is limited by design in two main ways; firstly, it is incapable of storing multiple reference taxonomies, instead taking the ncbi taxonomy as a base. secondly, it assumes that a single consensus sequence is to be generated for each locus in each species, making it unsuitable for sampling from gene families, or from populations from within species. planned future directions for taxman include support for multiple taxonomies and for multiple sequences per locus. a mechanism allowing users to easily exclude sequences that have been incorrectly identified would be of benefit – currently, sequences must be deleted manually from the database. routines for automatic orthology assignment, a significant problem in its own right, could also be included. the ability of taxman to store multiple phylogenetic trees for a given set of terminal taxa opens up additional possibilities for automated tree comparison tools.  there are many scenarios in which researchers might want to assemble a dataset of aligned dna or protein sequences with a view to phylogenetic analysis. current approaches require assembling such datasets manually or, at best, using software tools that lack integration. taxman greatly facilitates the various steps required for a multigene phylogenetic study by extracting sequences from public databases, building and aligning consensus sequences, choosing sets of data for analysis and storing the results of analysis. by using a relational database to store data, along with existing bioinformatics tools and a perl framework, taxman allows large datasets to be assembled extremely rapidly and with full data provenance, allowing the user to concentrate on the analysis. availability and requirements project name: taxman project home page: operating system: linux programming language: perl other requirements: bioperl, cpan, postgresql, blast, emboss, phrap, poa license: gnu gpl restrictions: none authors' contributions mj wrote and documented the software and wrote the manuscript. mb assisted with design and testing of the software and writing of the manuscript, and supervised the project. both authors read and approved the manuscript. supplementary material additional file 1 taxman. the taxman software package click here for file additional file 2 taxman user guide. user guide for the taxman software package click here for file acknowledgements mj was supported by a bbsrc studentship. we thank chris jiggins for beta testing and many helpful suggestions.
additionally, sequence curation, alignment and assessment of the results of phylogenetic analysis are made particularly difficult by the potential for a given gene in a given species to be unrepresented, or to be represented by multiple or partial sequences. by extracting sequences on the basis of both annotation and blast similarity, it ensures that all available sequence data can be brought to bear on a phylogenetic problem, but remains fast enough to cope with many thousands of records. we have developed a software package, taxman, that largely automates the processes of sequence acquisition, consensus building, alignment and taxon selection to facilitate this type of phylogenetic study. our results indicate that an automated phylogenetic workbench can be a useful tool when correctly guided by user knowledge. supermatrices can yield more phylogenetic signal than individual genes. by using the stored aligned sequences, large concatenated multiple sequence alignments can be generated rapidly for a subset and output in analysis-ready file formats. by automatically assisting in the selection of the best subset of taxa to address a particular phylogenetic problem, taxman greatly speeds up the process of generating multiple sequence alignments for phylogenetic analysis. sequences are extracted from the genbank files on the basis of annotation and sequence similarity. however, manually assembling such datasets for a large taxonomic group is time-consuming and error-prone. phylogenetic analysis of large, multiple-gene datasets, assembled from public sequence databases, is rapidly becoming a popular way to approach difficult phylogenetic problems. trees resulting from phylogenetic analysis can be stored and compared with a reference taxonomy. taxman can automatically determine the best subset of taxa to examine phylogeny at a given taxonomic level.
 phylogenetic analysis of large, multiple-gene datasets, assembled from public sequence databases, is rapidly becoming a popular way to approach difficult phylogenetic problems. supermatrices can yield more phylogenetic signal than individual genes. however, manually assembling such datasets for a large taxonomic group is time-consuming and error-prone. additionally, sequence curation, alignment and assessment of the results of phylogenetic analysis are made particularly difficult by the potential for a given gene in a given species to be unrepresented, or to be represented by multiple or partial sequences. we have developed a software package, taxman, that largely automates the processes of sequence acquisition, consensus building, alignment and taxon selection to facilitate this type of phylogenetic study.  taxman uses freely available tools to allow rapid assembly, storage and analysis of large, aligned dna and protein sequence datasets for user-defined sets of species and genes. the user provides genbank format files and a list of gene names and synonyms for the loci to analyse. sequences are extracted from the genbank files on the basis of annotation and sequence similarity. consensus sequences are built automatically. alignment is carried out and aligned sequences are stored in a database. taxman can automatically determine the best subset of taxa to examine phylogeny at a given taxonomic level. by using the stored aligned sequences, large concatenated multiple sequence alignments can be generated rapidly for a subset and output in analysis-ready file formats. trees resulting from phylogenetic analysis can be stored and compared with a reference taxonomy.  taxman allows rapid automated assembly of a multigene datasets of aligned sequences for large taxonomic groups. by extracting sequences on the basis of both annotation and blast similarity, it ensures that all available sequence data can be brought to bear on a phylogenetic problem, but remains fast enough to cope with many thousands of records. by automatically assisting in the selection of the best subset of taxa to address a particular phylogenetic problem, taxman greatly speeds up the process of generating multiple sequence alignments for phylogenetic analysis. our results indicate that an automated phylogenetic workbench can be a useful tool when correctly guided by user knowledge. 