Stockholm format

From Wikipedia, the free encyclopedia
Stockholm format
Filename extensions
.sto, .stk
Internet media type
Developed byErik Sonnhammers
Type of formatBioinformatics
Open format?yes

Stockholm format is a multiple sequence alignment format used by Pfam, Rfam and Dfam, to disseminate protein, RNA and DNA sequence alignments.[1][2][3] The alignment editors Ralee,[4] Belvu and Jalview support Stockholm format as do the probabilistic database search tools, Infernal and HMMER, and the phylogenetic analysis tool Xrate. Stockholm format files often have the filename extension .sto or .stk.[5]


A well-formed stockholm file always contains a header which states the format and version identifier, currently '# STOCKHOLM 1.0'. The header is then followed by a multiple lines, a mix of markup (starting with #) and sequences. Finally, the "//" line indicates the end of the alignment.

An example without markup looks like:

<seqname> <aligned sequence>
<seqname> <aligned sequence>
<seqname> <aligned sequence>

Sequences are written one per line. The sequence name is written first, and after any number of whitespaces the sequence is written. Sequence names are typically in the form "name/start-end" or just "name". Sequence letters may include any characters except whitespace. Gaps may be indicated by "." or "-".

Mark-up lines start with #. The "parameters" are separated by whitespace, so an underscore ("_") instead of space should be used for the 1-char-per-column markups. Mark-up types defined include:

#=GF <feature> <Generic per-File annotation, free text>
#=GC <feature> <Generic per-Column annotation, exactly 1 char per column>
#=GS <seqname> <feature> <Generic per-Sequence annotation, free text>
#=GR <seqname> <feature> <Generic per-Residue annotation, exactly 1 char per residue>

Recommended features[edit]

These feature names are used by Pfam and Rfam for specific types of annotation. (See the Pfam and the Rfam documentation under "Description of fields")


Pfam and Rfam may use the following tags:

   Compulsory fields:
   AC   Accession number:           Accession number in form PFxxxxx (Pfam) or RFxxxxx (Rfam).
   ID   Identification:             One word name for family.
   DE   Definition:                 Short description of family.
   AU   Author:                     Authors of the entry.
   SE   Source of seed:             The source suggesting the seed members belong to one family.
   SS   Source of structure:        The source (prediction or publication) of the consensus RNA secondary structure used by Rfam.
   BM   Build method:               Command line used to generate the model
   SM   Search method:              Command line used to perform the search
   GA   Gathering threshold:        Search threshold to build the full alignment.
   TC   Trusted Cutoff:             Lowest sequence score (and domain score for Pfam) of match in the full alignment.
   NC   Noise Cutoff:               Highest sequence score (and domain score for Pfam) of match not in full alignment.
   TP   Type:                       Type of family -- presently Family, Domain, Motif or Repeat for Pfam.
                                                   -- a tree with roots Gene, Intron or Cis-reg for Rfam.
   SQ   Sequence:                   Number of sequences in alignment.

   Optional fields:
   DC   Database Comment:           Comment about database reference.
   DR   Database Reference:         Reference to external database.
   RC   Reference Comment:          Comment about literature reference.
   RN   Reference Number:           Reference Number.
   RM   Reference Medline:          Eight digit medline UI number.
   RT   Reference Title:            Reference Title.
   RA   Reference Author:           Reference Author
   RL   Reference Location:         Journal location.
   PI   Previous identifier:        Record of all previous ID lines.
   KW   Keywords:                   Keywords.
   CC   Comment:                    Comments.
   NE   Pfam accession:		    Indicates a nested domain.
   NL   Location:                   Location of nested domains - sequence ID, start and end of insert.
   WK   Wikipedia link:             Wikipedia page
   CL   Clan:                       Clan accession
   MB   Membership:                 Used for listing Clan membership

   For embedding trees:
   NH  New Hampshire                A tree in New Hampshire eXtended format.
   TN  Tree ID                      A unique identifier for the next tree.

   FR False discovery Rate:         A method used to set the bit score threshold based on the ratio of 
                                    expected false positives to true positives. Floating point number between 0 and 1.
   CB Calibration method:           Command line used to calibrate the model (Rfam only, release 12.0 and later)
  • Notes: A tree may be stored on multiple #=GF NH lines.
  • If multiple trees are stored in the same file, each tree must be preceded by a #=GF TN line with a unique tree identifier. If only one tree is included, the #=GF TN line may be omitted.


Rfam and Pfam may use these features:

      Feature                    Description
      ---------------------      -----------
      AC <accession>             ACcession number
      DE <freetext>              DEscription
      DR <db>; <accession>;      Database Reference
      OS <organism>              Organism (species)
      OC <clade>                 Organism Classification (clade, etc.)
      LO <look>                  Look (Color, etc.)


      Feature   Description            Markup letters
      -------   -----------            --------------
      SS        Secondary Structure    For RNA [.,;<>(){}[]AaBb.-_] --supports pseudoknot and further structure markup (see WUSS documentation) 
                                       For protein [HGIEBTSCX]
      SA        Surface Accessibility  [0-9X] 
                    (0=0%-10%; ...; 9=90%-100%)
      TM        TransMembrane          [Mio]
      PP        Posterior Probability  [0-9*] 
                    (0=0.00-0.05; 1=0.05-0.15; *=0.95-1.00)
      LI        LIgand binding         [*]
      AS        Active Site            [*]
     pAS        AS - Pfam predicted    [*]
     sAS        AS - from SwissProt    [*]
      IN        INtron (in or after)   [0-2]
     For RNA tertiary interactions:
     tWW       WC/WC        in trans   For basepairs: [<>AaBb...Zz]  For unpaired: [.]
     cWH       WC/Hoogsteen in cis
     cWS       WC/SugarEdge in cis
     tWS       WC/SugarEdge in trans
     notes: (1) {c,t}{W,H,S}{W,H,S} for general format. 
            (2) cWW is equivalent to SS.


The list of valid features includes those shown below, as well as the same features as for #=GR with "_cons" appended, meaning "consensus". Example: "SS_cons".

      Feature   Description            Description
      -------   -----------            --------------
      RF        ReFerence annotation   Often the consensus RNA or protein sequence is used as a reference
                                       Any non-gap character (e.g. x's) can indicate consensus/conserved/match columns
                                       .'s or -'s indicate insert columns
                                       ~'s indicate unaligned insertions
                                       Upper and lower case can be used to discriminate strong and weakly conserved 
                                       residues respectively
      MM        Model Mask             Indicates which columns in an alignment should be masked, such
                                       that the emission probabilities for match states corresponding to
                                       those columns will be the background distribution.


  • Do not use multiple lines with the same #=GC label.
  • For a single sequence, do not use multiple lines with the same #=GR label. Only one unique feature assignment can be made for each sequence.
  • "X" in SA and SS means "residue with unknown structure".
  • The protein SS letters are taken from DSSP: H=alpha-helix, G=3/10-helix, I=p-helix, E=extended strand, B=residue in isolated b-bridge, T=turn, S=bend, C=coil/loop.)
  • The RNA SS letters are taken from WUSS (Washington University Secondary Structure) notation. Matching nested parentheses characters <>, (), [], or {} indicate a basepair. The symbols '.', ',' and ';' indicate unpaired regions. Matched upper and lower case characters from the English alphabet indicate pseudoknot interactions. The 5' nucleotide within the knot should be in uppercase and the 3' nucleotide lowercase.

Recommended placements[edit]

  • #=GF Above the alignment
  • #=GC Below the alignment
  • #=GS Above the alignment or just below the corresponding sequence
  • #=GR Just below the corresponding sequence

Size limits[edit]

There are no explicit size limits on any field. However, a simple parser that uses fixed field sizes should work safely on Pfam and Rfam alignments with these limits:

  • Line length: 10000.
  • <seqname>: 255.
  • <feature>: 255.


A simple example of an Rfam alignment (UPSK RNA) with a pseudoknot in Stockholm format is shown below:[6]

#=GF SE    Predicted; Infernal 
#=GF SS    Published; PMID 9223489
#=GF RN    [1]
#=GF RM    9223489
#=GF RT    The role of the pseudoknot at the 3' end of turnip yellow mosaic
#=GF RT    virus RNA in minus-strand synthesis by the viral RNA-dependent RNA
#=GF RT    polymerase.
#=GF RA    Deiman BA, Kortlever RM, Pleij CW;
#=GF RL    J Virol 1997;71:5990-5996.

AF035635.1/619-641             UGAGUUCUCGAUCUCUAAAAUCG
M24804.1/82-104                UGAGUUCUCUAUCUCUAAAAUCG
J04373.1/6212-6234             UAAGUUCUCGAUCUUUAAAAUCG
M24803.1/1-23                  UAAGUUCUCGAUCUCUAAAAUCG
#=GC SS_cons                   .AAA....<<<<aaa....>>>>

Here is a slightly more complex example showing the Pfam CBS domain:

#=GF AC PF00571
#=GF DE CBS domain
#=GF AU Bateman A
#=GF CC CBS domains are small intracellular modules mostly found
#=GF CC in 2 or four copies within a protein.
#=GF SQ 5
#=GS O31698/18-71 AC O31698
#=GS O83071/192-246 AC O83071
#=GS O83071/259-312 AC O83071
#=GS O31698/88-139 AC O31698
#=GS O31698/88-139 OS Bacillus subtilis
#=GR O83071/192-246 SA  9998877564535242525515252536463774777
#=GR O31699/88-139 AS   ________________*____________________
#=GR O31699/88-139 IN   ____________1____________2______0____

See also[edit]


  1. ^ Gardner PP, Daub J, Tate JG, Nawrocki EP, Kolbe DL, Lindgreen S, et al. (January 2009). "Rfam: updates to the RNA families database". Nucleic Acids Research. 37 (Database issue): D136–D140. doi:10.1093/nar/gkn766. PMC 2686503. PMID 18953034.
  2. ^ Finn RD, Tate J, Mistry J, Coggill PC, Sammut SJ, Hotz HR, et al. (January 2008). "The Pfam protein families database". Nucleic Acids Research. 36 (Database issue): D281–D288. doi:10.1093/nar/gkm960. PMC 2238907. PMID 18039703.
  3. ^ Storer J, Hubley R, Rosen J, Wheeler TJ, Smit AF (January 2021). "The Dfam community resource of transposable element families, sequence models, and genome annotations". Mobile DNA. 12 (1): 2. doi:10.1186/s13100-020-00230-y. PMC 7805219. PMID 33436076.
  4. ^ Griffiths-Jones S (January 2005). "RALEE--RNA ALignment editor in Emacs". Bioinformatics. 21 (2): 257–259. doi:10.1093/bioinformatics/bth489. PMID 15377506.
  5. ^ "Alignment Fileformats". 22 May 2019. Retrieved 22 May 2019.
  6. ^ Deiman BA, Kortlever RM, Pleij CW (August 1997). "The role of the pseudoknot at the 3' end of turnip yellow mosaic virus RNA in minus-strand synthesis by the viral RNA-dependent RNA polymerase". Journal of Virology. 71 (8): 5990–5996. doi:10.1128/JVI.71.8.5990-5996.1997. PMC 191855. PMID 9223489.

External links[edit]