Bio::Structure::SecStr::STRIDE::Res.3pm

Langue: en

Version: 2010-05-19 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Bio::Structure::SecStr::STRIDE::Res - Module for parsing/accessing stride output

SYNOPSIS

  my $stride_obj = Bio::Structure::SecStr::STRIDE::Res->new( '-file' => 'filename.stride' );
 
  # or
 
  my $stride_obj = Bio::Structure::SecStr::STRIDE::Res->new( '-fh' => \*STDOUT );
 
  # Get secondary structure assignment for PDB residue 20 of chain A
  $sec_str = $stride_obj->resSecStr( '20:A' );
 
  # same
  $sec_str = $stride_obj->resSecStr( 20, 'A' )
 
 

DESCRIPTION

STRIDE::Res is a module for objectifying STRIDE output. STRIDE is a program (similar to DSSP) for assigning secondary structure to individual residues of a pdb structure file.
     ( Knowledge-Based Protein Secondary Structure Assignment,
     PROTEINS: Structure, Function, and Genetics 23:566-579 (1995) )
 
 

STRIDE is available here: http://webclu.bio.wzw.tum.de/stride/

Methods are then available for extracting all of the infomation present within the output or convenient subsets of it.

Although they are very similar in function, DSSP and STRIDE differ somewhat in output format. Thes differences are reflected in the return value of some methods of these modules. For example, both the STRIDE and DSSP parsers have resSecStr() methods for returning the secondary structure of a given residue. However, the range of return values for DSSP is ( H, B, E, G, I, T, and S ) whereas the range of values for STRIDE is ( H, G, I, E, B, b, T, and C ). See individual methods for details.

