U.S. flag

An official website of the United States government

Eukaryotic Annotated Genome Submission Guide


This guide gives a brief overview about submitting an annotated eukaryotic genome for GenBank, using the NCBI command line program table2asn (the replacement of tbl2asn). However, annotation is not required for genomes, so you can simply submit FASTA files as described in the Genome Submission Guide.

table2asn combines a simple five-column tab-delimited table of feature locations and qualifiers with the DNA sequence (in FASTA format) and the submitter information to generate a file for submission to GenBank. The format of this feature table allows different kinds of features (e.g., gene, mRNA, coding region, tRNA, repeat_region) and qualifiers (e.g., /product, /note) to be indicated. The validator will check for errors such as internal stops in coding regions. See the detailed annotation instructions for those details.

Guidelines for prokaryotic genome submissions.

If you have questions about creating your submission, please contact us by email at genomes@ncbi.nlm.nih.gov prior to creating your submission.

Table of Contents

  1. Obtain a locus_tag prefix
  2. Prepare FASTA-formatted sequence
  3. Annotation

  4. Creating the submission file using table2asn

  5. Submitting
  6. Updating existing genome submissions
  7. Examples

Obtain a locus_tag prefix

If you are submitting a genome with annotation, then you need to have a locus_tag prefix to use for the annotation, as described in the BioProject and BioSample sections of the genome submission guide.

FASTA-formatted sequence

Nucleotide sequences must be in FASTA format. As described in the genome submission guide, FASTA format consists of a single definition line, beginning with a '>' and followed by optional text, and subsequent lines of sequence. At minimum, all definition lines must contain an identifier for the sequence, called the SeqID. Other information about the biological source of the organism can also be encoded on the definition line of the sequence and is used to build the record.

A sample definition line is

>HTE831 [organism=Drosophila yakuba] [strain=HTE831]

Common source modifiers may be incorporated into the definition line e.g., [strain=HTE831]. Alternatively, these modifiers can be included in the table2asn command line with -j.

An example of a FASTA-formatted sequence is shown Figure 1 of Eukaryotic Genome Submission Examples

See the rules for genome sequences.


Annotation is optional for GenBank eukaryotic and prokaryotic genomes. However, if you choose to submit with annotation, then the features listed below are the minimum required annotation, although there are many additional features that can be included. It is our hope that the annotation present on any genome will evolve over time as more is known about the biology. In reviewing eukaryotic genome annotation, NCBI strives to ensure that the annotation is consistent throughout the submission and when compared to other genome submissions. We also strive to present information that is an accurate representation of the known biology. To do this we need your help. Please pay careful attention to the annotation instructions presented here and please review all your annotation before submitting your genome. Many genomes are annotated by automatic prediction programs and since these programs do make mistakes, it is up to all of us to try and ensure the information being presented is as accurate as possible. A summary of the required annotation is presented below, however please also refer to our detailed annotation instructions for our annotation expectations.

Required Annotation

  1. Genes

    • locus_tag
  2. Coding regions of known proteins

    • product (protein) names
    • protein_id
  3. mRNA features

    • transcript_id

Gene features

A gene is defined as a region of biological interest for which a name has been assigned. Gene features are always a single interval, and their location should cover the intervals of all the relevant features such as promoters and polyA binding sites. Gene names should follow the standard nomenclature rules of the particular organism. For example, mouse gene names begin with an uppercase letter, and the remaining letters are lowercase. Please refer to detailed annotation instructions for more information on genes.


The locus_tag is a systematic gene identifier that is assigned to each gene. The locus_tag must be unique for every gene of a genome. Each genome project (i.e. all chromosomes) should have the same unique locus_tag prefix to ensure that a locus_tag is specific for a particular genome project, which is why we require that the locus_tag prefix be registered. In addition, genes may also have functional names as assigned in the scientific literature. For example, KCS_0001 is the systematic gene identifier, while Abc5 is the functional gene name. The locus_tag prefix should be 3-12 alphanumeric characters and the first character may not be a digit. Additionally locus_tag prefixes are case-sensitive. The locus_tag prefix is followed by an underscore and then an alphanumeric identification number that is unique within the given genome. Other than the single underscore used to separate the prefix from the identification number, no special characters can be used in the locus_tag. Read more about locus_tags and their intended usage. Please refer to detailed annotation instructions for how to incorporate locus_tags into your annotation table.

