| showfeat

## Function

Show features of a sequence

## Description

Showfeat reads a protein or nucleic sequence and its feature table, and writes a text representation of the features to standard output.

## Usage

Here is a sample session with showfeat

    % showfeat
    Show features of a sequence.
    Input sequence(s): tembl:hsfau1
    Output file [hsfau1.showfeat]:

Go to the input files for this example
Go to the output files for this example

Example 2

Display 'joined' features on one line with positions:

    % showfeat -sort join -pos
    Show features of a sequence.
    Input sequence(s): tembl:hsfau1
    Output file [hsfau1.showfeat]:

Go to the output files for this example

Example 3

Display just positions and names of CDS features - this can be used as a regions file in showseq:

    % showfeat -matchtype CDS -width 0 -noid -nodesc -noscale -pos
    Show features of a sequence.
    Input sequence(s): tembl:hsfau1
    Output file [hsfau1.showfeat]:

Go to the output files for this example

## Command line arguments

       Mandatory qualifiers:
      [-sequence]          seqall     Sequence database USA
      [-outfile]           outfile    If you enter the name of a file here then
                                      this program will write the feature details
                                      into that file.

       Optional qualifiers:
       -matchsource        string     By default any feature source in the feature
                                      table is shown. You can set this to match
                                      any feature source you wish to show.
                                      The source name is usually either the name
                                      of the program that detected the feature or
                                      it is the feature table (eg: EMBL) that the
                                      feature came from.
                                      The source may be wildcarded by using '*'.
                                      If you wish to show more than one source,
                                      separate their names with the character '|',
                                      eg:
                                      gene* | embl
       -matchtype          string     By default any feature type in the feature
                                      table is shown. You can set this to match
                                      any feature type you wish to show.
                                      See http://www3.ebi.ac.uk/Services/WebFeat/
                                      for a list of the EMBL feature types and see
                                      Appendix A of the Swissprot user manual in
                                      http://www.expasy.ch/txt/userman.txt for a
                                      list of the Swissprot feature types.
                                      The type may be wildcarded by using '*'.
                                      If you wish to show more than one type,
                                      separate their names with the character '|',
                                      eg:
                                      *UTR | intron
       -matchtag           string     Tags are the types of extra values that a
                                      feature may have. For example in the EMBL
                                      feature table, a 'CDS' type of feature may
                                      have the tags '/codon', '/codon_start',
                                      '/db_xref', '/EC_number', '/evidence',
                                      '/exception', '/function', '/gene',
                                      '/label', '/map', '/note', '/number',
                                      '/partial', '/product', '/protein_id',
                                      '/pseudo', '/standard_name', '/translation',
                                      '/transl_except', '/transl_table', or
                                      '/usedin'. Some of these tags also have
                                      values, for example '/gene' can have the
                                      value of the gene name.
                                      By default any feature tag in the feature
                                      table is shown. You can set this to match
                                      any feature tag you wish to show.
                                      The tag may be wildcarded by using '*'.
                                      If you wish to show more than one tag,
                                      separate their names with the character '|',
                                      eg:
                                      gene | label
       -matchvalue         string     Tag values are the values associated with a
                                      feature tag. Tags are the types of extra
                                      values that a feature may have. For example
                                      in the EMBL feature table, a 'CDS' type of
                                      feature may have the tags '/codon',
                                      '/codon_start', '/db_xref', '/EC_number',
                                      '/evidence', '/exception', '/function',
                                      '/gene', '/label', '/map', '/note',
                                      '/number', '/partial', '/product',
                                      '/protein_id', '/pseudo', '/standard_name',
                                      '/translation', '/transl_except',
                                      '/transl_table', or '/usedin'. Only some of
                                      these tags can have values, for example
                                      '/gene' can have the value of the gene name.
                                      By default any feature tag value in the
                                      feature table is shown. You can set this to
                                      match any feature tag valueyou wish to show.
                                      The tag value may be wildcarded by using
                                      '*'.
                                      If you wish to show more than one tag value,
                                      separate their names with the character
                                      '|', eg:
                                      pax* | 10
       -sort               menu       Sort features by Type, Start or Source,
                                      Nosort (don't sort - use input order) or
                                      join coding regions together and leave other
                                      features in the input order

       Advanced qualifiers:
       -html               boolean    Use HTML formatting
       -[no]id             boolean    Set this to be false if you do not wish to
                                      display the ID name of the sequence.
       -[no]description    boolean    Set this to be false if you do not wish to
                                      display the description of the sequence.
       -[no]scale          boolean    Set this to be false if you do not wish to
                                      display the scale line.
       -width              integer    You can expand (or contract) the width of
                                      the ASCII-character graphics display of the
                                      positions of the features using this value.
                                      For example, a width of 80 characters would
                                      cover a standard page width and a width a 10
                                      characters would be nearly unreadable.
                                      If the width is set to less than 4, the
                                      graphics lines and the scale line will not
                                      be displayed.
       -collapse           boolean    If this is set, then features from the same
                                      source and of the same type and sense are
                                      all printed on the same line. For instance
                                      if there are several features from the EMBL
                                      feature table (ie. the same source) which
                                      are all of type 'exon' in the same sense,
                                      then they will all be displayed on the same
                                      line. This makes it hard to distinguish
                                      overlapping features.
                                      If this is set to false then each feature is
                                      displayed on a separate line making it
                                      easier to distinguish where features start
                                      and end.
       -[no]forward        boolean    Set this to be false if you do not wish to
                                      display forward sense features.
       -[no]reverse        boolean    Set this to be false if you do not wish to
                                      display reverse sense features.
       -[no]unknown        boolean    Set this to be false if you do not wish to
                                      display unknown sense features. (ie.
                                      features with no directionality - all
                                      protein features are of this type and some
                                      nucleic features (for example, CG-rich
                                      regions)).
       -strand             boolean    Set this if you wish to display the strand
                                      of the features. Protein features are always
                                      directionless (indicated by '0'), forward
                                      is indicated by '+' and reverse is '-'.
       -source             boolean    Set this if you wish to display the source
                                      of the features.
                                      The source name is usually either the name
                                      of the program that detected the feature or
                                      it is the name of the feature table (eg:
                                      EMBL) that the feature came from.
       -position           boolean    Set this if you wish to display the start
                                      and end position of the features. If several
                                      features are being displayed on the same
                                      line, then the start and end positions will
                                      be joined by a comma, for example:
                                      '189-189,225-225'.
       -[no]type           boolean    Set this to be false if you do not wish to
                                      display the type of the features.
       -tags               boolean    Set this to be false if you do not wish to
                                      display the tags and values of the features.
       -[no]values         boolean    Set this to be false if you do not wish to
                                      display the tag values of the features. If
                                      this is set to be false, only the tag names
                                      will be displayed. If the tags are not
                                      displayed, then the values will not be
                                      displayed. The value of the 'translation'
                                      tag is never displayed as it is often
                                      extremely long.
       -stricttags         boolean    By default if any tag/value pair in a
                                      feature matches the specified tag and value,
                                      then all the tags/value pairs of that
                                      feature will be displayed. If this is set to
                                      be true, then only those tag/value pairs in
                                      a feature that match the specified tag and
                                      value will be displayed.

       Associated qualifiers:
      "-sequence" related qualifiers
       -sbegin1             integer    First base used
       -send1               integer    Last base used, def=seq length
       -sreverse1           boolean    Reverse (if DNA)
       -sask1               boolean    Ask for begin/end/reverse
       -snucleotide1        boolean    Sequence is nucleotide
       -sprotein1           boolean    Sequence is protein
       -slower1             boolean    Make lower case
       -supper1             boolean    Make upper case
       -sformat1            string     Input sequence format
       -sopenfile1          string     Input filename
       -sdbname1            string     Database name
       -sid1                string     Entryname
       -ufo1                string     UFO features
       -fformat1            string     Features format
       -fopenfile1          string     Features file name
      "-outfile" related qualifiers
       -odirectory2         string     Output directory

       General qualifiers:
       -auto                boolean    Turn off prompts
       -stdout              boolean    Write standard output
       -filter              boolean    Read standard input, write standard output
       -options             boolean    Prompt for required and optional values
       -debug               boolean    Write debug output to program.dbg
       -acdlog              boolean    Write ACD processing log to program.acdlog
       -acdpretty           boolean    Rewrite ACD file as program.acdpretty
       -acdtable            boolean    Write HTML table of options
       -verbose             boolean    Report some/full command line options
       -help                boolean    Report command line options. More
                                      information on associated and general
                                      qualifiers can be found with -help -verbose
       -warning             boolean    Report warnings
       -error               boolean    Report errors
       -fatal               boolean    Report fatal errors
       -die                 boolean    Report deaths

Mandatory qualifiers | Allowed values | Default
--- | --- | ---
[-sequence] (Parameter 1) | Sequence database USA | Readable sequence(s) | Required
[-outfile] (Parameter 2) | If you enter the name of a file here then this program will write the feature details into that file. | Output file | <sequence>.showfeat
Optional qualifiers | Allowed values | Default
-matchsource | By default any feature source in the feature table is shown. You can set this to match any feature source you wish to show. The source name is usually either the name of the program that detected the feature or it is the feature table (eg: EMBL) that the feature came from. The source may be wildcarded by using '*'. If you wish to show more than one source, separate their names with the character '|', eg: gene* | embl | Any string is accepted | *
-matchtype | By default any feature type in the feature table is shown. You can set this to match any feature type you wish to show. See http://www3.ebi.ac.uk/Services/WebFeat/ for a list of the EMBL feature types and see Appendix A of the Swissprot user manual in http://www.expasy.ch/txt/userman.txt for a list of the Swissprot feature types. The type may be wildcarded by using '*'. If you wish to show more than one type, separate their names with the character '|', eg: *UTR | intron | Any string is accepted | *
-matchtag | Tags are the types of extra values that a feature may have. For example in the EMBL feature table, a 'CDS' type of feature may have the tags '/codon', '/codon_start', '/db_xref', '/EC_number', '/evidence', '/exception', '/function', '/gene', '/label', '/map', '/note', '/number', '/partial', '/product', '/protein_id', '/pseudo', '/standard_name', '/translation', '/transl_except', '/transl_table', or '/usedin'. Some of these tags also have values, for example '/gene' can have the value of the gene name. By default any feature tag in the feature table is shown. You can set this to match any feature tag you wish to show. The tag may be wildcarded by using '*'. If you wish to show more than one tag, separate their names with the character '|', eg: gene | label | Any string is accepted | *
-matchvalue | Tag values are the values associated with a feature tag. Tags are the types of extra values that a feature may have. For example in the EMBL feature table, a 'CDS' type of feature may have the tags '/codon', '/codon_start', '/db_xref', '/EC_number', '/evidence', '/exception', '/function', '/gene', '/label', '/map', '/note', '/number', '/partial', '/product', '/protein_id', '/pseudo', '/standard_name', '/translation', '/transl_except', '/transl_table', or '/usedin'. Only some of these tags can have values, for example '/gene' can have the value of the gene name. By default any feature tag value in the feature table is shown. You can set this to match any feature tag valueyou wish to show. The tag value may be wildcarded by using '*'. If you wish to show more than one tag value, separate their names with the character '|', eg: pax* | 10 | Any string is accepted | *
-sort | Sort features by Type, Start or Source, Nosort (don't sort - use input order) or join coding regions together and leave other features in the input order |
source | (Sort by Source)
start | (Sort by Start position)
type | (Sort by Type)
nosort | (No sorting done)
join | (Join coding regions together)
| start
Advanced qualifiers | Allowed values | Default
-html | Use HTML formatting | Boolean value Yes/No | No
-[no]id | Set this to be false if you do not wish to display the ID name of the sequence. | Boolean value Yes/No | Yes
-[no]description | Set this to be false if you do not wish to display the description of the sequence. | Boolean value Yes/No | Yes
-[no]scale | Set this to be false if you do not wish to display the scale line. | Boolean value Yes/No | Yes
-width | You can expand (or contract) the width of the ASCII-character graphics display of the positions of the features using this value. For example, a width of 80 characters would cover a standard page width and a width a 10 characters would be nearly unreadable. If the width is set to less than 4, the graphics lines and the scale line will not be displayed. | Integer 0 or more | 60
-collapse | If this is set, then features from the same source and of the same type and sense are all printed on the same line. For instance if there are several features from the EMBL feature table (ie. the same source) which are all of type 'exon' in the same sense, then they will all be displayed on the same line. This makes it hard to distinguish overlapping features. If this is set to false then each feature is displayed on a separate line making it easier to distinguish where features start and end. | Boolean value Yes/No | No
-[no]forward | Set this to be false if you do not wish to display forward sense features. | Boolean value Yes/No | Yes
-[no]reverse | Set this to be false if you do not wish to display reverse sense features. | Boolean value Yes/No | Yes
-[no]unknown | Set this to be false if you do not wish to display unknown sense features. (ie. features with no directionality - all protein features are of this type and some nucleic features (for example, CG-rich regions)). | Boolean value Yes/No | Yes
-strand | Set this if you wish to display the strand of the features. Protein features are always directionless (indicated by '0'), forward is indicated by '+' and reverse is '-'. | Boolean value Yes/No | No
-source | Set this if you wish to display the source of the features. The source name is usually either the name of the program that detected the feature or it is the name of the feature table (eg: EMBL) that the feature came from. | Boolean value Yes/No | No
-position | Set this if you wish to display the start and end position of the features. If several features are being displayed on the same line, then the start and end positions will be joined by a comma, for example: '189-189,225-225'. | Boolean value Yes/No | No
-[no]type | Set this to be false if you do not wish to display the type of the features. | Boolean value Yes/No | Yes
-tags | Set this to be false if you do not wish to display the tags and values of the features. | Boolean value Yes/No | No
-[no]values | Set this to be false if you do not wish to display the tag values of the features. If this is set to be false, only the tag names will be displayed. If the tags are not displayed, then the values will not be displayed. The value of the 'translation' tag is never displayed as it is often extremely long. | Boolean value Yes/No | Yes
-stricttags | By default if any tag/value pair in a feature matches the specified tag and value, then all the tags/value pairs of that feature will be displayed. If this is set to be true, then only those tag/value pairs in a feature that match the specified tag and value will be displayed. | Boolean value Yes/No | No

## Input file format

The feature input is the feature table lines from a normal sequence USA.

### Input files for usage example

'tembl:hsfau1' is a sequence entry in the example nucleic acid database 'tembl'

### Database entry: tembl:hsfau1

    ID   HSFAU1     standard; DNA; HUM; 2016 BP.
    XX
    AC   X65921; S45242;
    XX
    SV   X65921.1
    XX
    DT   13-MAY-1992 (Rel. 31, Created)
    DT   21-JUL-1993 (Rel. 36, Last updated, Version 5)
    XX
    DE   H.sapiens fau 1 gene
    XX
    KW   fau 1 gene.
    XX
    OS   Homo sapiens (human)
    OC   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia;
    OC   Eutheria; Primates; Catarrhini; Hominidae; Homo.
    XX
    RN   [1]
    RP   1-2016
    RA   Kas K.;
    RT   ;
    RL   Submitted (29-APR-1992) to the EMBL/GenBank/DDBJ databases.
    RL   K. Kas, University of Antwerp, Dept of Biochemistry T3.22,
    RL   Universiteitsplein 1, 2610 Wilrijk, BELGIUM
    XX
    RN   [2]
    RP   1-2016
    RX   MEDLINE; 92412144.
    RA   Kas K., Michiels L., Merregaert J.;
    RT   "Genomic structure and expression of the human fau gene: encoding the
    RT   ribosomal protein S30 fused to a ubiquitin-like protein.";
    RL   Biochem. Biophys. Res. Commun. 187:927-933(1992).
    XX
    DR   SWISS-PROT; P35544; UBIM_HUMAN.
    DR   SWISS-PROT; Q05472; RS30_HUMAN.
    XX
    FH   Key             Location/Qualifiers
    FH
    FT   source          1..2016
    FT                   /db_xref="taxon:9606"
    FT                   /organism="Homo sapiens"
    FT                   /clone_lib="CML cosmid"
    FT                   /clone="15.1"
    FT   mRNA            join(408..504,774..856,951..1095,1557..1612,1787..>1912)
    FT                   /gene="fau 1"
    FT   exon            408..504
    FT                   /number=1
    FT   intron          505..773
    FT                   /number=1
    FT   exon            774..856

      [Part of this file has been deleted for brevity]

    FT                   RAKRRMQYNRRFVNVVPTFGKKKGPNANS"
    FT   intron          857..950
    FT                   /number=2
    FT   exon            951..1095
    FT                   /number=3
    FT   intron          1096..1556
    FT                   /number=3
    FT   exon            1557..1612
    FT                   /number=4
    FT   intron          1613..1786
    FT                   /number=4
    FT   exon            1787..>1912
    FT                   /number=5
    FT   polyA_signal    1938..1943
    XX
    SQ   Sequence 2016 BP; 421 A; 562 C; 538 G; 495 T; 0 other;
         ctaccatttt ccctctcgat tctatatgta cactcgggac aagttctcct gatcgaaaac        60
         ggcaaaacta aggccccaag taggaatgcc ttagttttcg gggttaacaa tgattaacac       120
         tgagcctcac acccacgcga tgccctcagc tcctcgctca gcgctctcac caacagccgt       180
         agcccgcagc cccgctggac accggttctc catccccgca gcgtagcccg gaacatggta       240
         gctgccatct ttacctgcta cgccagcctt ctgtgcgcgc aactgtctgg tcccgccccg       300
         tcctgcgcga gctgctgccc aggcaggttc gccggtgcga gcgtaaaggg gcggagctag       360
         gactgccttg ggcggtacaa atagcaggga accgcgcggt cgctcagcag tgacgtgaca       420
         cgcagcccac ggtctgtact gacgcgccct cgcttcttcc tctttctcga ctccatcttc       480
         gcggtagctg ggaccgccgt tcaggtaaga atggggcctt ggctggatcc gaagggcttg       540
         tagcaggttg gctgcggggt cagaaggcgc ggggggaacc gaagaacggg gcctgctccg       600
         tggccctgct ccagtcccta tccgaactcc ttgggaggca ctggccttcc gcacgtgagc       660
         cgccgcgacc accatcccgt cgcgatcgtt tctggaccgc tttccactcc caaatctcct       720
         ttatcccaga gcatttcttg gcttctctta caagccgtct tttctttact cagtcgccaa       780
         tatgcagctc tttgtccgcg cccaggagct acacaccttc gaggtgaccg gccaggaaac       840
         ggtcgcccag atcaaggtaa ggctgcttgg tgcgccctgg gttccatttt cttgtgctct       900
         tcactctcgc ggcccgaggg aacgcttacg agccttatct ttccctgtag gctcatgtag       960
         cctcactgga gggcattgcc ccggaagatc aagtcgtgct cctggcaggc gcgcccctgg      1020
         aggatgaggc cactctgggc cagtgcgggg tggaggccct gactaccctg gaagtagcag      1080
         gccgcatgct tggaggtgag tgagagagga atgttctttg aagtaccggt aagcgtctag      1140
         tgagtgtggg gtgcatagtc ctgacagctg agtgtcacac ctatggtaat agagtacttc      1200
         tcactgtctt cagttcagag tgattcttcc tgtttacatc cctcatgttg aacacagacg      1260
         tccatgggag actgagccag agtgtagttg tatttcagtc acatcacgag atcctagtct      1320
         ggttatcagc ttccacacta aaaattaggt cagaccaggc cccaaagtgc tctataaatt      1380
         agaagctgga agatcctgaa atgaaactta agatttcaag gtcaaatatc tgcaactttg      1440
         ttctcattac ctattgggcg cagcttctct ttaaaggctt gaattgagaa aagaggggtt      1500
         ctgctgggtg gcaccttctt gctcttacct gctggtgcct tcctttccca ctacaggtaa      1560
         agtccatggt tccctggccc gtgctggaaa agtgagaggt cagactccta aggtgagtga      1620
         gagtattagt ggtcatggtg ttaggacttt ttttcctttc acagctaaac caagtccctg      1680
         ggctcttact cggtttgcct tctccctccc tggagatgag cctgagggaa gggatgctag      1740
         gtgtggaaga caggaaccag ggcctgatta accttccctt ctccaggtgg ccaaacagga      1800
         gaagaagaag aagaagacag gtcgggctaa gcggcggatg cagtacaacc ggcgctttgt      1860
         caacgttgtg cccacctttg gcaagaagaa gggccccaat gccaactctt aagtcttttg      1920
         taattctggc tttctctaat aaaaaagcca cttagttcag tcatcgcatt gtttcatctt      1980
         tacttgcaag gcctcaggga gaggtgtgct tctcgg                                2016
    //

## Output file format

The output is a text representation of the feature table.

### Output files for usage example

### File: hsfau1.showfeat

    HSFAU1
    H.sapiens fau 1 gene
    |==========================================================| 2016
    |----------------------------------------------------------> source
               |-->                                              exon
               |-->                                              mRNA
                  |------->                                      intron
                          |->                                    exon
                          |->                                    mRNA
                          |->                                    CDS
                            |-->                                 intron
                               |--->                             CDS
                               |--->                             exon
                               |--->                             mRNA
                                   |------------->               intron
                                                 |>              CDS
                                                 |>              exon
                                                 |>              mRNA
                                                   |---->        intron
                                                        |-->     CDS
                                                        |-->     exon
                                                        |-->     mRNA
                                                            >    polyA_signal

### Output files for usage example 2

### File: hsfau1.showfeat

    HSFAU1
    H.sapiens fau 1 gene
    |==========================================================| 2016
    |----------------------------------------------------------> 1-2016 source
               |-->       |->  |--->             |>     |-->     408-504,774-856,951-1095,1557-1612,1787-1912 mRNA
               |-->                                              408-504 exon
                  |------->                                      505-773 intron
                          |->                                    774-856 exon
                          |->  |--->             |>     |-->     782-856,951-1095,1557-1612,1787-1912 CDS
                            |-->                                 857-950 intron
                               |--->                             951-1095 exon
                                   |------------->               1096-1556 intron
                                                 |>              1557-1612 exon
                                                   |---->        1613-1786 intron
                                                        |-->     1787-1912 exon
                                                            >    1938-1943 polyA_signal

### Output files for usage example 3

### File: hsfau1.showfeat

    782-856 CDS
    951-1095 CDS
    1557-1612 CDS
    1787-1912 CDS

## Data files

None.

## Notes

None.

## References

None.

## Warnings

None.

## Diagnostic Error Messages

None.

## Exit status

It always exits with a status of 0.

## Known bugs

None.

## See also

Program name | Description
--- | ---
abiview | Reads ABI file and display the trace
cirdna | Draws circular maps of DNA constructs
coderet | Extract CDS, mRNA and translations from feature tables
extractfeat | Extract features from a sequence
lindna | Draws linear maps of DNA constructs
maskfeat | Mask off features of a sequence
pepnet | Displays proteins as a helical net
pepwheel | Shows protein sequences as helices
prettyplot | Displays aligned sequences, with colouring and boxing
prettyseq | Output sequence with translated ranges
remap | Display a sequence with restriction cut sites, translation etc
seealso | Finds programs sharing group names
showalign | Displays a multiple sequence alignment
showdb | Displays information on the currently available databases
showseq | Display a sequence with features, translation etc
sixpack | Display a DNA sequence with 6-frame translation and ORFs
textsearch | Search sequence documentation text. SRS and Entrez are faster!
twofeat | Finds neighbouring pairs of features in sequences

## Author(s)

Gary Williams (gwilliam © hgmp.mrc.ac.uk)
HGMP-RC, Genome Campus, Hinxton, Cambridge CB10 1SB, UK

## History

Written 1999 - Gary Williams

Dec 2001 - added -sort nosort option to get the features in the input order

## Target users

This program is intended to be used by everyone and everything, from naive users to embedded scripts.

## Comments