AutoFACT: An Automatic Functional Annotation and Classification Tool

Background 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. Results 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%. Conclusion 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 .


Background
Automatic functional annotation is essential for highthroughput 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][2][3][4][5][6][7][8][9]. However, limitations encountered with these tools are that many require websubmission of data [2], need substantial manual interven-tion [1,4], supply only a single output format, are part of a large sequence analysis package [3] 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.

Implementation
AutoFACT is a command-line-driven program written in PERL for LINUX/UNIX operating systems. It uses BioPerl [10] modules to parse and analyze BLAST [11] 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 Auto-FACT 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.

Methodology
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 [12]. Each sequence in the FASTA-formatted file is then assigned to one of six annotation classes: (1) Ribosomal RNA (rRNA), (2) 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 [13]. Since not all descriptions from top BLAST hits are genuinely informative, AutoFACT adopts the "uninformative rule" [5], 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 AutoFACT methodology Figure 1 AutoFACT methodology. Sequences are classified into one of six annotation categories (purple boxes). The user decides which bit score cutoff to use (default 40) before a BLAST hit is considered significant. For database references, see text. 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., 'protontransporting 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 Uni-Prot 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 [14] 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 [15]. GO terms are assigned by mapping the UniRef accession number of the informative hit via the gene_association.goa_uniprot file [16].
Three different output formats are generated by Auto-FACT: HTML web pages ( Figure 2) for easy viewing and browsing, a General Feature Format (GFF) file [17] 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.

Validation
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 [8]; ii) Saccharomyces cerevisiae, annotated by MIPS/PEDANT [18,19]; iii) Plasmodium falciparum, annotated by The Institute For Genomic Research (TIGR) [20]; and iv) Rickettsia prowazekii, previously annotated by GeneQuiz [5]. 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.

Homo sapiens [Ensembl]
Comparison of Human Ensembl annotations to Auto-FACT revealed no significant differences in annotation assignments. There were 2/200 (1%) sequences that Auto-FACT 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.

Saccharomyces cerevisiae [MIPS/PEDANT]
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).

Plasmodium falciparum [TIGR]
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 Sample HTML output for AutoFACT annotation of Acanthamoeba castellanii EST cluster ACL00000152 Figure 2 Sample HTML output for AutoFACT annotation of Acanthamoeba castellanii EST cluster ACL00000152. Automatic annotation results are displayed at the top of the page and all data used to infer the annotation are represented in the bottom part of the table. Percent sequence identity is the extent to which two (nucleotide or amino acid) sequences, in a High Scoring Segment Pair (HSP), are invariant. In the case of the est_others data, the reported % sequence identity refers to a "translated nucleotide -translated nucleotide" comparison. The "Informative Hit" value specifies whether the first, second, etc., BLAST hit in the corresponding database was informative. The "Color Key for Alignment Scores" displayed at the top of the diagram is from NCBI's BLAST Results page. The scores for the annotation and for the source of the annotation, 627 in this example, are highlighted according to the color key. The page also contains links to relevant database entries.
by human annotators, we cannot estimate the % false positives in this instance.

Rickettsia prowazekii [GeneQuiz]
AutoFACT annotations for Rickettsia prowazekii [21] 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 [21], 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) [23], a pan-Canadian genomics initiative involving investigators at six Canadian universities. The objective of Annotations in bold are the same as the original annotations found in the Saccharomyces Genome Database. AutoFACT annotations marked with an asterisk (*) are considered false positives. 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.

Conclusion
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 pro-     AutoFACT annotation is similar AutoFACT annotation is 'Unassigned protein' AutoFACT annotation differs

Plasmodium falciparum [TIGR]
Rickettsia prowazekii [GeneQuiz] 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 [24]. Automatic annotations therefore may require further validation in certain cases.