The methods are roughly divided into 3 sections:

   1.  Global features of this structure (PDB ID, total surface area,
       etc.).  These methods do not require an argument. 
   2.  Residue specific features ( amino acid, secondary structure,
       solvent exposed surface area, etc. ).  These methods do require an
       arguement.  The argument is supposed to uniquely identify a
       residue described within the structure.  It can be of any of the
       following forms:
       ('#A:B') or ( #, 'A', 'B' )
         || |
         || - Chain ID (blank for single chain)
         |--- Insertion code for this residue.  Blank for most residues.
         |--- Numeric portion of residue ID.
 
       (#)
        |
        --- Numeric portion of residue ID.  If there is only one chain and
            it has no ID AND there is no residue with an insertion code at this
            number, then this can uniquely specify a residue.
 
       ('#:C') or ( #, 'C' )
         | |
         | -Chain ID
         ---Numeric portion of residue ID.
 
      If a residue is incompletely specified then the first residue that
      fits the arguments is returned.  For example, if 19 is the argument
      and there are three chains, A, B, and C with a residue whose number
      is 19, then 19:A will be returned (assuming its listed first).
 
      Since neither DSSP nor STRIDE correctly handle alt-loc codes, they
      are not supported by these modules.
 
  3.  Value-added methods.  Return values are not verbatem strings
      parsed from DSSP or STRIDE output.
 
 

FEEDBACK

MailingLists

UsUser feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated.
   bioperl-l@bioperl.org                  - General discussion
   http://bioperl.org/wiki/Mailing_lists  - About the mailing lists
 
 

Support

Please direct usage questions or support issues to the mailing list:

bioperl-l@bioperl.org

rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.

Reporting Bugs

Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web:
   http://bugzilla.open-bio.org/
 
 

AUTHOR - Ed Green

Email ed@compbio.berkeley.edu

APPENDIX

The Rest of the documentation details each method. Internal methods are preceded with a _.

new

  Title         : new
  Usage         : makes new object of this class
  Function      : Constructor
  Example       : $stride_obj = Bio::Structure::SecStr::STRIDE:Res->new( '-file' =>  filename 
                                                      # or 
                                                      '-fh'   => FILEHANDLE )
  Returns       : object (ref)
  Args          : filename or filehandle( must be proper STRIDE output )
 
 

totSurfArea

  Title         : totSurfArea
  Usage         : returns sum of surface areas of all residues of all
                  chains considered.  Result is memoized.
  Function      :
  Example       : $tot_SA = $stride_obj->totSurfArea();
  Returns       : scalar
  Args          : none
 
 

numResidues

  Title         : numResidues
  Usage         : returns total number of residues in all chains or
                  just the specified chain
  Function      : 
  Example       : $tot_res = $stride_obj->numResidues();
  Returns       : scalar int
  Args          : none or chain id
 
 

pdbID

  Title         : pdbID
  Usage         : returns pdb identifier ( 1FJM, e.g. )
  Function      : 
  Example       : $pdb_id = $stride_obj->pdbID();
  Returns       : scalar string
  Args          : none
 
 

pdbAuthor

  Title         : pdbAuthor
  Usage         : returns author of this PDB entry
  Function      : 
  Example       : $auth = $stride_obj->pdbAuthor()
  Returns       : scalar string
  Args          : none
 
 

pdbCompound

  Title         : pdbCompound
  Usage         : returns string of what was found on the  
                  CMP lines
  Function      : 
  Example       : $cmp = $stride_obj->pdbCompound();
  Returns       : string
  Args          : none
 
 

pdbDate

  Title         : pdbDate
  Usage         : returns date given in PDB file
  Function      :
  Example       : $pdb_date = $stride_obj->pdbDate();
  Returns       : scalar
  Args          : none
 
 

pdbHeader

  Title         : pdbHeader
  Usage         : returns string of characters found on the PDB header line
  Function      :
  Example       : $head = $stride_obj->pdbHeader();
  Returns       : scalar
  Args          : none
 
 

pdbSource

  Title         : pdbSource
  Usage         : returns string of what was found on SRC lines
  Function      : 
  Example       : $src = $stride_obj->pdbSource();
  Returns       : scalar
  Args          : none
 
 

resAA

  Title         : resAA
  Usage         : returns 1 letter abbr. of the amino acid specified by
                  the arguments
  Function      : 
  Examples      : $aa = $stride_obj->resAA( RESIDUE_ID );
  Returns       : scalar character
  Args          : RESIDUE_ID
 
 

resPhi

  Title         : resPhi
  Usage         : returns phi angle of specified residue
  Function      :
  Example       : $phi = $stride_obj->resPhi( RESIDUE_ID );
  Returns       : scaler
  Args          : RESIDUE_ID
 
 

resPsi

  Title         : resPsi
  Usage         : returns psi angle of specified residue
  Function      :
  Example       : $psi = $stride_obj->resPsi( RESIDUE_ID );
  Returns       : scalar
  Args          : RESIDUE_ID
 
 

resSolvAcc

  Title         : resSolvAcc
  Usage         : returns stride calculated surface area of specified residue
  Function      : 
  Example       : $sa = $stride_obj->resSolvAcc( RESIDUE_ID );
  Returns       : scalar
  Args          : RESIDUE_ID
 
 

resSurfArea

  Title         : resSurfArea
  Usage         : returns stride calculated surface area of specified residue
  Function      : 
  Example       : $sa = $stride_obj->resSurfArea( RESIDUE_ID );
  Returns       : scalar
  Args          : RESIDUE_ID
 
 

resSecStr

  Title         : resSecStr 
  Usage         : gives one letter abbr. of stride determined secondary
                  structure of specified residue
  Function      : 
  Example       : $ss = $stride_obj->resSecStr( RESIDUE_ID );
  Returns       : one of: 'H' => Alpha Helix
                          'G' => 3-10 helix
                          'I' => PI-helix
                          'E' => Extended conformation
                          'B' or 'b' => Isolated bridge
                          'T' => Turn
                          'C' => Coil
                          ' ' => None
                 # NOTE:  This range is slightly DIFFERENT from the
                 #        DSSP method of the same name
  Args          : RESIDUE_ID
 
 

resSecStrSum

  Title         : resSecStrSum
  Usage         : gives one letter summary of secondary structure of
                  specified residue.  More general than secStruc() 
  Function      :
  Example       : $ss_sum = $stride_obj->resSecStrSum( RESIDUE_ID );
  Returns       : one of: 'H' (helix), 'B' (beta), 'T' (turn), or 'C' (coil)
  Args          : residue identifier(s) ( SEE INTRO NOTE )
 
 

resSecStrName

  Title         : resSecStrName
  Usage         : gives full name of the secondary structural element
                  classification of the specified residue
  Function      : 
  Example       : $ss_name = $stride_obj->resSecStrName( RESIDUE_ID );
  Returns       : scalar string
  Args          : RESIDUE_ID
 
 

strideLocs

  Title         : strideLocs
  Usage         : returns stride determined contiguous secondary
     structural elements as specified on the LOC lines
  Function      : 
  Example       : $loc_pnt = $stride_obj->strideLocs();
  Returns       : pointer to array of 5 element arrays.
     0 => stride name of structural element
     1 => first residue pdb key (including insertion code, if app.)
     2 => first residue chain id
     3 => last residue pdb key (including insertion code, if app.)
     4 => last residue chain id
     NOTE the differences between this range and the range of SecBounds()
  Args          : none
 
 

secBounds

  Title         : secBounds
  Usage         : gets residue ids of boundary residues in each
                  contiguous secondary structural element of specified
                  chain 
  Function      : 
  Example       : $ss_bound_pnt = $stride_obj->secBounds( 'A' );
  Returns       : pointer to array of 3 element arrays.  First two elements
                  are the PDB IDs of the start and end points, respectively
                  and inclusively.  The last element is the STRIDE secondary
                  structural element code (same range as resSecStr).
  Args          : chain identifier ( one character ).  If none, '-' is assumed
 
 

chains

  Title         : chains
  Usage         : gives array chain I.D.s (characters)
  Function      :
  Example       : @chains = $stride_obj->chains();
  Returns       : array of characters
  Args          : none
 
 

getSeq

  Title         : getSeq
  Usage         : returns a Bio::PrimarySeq object which represents an
                  approximation at the sequence of the specified chain.
  Function      : For most chain of most entries, the sequence returned by
                  this method will be very good.  However, it it inherently 
                  unsafe to rely on STRIDE to extract sequence information about
                  a PDB entry.  More reliable information can be obtained from
                  the PDB entry itself.  If a second option is given
                  (and evaluates to true), the sequence generated will
                  have 'X' in spaces where the pdb residue numbers are
                  discontinuous.  In some cases this results in a
                  better sequence object (when the  discontinuity is
                  due to regions which were present, but could not be
                  resolved).  In other cases, it will result in a WORSE
                  sequence object (when the discontinuity is due to
                  historical sequence numbering and all sequence is
                  actually resolved).
  Example       : $pso = $dssp_obj->getSeq( 'A' );
  Returns       : (pointer to) a PrimarySeq object
  Args          : Chain identifier.  If none given, '-' is assumed.
 
 

INTERNAL METHODS

_pdbNum

  Title        : _pdbNum
  Usage        : fetches the numeric portion of the identifier for a given
                 residue as reported by the pdb entry.  Note, this DOES NOT
                 uniquely specify a residue.  There may be an insertion code
                 and/or chain identifier differences.
  Function     : 
  Example      : $pdbNum = $self->pdbNum( 3, 'A' );
  Returns      : a scalar
  Args         : valid ordinal num / chain combination
 
 

_resAA

  Title         : _resAA
  Usage         : returns 1 letter abbr. of the amino acid specified by
                  the arguments
  Function      : 
  Examples      : $aa = $stride_obj->_resAA( 3, '-' );
  Returns       : scalar character
  Args          : ( ord. num, chain )
 
 

_pdbInsCo

  Title        : _pdbInsCo
  Usage        : fetches the Insertion code for this residue.
  Function     : 
  Example      : $pdb_ins_co = $self->_pdb_ins_co( 15, 'B' );
  Returns      : a scalar
  Args         : ordinal number and chain
 
 

_toOrdChain

  Title         : _toOrdChain
  Usage         : takes any set of residue identifying parameters and
     wrestles them into a two element array:  the chain and the ordinal
     number of this residue.  This two element array can then be
     efficiently used as keys in many of the above accessor methods
  ('#A:B') or ( #, 'A', 'B' )
    || |
    || - Chain ID (blank for single chain)
    |--- Insertion code for this residue.  Blank for most residues.
    |--- Numeric portion of residue ID.
 
   (#)
    |
    --- Numeric portion of residue ID.  If there is only one chain and
    it has no ID AND there is no residue with an insertion code at this
    number, then this can uniquely specify a residue.
 
   #  ('#:C) or ( #, 'C' )
        | |
        | -Chain ID
        ---Numeric portion of residue ID.
 
   If a residue is incompletely specified then the first residue that 
   fits the arguments is returned.  For example, if 19 is the argument 
   and there are three chains, A, B, and C with a residue whose number 
   is 19, then 19:A will be returned (assuming its listed first).
 
  Function      :
  Example       : my ( $ord, $chain ) = $self->_toOrdChain( @args );
  Returns       : two element array
  Args          : valid set of residue identifier(s) ( SEE NOTE ABOVE )
 
 

_parse

  Title         : _parse
  Usage         : as name suggests, parses stride output, creating object
  Function      :
  Example       : $self->_parse( $io );
  Returns       : 
  Args          : valid Bio::Root::IO object
 
 

_parseTop

  Title         : _parseTop
  Usage         : makes sure this looks like stride output
  Function      :
  Example       : 
  Returns       :
  Args          :
 
 

_parseHead

  Title         : _parseHead
  Usage         : parses
  Function      : HDR, CMP, SRC, and AUT lines
  Example       :
  Returns       :
  Args          :
 
 

_parseSummary

  Title         : _parseSummary
  Usage         : parses LOC lines
  Function      :
  Example       :
  Returns       :
  Args          :
 
 

_parseASG

  Title         : _parseASG
  Usage         : parses ASG lines
  Function      :
  Example       :
  Returns       :
  Args          :