CDS (coding region) features

The CDS feature is used to define a protein coding region. All CDS features must have a product qualifier (protein name), protein_id and transcript_id. For the product, use a concise name, not a description or phrase. Alternatively, protein names may be denoted by the same symbol as the corresponding gene with the appropriate capitalization for the organism. In cases where the protein is not known use "hypothetical protein" or "uncharacterized protein" as the product name. Note that when either of those is used, the locus_tag identifier is appended to the product name in BLAST and Entrez summary lines. Our detailed annotation instructions contain instructions and examples on naming your proteins as well as including additional CDS qualifiers such as EC_numbers, protein functions, descriptive and similarity notes.


The submitter must assign an identification number to all proteins. NCBI uses this number to track proteins when sequences are updated. This number is indicated in the table by the CDS qualifier protein_id, and should have the format gnl|dbname|string, where dbname is a version of your lab name that you think will be unique (e.g., SmithUCSD), and string is the unique protein SeqID assigned by the submitter.

The protein_id is used for internal tracking in our database, so it is important that the complete protein_id (dbname + SeqID) not be duplicated by a genome center. Note that when WGS submissions are processed, the dbname in the protein_id is automatically changed to 'WGS:XXXXXX', where XXXXXX is the project's accession number prefix. Please see detailed annotation instructions.

mRNA features

The submitter must include an mRNA feature for each translated CDS and extend the gene feature to include the entire mRNA. Additionally, the mRNA must have the same product name, protein_id and transcript_id as its corresponding CDS. Each mRNA feature can be either partial or complete. If there is no UTR information, then the mRNA's location will agree with its CDS's location, but the mRNA will be partial at its 5' and 3' ends. If the mRNA is partial, then make the gene partial.

Our detailed annotation instructions contain examples for including complete and partial mRNA features.


The submitter must also include a transcript_id qualifier. The transcript_id is used for internal tracking in our database, so it is important to include a transcript_id as a qualifier for both the CDS and its corresponding mRNA. Each transcript_id must be unique and different from the protein_id. Please see detailed annotation instructions.

Creating the submission file using table2asn

The submission file can be generated using table2asn (the replacement of tbl2asn). table2asn is a simple command line program that uses input files to create the ASN file for submission. The newest version is available by anonymous FTP. See the Genome Submission Guide for specific information on generating a genome submission.

The sequence(s) must be in FASTA format, and the annotation must be in either the five column tab-delimited feature table format or in GenBank-specific GFF format. See the appropriate page to ensure that you have formatted the annotation correctly:

table2asn reads a template along with the sequence and annotation files, and outputs ASN.1 for submission to GenBank. To automatically recognize the annotation file, table2asn requires that the annotation file have the same basename as the fasta file. For example, the FASTA-formatted sequence file has ".fsa" as an extension, and the five column tab-delimited table file has ".tbl" as an extension.

See the table2asn instructions at:

  • .sqn instructions section of the Genome Submission Guide for .tbl files
  • Run table2asn section of the Annotating Genomes with GFF3 or GTF files page for GenBank-specific GFF/GTF files

Be sure to check the output of the validation and discrepancy reports and fix any problems, as described

Once the errors have been fixed, the .sqn files can be submitted to GenBank.


Genomes are submitted to us via the Submission Portal, as described in the genome submission guide

Updating a genome

See the Updating Information on GenBank Genome Records page for information about updating various aspects of a genome assembly.

For example, when a complete genome or chromosome is updated, the proteins should be tracked to the update. To do this, proteins from the original submission that are present in the update must have the same identifiers that were used in the original submission, plus the accession numbers that were assigned when the submission was loaded into GenBank. These identifiers are included in the protein_id of the update in this format:


where the dbname and SeqID are the values used in the original submission, and the accession number was assigned by GenBank.

When your genome is released, we will supply you with a table that has each protein SeqID and protein accession number, so that you can use those in future updates. If you did not receive this table and need to update your genome, contact us at genomes@ncbi.nlm.nih.gov prior to the preparation of your submission.

Support Center

Last updated: 2024-04-23T18:13:40Z