- Open Access
AutoFACT: An Auto matic F unctional A nnotation and C lassification T ool
BMC Bioinformatics volume 6, Article number: 151 (2005)
Assignment of function to new molecular sequence data is an essential step in genomics projects. The usual process involves similarity searches of a given sequence against one or more databases, an arduous process for large datasets.
We present AutoFACT, a fully automated and customizable annotation tool that assigns biologically informative functions to a sequence. Key features of this tool are that it (1) analyzes nucleotide and protein sequence data; (2) determines the most informative functional description by combining multiple BLAST reports from several user-selected databases; (3) assigns putative metabolic pathways, functional classes, enzyme classes, GeneOntology terms and locus names; and (4) generates output in HTML, text and GFF formats for the user's convenience. We have compared AutoFACT to four well-established annotation pipelines. The error rate of functional annotation is estimated to be only between 1–2%. Comparison of AutoFACT to the traditional top-BLAST-hit annotation method shows that our procedure increases the number of functionally informative annotations by approximately 50%.
AutoFACT will serve as a useful annotation tool for smaller sequencing groups lacking dedicated bioinformatics staff. It is implemented in PERL and runs on LINUX/UNIX platforms. AutoFACT is available at http://megasun.bch.umontreal.ca/Software/AutoFACT.htm.
Automatic functional annotation is essential for high-throughput sequencing projects. Typically, large datasets undergo annotation by means of "annotation jamborees", where groups of experts are assigned to manually annotate a designated portion of an organism's genome. More recently, various tools have become available to streamline this process [1–9]. However, limitations encountered with these tools are that many require web-submission of data , need substantial manual intervention [1, 4], supply only a single output format, are part of a large sequence analysis package  and most importantly, do not combine a broad range of information resources. To address these shortcomings, we developed a new annotation pipeline, which we term "AutoFACT".
Unique to AutoFACT, is its hierarchal filtering system for determining the most informative functional annotation. This paper describes AutoFACT's functional assignment capabilities, outlining the procedure for annotating unknown nucleotide or protein sequence data. We assess the validity of AutoFACT by comparing annotations to four previously annotated and phylogenetically diverse organisms, including human, yeast and both eukaryotic and bacterial pathogens. AutoFACT has been applied to the EST sequencing project of Acanthamoeba castellanii, a free-living soil amoeba and opportunistic human pathogen. This example highlights AutoFACT's performance, which yields a ~50% increase in functional annotations over a top-BLAST-hit approach against NCBI's non-redundant database or against UniProt's expert-annotated UniRef90 database.
AutoFACT is a command-line-driven program written in PERL for LINUX/UNIX operating systems. It uses BioPerl  modules to parse and analyze BLAST  reports. Average annotation time is 2.5 hours for 5000 sequences of approximately 500 bp in length on a desktop workstation (BLAST time not included). A web version of AutoFACT is available where users can submit up to 10 sequences at a time for annotation. For large sequencing projects, it is recommended that the user download and install the local version of AutoFACT.
AutoFACT takes a single FASTA-formatted sequence file as input, automatically recognizes the sequence type as nucleotide or protein and proceeds to ask the user for preferences regarding which databases to use, the order of database importance and bit score cutoff. The bit score is a measure of sequence similarity independent of the size of the database used (unlike E-values). It is derived from the raw alignment score in which the statistical properties of the scoring system used have been taken into account. Bit scores are normalized with respect to the scoring system and hence can be used to compare alignment scores from different searches . Each sequence in the FASTA-formatted file is then assigned to one of six annotation classes: (1) Ribosomal RNA (rRNA), (2) [Functionally annotated] protein, (3) Unassigned protein, (4) [Domain name]-containing protein, (5) Unknown EST (when using EST data) or (6) Unclassified (Table 1, Figure 1).
AutoFACT assigns classification information, based on a hierarchal system, from a collection of specialized resources, currently nine databases (Table 2), using BLAST comparison . Since not all descriptions from top BLAST hits are genuinely informative, AutoFACT adopts the "uninformative rule" , by which the highest scoring BLAST hit with a biologically informative description is considered informative.
Figure 1 outlines the AutoFACT methodology. When analyzing nucleotide data, AutoFACT begins by using BLAST to search the nucleotide sequences in the input file against the set of user-specified databases. If a match to the rRNA dataset is found with a minimum match length and percent sequence identity (default: 50 bp and 84% identity), the sequence is classified as a "ribosomal RNA". If no match is found the sequence is then searched against the remaining set of user-specified databases. In step 2 (or step 1 for protein data), description lines of significant hits, based on a user-specified bit score cutoff (default <40), are examined for the presence of functionally uninformative terms such as 'hypothetical', 'unknown', 'chromosome', etc. When a hit contains an uninformative term, the next best hit is scrutinized and so forth, until a description line without uninformative terms is found, e.g. 'proton-transporting ATP synthase'. The user specifies the number of top BLAST hits the program should filter. In step 3, a search for common terms among the informative hits from each database is performed. For annotation transfer, the user specifies a database order of importance so that informative terms from the first database are searched against informative terms from the remaining databases in a given order. For example, if the user specifies the database order as UniRef90, nr, KEGG and COG, informative terms in the informative hit from UniRef90 are first searched for matches to the informative hits from the other databases. If a match is found between at least one informative term from the UniRef90 hit and at least one other informative database hit (e.g., 'proton-transporting ATP synthase' matches 'H+-pumping ATP synthase'), the description line of the UniRef90 hit is assigned to the input sequence. If there are no matches to UniRef90 terms, the informative terms from the informative hit of the next database (nr, in this example) are then queried in the same way as above, until a functionally informative description line has been assigned to the sequence.
We prefer to use UniRef90 as the first database in the order of importance for two reasons. First, as a member of UniProt it is one of the better annotated and curated of the available databases. Second, because UniProt entries with 90% sequence similarity are combined into a single record, the description lines are species-independent and tend to be more general in their descriptions. On the other hand, description lines from NCBI's nr database are often several lines long and contain repetitive information. Testing showed that using various database combinations does not significantly change the annotation results. A user's choice of db order is therefore dependent on the format of the description line one would prefer to assign to the sequence in question (Table 3).
AutoFACT proceeds to step 4 when there are no common informative terms between any of the databases, or when only uninformative hits are found. In this step, a sequence with significant similarity to one or more sequences in the Pfam or SMART databases is classified as a ' [domain name]-containing' protein or a 'multi-domain-containing protein'. A sequence containing no domains is simply classified as an 'unassigned protein'.
A sequence is also classified as a ' [domain name]-containing protein' when the only significant hit is to a domain database. It is considered 'unclassified' when no hits are found to any of the specified databases. When EST sequences are being annotated, the last step in the annotation pipeline is to check the sequence against NCBI's est_others database. If a significant match is found, the sequence is classified as an 'unknown EST'; otherwise it remains 'unclassified'.
In step 5, functionally annotated sequences are then classified according to KEGG pathways, COG functional groups, Enzyme Commission (EC) numbers, GeneOntology (GO) terms and locus names. Putative KEGG pathways are assigned if an informative term from the automatically assigned description line matches a term in the informative KEGG hit. The same reasoning is used to assign putative COG functional categories. EC numbers  are assigned in one of two ways, either from parsing the KEGG description line or by mapping the accession number of the informative UniRef hit to an enzyme via ExPASy's enzyme.dat file . GO terms are assigned by mapping the UniRef accession number of the informative hit via the gene_association.goa_uniprot file .
Three different output formats are generated by AutoFACT: HTML web pages (Figure 2) for easy viewing and browsing, a General Feature Format (GFF) file  to facilitate data transfer to the user's private database and a simple tab-delimited text file for easy data extraction and manipulation. A log file is also generated to document all decision-making steps in the annotation process.
To assess the validity of AutoFACT annotations, we compared results for 200 randomly chosen cDNA sequences across four previously annotated and phylogenetically diverse organisms: i) Homo sapiens, annotated by the Ensembl Annotation Pipeline ; ii) Saccharomyces cerevisiae, annotated by MIPS/PEDANT [18, 19]; iii) Plasmodium falciparum, annotated by The Institute For Genomic Research (TIGR) ; and iv) Rickettsia prowazekii, previously annotated by GeneQuiz . We used AutoFACT's default values and considered hits to genes from the same species as uninformative. Figure 3 compares the annotation results of 200 randomly chosen sequences for each species/pipeline.
Comparison of Human Ensembl annotations to AutoFACT revealed no significant differences in annotation assignments. There were 2/200 (1%) sequences that AutoFACT annotated as 'unassigned protein', either because the only BLAST hits were to other human sequences or because the informative terms could not be matched across database sources. Had we been less strict in our annotation criteria and considered hits to the same species as informative, AutoFACT would then have assigned the same annotations as Ensembl to these two sequences. The high similarity between annotation results is primarily due to the fact that the source of most of the Ensembl annotations is UniProt/SWISSPROT, which AutoFACT also uses via UniRef90, the database of highest importance in the AutoFACT database order.
AutoFACT and PEDANT annotations for a set of 200 cDNAs differed by 5% (10/200). We examined the original annotations for these 10 sequences in the expertly curated Saccharomyces Genome Database (SGD). Because AutoFACT considered hits to Saccharomyces cerevisiae as 'uninformative', 6/10 sequences were classified as ' [domain name]-containing proteins'. We do not consider these annotations to be false positives, merely less specific annotations. In 1/10 of the assignments, AutoFACT was better than PEDANT (Table 4). The remaining 3/10 annotations are considered to be false positives, suggesting an overall error rate of 1.5% (3/200).
We compared TIGR's preliminary annotations for a set of 200 Plasmodium falciparum cDNAs to annotations generated by AutoFACT. TIGR's preliminary annotations are automatically assigned by searching nucleotide and protein databases for "good" matches. At this preliminary stage, none of the annotations are examined or verified by human annotators. We found that between the two fully automatic pipelines, 4% (8/200) of the annotations differed, half of which were annotated by AutoFACT as ' [domain name]-containing proteins' (Table 5). Because TIGR's preliminary annotations have not been examined by human annotators, we cannot estimate the % false positives in this instance.
AutoFACT annotations for Rickettsia prowazekii  were compared to annotations previously assigned by GeneQuiz ([5, 22]). AutoFACT differed from GeneQuiz annotations at 4.5% (9/200) of the sequences, yet differed only by 1% (2/200) from the more accurate original annotations , which are based on human inspection and include phylogenetic information. GeneQuiz estimates an overall error rate of 2.5–5%, which is confirmed in our comparison here (Table 6). Based on these automatic annotation results, AutoFACT is the more accurate of the two pipelines, with an error rate of only 1%.
Case Study: Acanthamoeba castellanii
AutoFACT is currently used by the Protist EST Program (PEP) , a pan-Canadian genomics initiative involving investigators at six Canadian universities. The objective of PEP is to survey, through EST sequencing, the expressed portions of the genomes of a phylogenetically comprehensive selection of protists (30–40 of these mostly unicellular eukaryotes).
Under the PEP initiative, 12,937 individual EST reads yielding 5,130 clusters (consensus sequences) have been obtained to date for A. castellanii. We compared AutoFACT annotations for these clusters to annotations taken from top BLASTx hits against NCBI's nr database and from top BLASTx hits against UniProt's well-annotated UniRef90 database. AutoFACT compared the A. castellanii sequences against a total of seven databases. UniRef90, KEGG, COG and NCBI's nr were searched using BLASTx ; Pfam and SMART were searched using RPS-BLAST; and NCBI's est_others database was searched using tBLASTx. In each instance, a bit score cutoff of 40 was used and the top 10 BLAST hits were filtered for uninformative terms. The database order of importance was UniRef90, KEGG, COG, NCBI's nr. Figure 4 shows an ~50% increase in functionally informative annotations with AutoFACT (58% informative hits) compared to the quick and easy top-BLAST-hit approach (~ 32%). Scanning the top 10 hits for informative terms in AutoFACT's UniRef90 source alone results in a 10% increase in informative annotations over the top-BLAST-hit approach against both nr and UniRef90. This result demonstrates the power of the "uninformative rule" alone. As such there is a significant decrease (from 19% to 6%) in 'uninformative' hits when using AutoFACT. By searching against the domain databases Pfam and SMART, AutoFACT reduces the number of 'no hits found' by approximately 10% in comparison to the datasets annotated by the top-BLAST-hit approach.
AutoFACT annotations for each organism mentioned above can be viewed at http://megasun.bch.umontreal.ca/Software/AutoFACT.htm
To efficiently and fully exploit the wealth of sequence data currently available, thorough and informative functional annotations are paramount. Considering the ever-growing number of EST sequencing projects, it becomes increasingly important to fully automate the annotation process and to make optimal use of the various available annotation resources and databases. Because no two annotation systems are exactly alike, choice of system is very much dependent on the user's end goal.
AutoFACT uses a hierarchal filtering system for determining the most informative functional annotation. It provides a means of classification by identifying EC numbers, KEGG pathways, COG functional classes and GeneOntology terms. AutoFACT supplies three different output formats and a log file, which are versatile and adaptable to user requirements. Importantly, it allows users to maintain data locally, whereas many other systems require sequence submission elsewhere for annotation. By combining multiple resources, AutoFACT associates sequences with a broad range of biological classifications and has proven to be very powerful for annotating both EST and protein sequence data. The A. castellanii case study shows that in comparison to the 'quick and easy' top-BLAST-hit approach against either NCBI's nr or UniProt's UniRef databases, AutoFACT substantially improves functional annotations of sequence data. Comparisons to other well-established annotation pipelines show that AutoFACT performs equally well and in some cases better than the alternative. We have also demonstrated that AutoFACT exhibits an equivalent level of performance (1–2% error rate) when it is used to annotate sequences across different domains of life.
Finally, we caution that over-prediction is common when using sequence similarity to infer protein function. Examples of similar sequences that do not share the same or even related functions have been documented . Automatic annotations therefore may require further validation in certain cases.
Availability and requirements
Project name: AutoFACT
Project homepage: http://megasun.bch.umontreal.ca/Software/AutoFACT.htm
Operating system(s): LINUX/UNIX
Programming language: PERL
Other requirements: BioPerl and BLAST
License: GNU General Public License (GPL)
Any restrictions to use by non-academics: None
Almeida LG, Paixao R, Souza RC, Da Costa GC, Barrientos FJ, Dos Santos MT, De Almeida DF, Vasconcelos AT: A system for automated bacterial (genome) integrated annotation--SABIA. Bioinformatics 2004.
Ayoubi P, Jin X, Leite S, Liu X, Martajaja J, Abduraham A, Wan Q, Yan W, Misawa E, Prade RA: PipeOnline 2.0: automated EST processing and functional data sorting. Nucleic Acids Res 2002, 30: 4761–4769. 10.1093/nar/gkf585
Buerstedde JM, Prill F: FOUNTAIN: a JAVA open-source package to assist large sequencing projects. BMC Bioinformatics 2001, 2: 6. 10.1186/1471-2105-2-6
Wyman SK, Jansen RK, Boore JL: Automatic annotation of organellar genomes with DOGMA. Bioinformatics 2004, 20: 3252–3255. 10.1093/bioinformatics/bth352
Andrade MA, Brown NP, Leroy C, Hoersch S, de Daruvar A, Reich C, Franchini A, Tamames J, Valencia A, Ouzounis C, Sander C: Automated genome sequence analysis and annotation. Bioinformatics 1999, 15: 391–412. 10.1093/bioinformatics/15.5.391
Abascal F, Valencia A: Automatic annotation of protein function based on family identification. Proteins 2003, 53: 683–692. 10.1002/prot.10449
Birney E, Clamp M, Durbin R: GeneWise and Genomewise. Genome Res 2004, 14: 988–995. 10.1101/gr.1865504
Curwen V, Eyras E, Andrews TD, Clarke L, Mongin E, Searle SM, Clamp M: The Ensembl automatic gene annotation system. Genome Res 2004, 14: 942–950. 10.1101/gr.1858004
Moller S, Leser U, Fleischmann W, Apweiler R: EDITtoTrEMBL: a distributed approach to high-quality automated protein sequence annotation. Bioinformatics 1999, 15: 219–227. 10.1093/bioinformatics/15.3.219
NCBI BLAST. www.ncbi.nih.gov/BLAST
NCBI Education BLAST info Glossary. www.ncib.nlm.nih.gov/Education/BLASTinfo/glossary2.html
Altschul SF, Gish W, Miller W, Myers EW, Lipman DJ: Basic local alignment search tool. J Mol Biol 1990, 215: 403–410. 10.1006/jmbi.1990.9999
Barrett AJ: Nomenclature Committee of the International Union of Biochemistry and Molecular Biology (NC-IUBMB). Enzyme Nomenclature. Recommendations 1992. Supplement 4: corrections and additions (1997). Eur J Biochem 1997, 250: 1–6. 10.1111/j.1432-1033.1997.0269a.x
Gasteiger E, Gattiker A, Hoogland C, Ivanyi I, Appel RD, Bairoch A: ExPASy: The proteomics server for in-depth protein knowledge and analysis. Nucleic Acids Res 2003, 31: 3784–3788. 10.1093/nar/gkg563
Camon E, Magrane M, Barrell D, Lee V, Dimmer E, Maslen J, Binns D, Harte N, Lopez R, Apweiler R: The Gene Ontology Annotation (GOA) Database: sharing knowledge in Uniprot with Gene Ontology. Nucleic Acids Res 2004, 32 Database issue: D262–6. 10.1093/nar/gkh021
GFF: An exchange format for Feature Description. www.sanger.ac.uk/Software/GFF
Frishman D, Albermann K, Hani J, Heumann K, Metanomski A, Zollner A, Mewes HW: Functional and structural genomics using PEDANT. Bioinformatics 2001, 17: 44–57. 10.1093/bioinformatics/17.1.44
Frishman D, Mokrejs M, Kosykh D, Kastenmuller G, Kolesov G, Zubrzycki I, Gruber C, Geier B, Kaps A, Albermann K, Volz A, Wagner C, Fellenberg M, Heumann K, Mewes HW: The PEDANT genome database. Nucleic Acids Res 2003, 31: 207–211. 10.1093/nar/gkg005
Gardner MJ, Hall N, Fung E, White O, Berriman M, Hyman RW, Carlton JM, Pain A, Nelson KE, Bowman S, Paulsen IT, James K, Eisen JA, Rutherford K, Salzberg SL, Craig A, Kyes S, Chan MS, Nene V, Shallom SJ, Suh B, Peterson J, Angiuoli S, Pertea M, Allen J, Selengut J, Haft D, Mather MW, Vaidya AB, Martin DM, Fairlamb AH, Fraunholz MJ, Roos DS, Ralph SA, McFadden GI, Cummings LM, Subramanian GM, Mungall C, Venter JC, Carucci DJ, Hoffman SL, Newbold C, Davis RW, Fraser CM, Barrell B: Genome sequence of the human malaria parasite Plasmodium falciparum. Nature 2002, 419: 498–511. 10.1038/nature01097
Andersson SG, Zomorodipour A, Andersson JO, Sicheritz-Ponten T, Alsmark UC, Podowski RM, Naslund AK, Eriksson AS, Winkler HH, Kurland CG: The genome sequence of Rickettsia prowazekii and the origin of mitochondria. Nature 1998, 396: 133–140. 10.1038/24094
GeneQuiz; Rickettsia prowazekii. http://jura.ebi.ac.uk:8765/ext-genequiz/genomes/rp0006
PEPdb Pub; The Protist EST Database. http://amoebidia.bcm.umontreal.ca/public/pepdb/agrm.php
Kurosky A BDRLTHTBHREAMSBBHFWM: Covalent structure of human haptoglobin: a serine protease homolog. Proc Natl Acad Sci U S A 1980, 77: 3388–3392.
Wuyts J, Perriere G, Van De Peer Y: The European ribosomal RNA database. Nucleic Acids Res 2004, 32: D101–3. 10.1093/nar/gkh065
Apweiler R, Bairoch A, Wu CH, Barker WC, Boeckmann B, Ferro S, Gasteiger E, Huang H, Lopez R, Magrane M, Martin MJ, Natale DA, O'Donovan C, Redaschi N, Yeh LS: UniProt: the Universal Protein knowledgebase. Nucleic Acids Res 2004, 32 Database issue: D115–9. 10.1093/nar/gkh131
Tatusov RL, Fedorova ND, Jackson JD, Jacobs AR, Kiryutin B, Koonin EV, Krylov DM, Mazumder R, Mekhedov SL, Nikolskaya AN, Rao BS, Smirnov S, Sverdlov AV, Vasudevan S, Wolf YI, Yin JJ, Natale DA: The COG database: an updated version includes eukaryotes. BMC Bioinformatics 2003, 4: 41. 10.1186/1471-2105-4-41
Tatusov RL, Koonin EV, Lipman DJ: A genomic perspective on protein families. Science 1997, 278: 631–637. 10.1126/science.278.5338.631
Kanehisa M: A database for post-genome analysis. Trends Genet 1997, 13: 375–376. 10.1016/S0168-9525(97)01223-7
Kanehisa M, Goto S: KEGG: kyoto encyclopedia of genes and genomes. Nucleic Acids Res 2000, 28: 27–30. 10.1093/nar/28.1.27
Bateman A, Coin L, Durbin R, Finn RD, Hollich V, Griffiths-Jones S, Khanna A, Marshall M, Moxon S, Sonnhammer EL, Studholme DJ, Yeats C, Eddy SR: The Pfam protein families database. Nucleic Acids Res 2004, 32 Database issue: D138–41. 10.1093/nar/gkh121
Schultz J, Milpetz F, Bork P, Ponting CP: SMART, a simple modular architecture research tool: identification of signaling domains. Proc Natl Acad Sci U S A 1998, 95: 5857–5864. 10.1073/pnas.95.11.5857
National Center for Biotechnology Information. [http://www.ncbi.nlm.nih.gov]
This work has been conducted in the context of the Protist EST Program (PEP) and is supported by Genome Canada/Atlantic/Quebec. We thank Eric Wang and Pierre Rioux for their suggestions and script testing. Thank you to Amy Hauth for her critique of the manuscript and ever-helpful discussions, to Emmet O'Brien and Beatrice Roure for their useful feedback and to BioneQ for access to their high-performance computer cluster. Computer resources financed by a grant from the Canadian Institutes of Health Research (CIHR, grant # MOP15331) have also been used in this work.
LBK designed, developed and implemented AutoFACT. MWG provided the Acanthamoeba castellanii data used to test and validate AutoFACT. GB and BFL supervised the study, making significant design contributions. All authors read and approved the final manuscript.
About this article
Cite this article
Koski, L.B., Gray, M.W., Lang, B.F. et al. AutoFACT: An Auto matic F unctional A nnotation and C lassification T ool. BMC Bioinformatics 6, 151 (2005). https://doi.org/10.1186/1471-2105-6-151
- Enzyme Commission Number
- Saccharomyces Genome Database
- Acanthamoeba Castellanii
- Protein Sequence Data
- Informative Term