Package Bio :: Package SCOP
[hide private]
[frames] | no frames]

Package SCOP

source code

SCOP: Structural Classification of Proteins.

The SCOP database aims to provide a manually constructed classification of all know protein structures into a hierarchy, the main levels of which are family, superfamily and fold.

The Scop object in this module represents the entire SCOP classification. It can be built from the three SCOP parsable files, modified is so desired, and converted back to the same file formats. A single SCOP domain (represented by the Domain class) can be obtained from Scop using the domain's SCOP identifier (sid).

This module also provides code to access SCOP over the WWW.

Functions:
Submodules [hide private]
  • Bio.SCOP.Cla: Handle the SCOP CLAssification file, which describes SCOP domains.
  • Bio.SCOP.Des: Handle the SCOP DEScription file.
  • Bio.SCOP.Dom: Handle the SCOP DOMain file.
  • Bio.SCOP.Hie: Handle the SCOP HIErarchy files, which describe the SCOP hierarchy in terms of SCOP unique identifiers (sunid).
  • Bio.SCOP.Raf: ASTRAL RAF (Rapid Access Format) Sequence Maps.
  • Bio.SCOP.Residues: A collection of residues from a PDB structure.

Classes [hide private]
  Scop
The entire SCOP hierarchy.
  Node
A node in the Scop hierarchy.
  Domain
A SCOP domain. A leaf node in the Scop hierarchy.
  Astral
Representation of the ASTRAL database.
Functions [hide private]
 
cmp_sccs(sccs1, sccs2)
Order SCOP concise classification strings (sccs).
source code
 
parse_domain(str)
Convert an ASTRAL header string into a Scop domain.
source code
 
_open_scop_file(scop_dir_path, version, filetype) source code
 
search(pdb=None, key=None, sid=None, disp=None, dir=None, loc=None, cgi='http://scop.mrc-lmb.cam.ac.uk/scop/search.cgi', **keywds)
Access SCOP search and return a handle to the results.
source code
 
_open(cgi, params=None, get=1)
Open a handle to SCOP, returns an UndoHandle.
source code
Variables [hide private]
  nodeCodeDict = {'cf': 'fold', 'cl': 'class', 'dm': 'protein', ...
  _nodetype_to_code = {'class': 'cl', 'domain': 'px', 'family': ...
  nodeCodeOrder = ['ro', 'cl', 'cf', 'sf', 'fa', 'dm', 'sp', 'px']
  astralBibIds = [10, 20, 25, 30, 35, 40, 50, 70, 90, 95, 100]
  astralEvs = [10, 5, 1, 0.5, 0.1, 0.05, 0.01, 0.005, 0.001, 0.0...
  astralEv_to_file = {1e-50: 'e-50', 1e-25: 'e-25', 1e-20: 'e-20...
  astralEv_to_sql = {1e-50: 'e_50', 1e-25: 'e_25', 1e-20: 'e_20'...
  _domain_re = re.compile(r'>?([\w_\.]*)\s+([\w\.]*)\s+\(([^\)]*...
  __package__ = 'Bio.SCOP'
Function Details [hide private]

cmp_sccs(sccs1, sccs2)

source code 

Order SCOP concise classification strings (sccs).

a.4.5.1 < a.4.5.11 < b.1.1.1

A sccs (e.g. a.4.5.11) compactly represents a domain's classification. The letter represents the class, and the numbers are the fold, superfamily, and family, respectively.

parse_domain(str)

source code 

Convert an ASTRAL header string into a Scop domain.

An ASTRAL (http://astral.stanford.edu/) header contains a concise description of a SCOP domain. A very similar format is used when a Domain object is converted into a string. The Domain returned by this method contains most of the SCOP information, but it will not be located within the SCOP hierarchy (i.e. The parent node will be None). The description is composed of the SCOP protein and species descriptions.

A typical ASTRAL header looks like -- >d1tpt_1 a.46.2.1 (1-70) Thymidine phosphorylase {Escherichia coli}

search(pdb=None, key=None, sid=None, disp=None, dir=None, loc=None, cgi='http://scop.mrc-lmb.cam.ac.uk/scop/search.cgi', **keywds)

source code 

Access SCOP search and return a handle to the results.

Access search.cgi and return a handle to the results. See the online help file for an explanation of the parameters: http://scop.mrc-lmb.cam.ac.uk/scop/help.html

Raises an IOError if there's a network error.

_open(cgi, params=None, get=1)

source code 

Open a handle to SCOP, returns an UndoHandle.

Open a handle to SCOP. cgi is the URL for the cgi script to access. params is a dictionary with the options to pass to it. get is a boolean that describes whether a GET should be used. Does some simple error checking, and will raise an IOError if it encounters one.


Variables Details [hide private]

nodeCodeDict

Value:
{'cf': 'fold',
 'cl': 'class',
 'dm': 'protein',
 'fa': 'family',
 'px': 'domain',
 'sf': 'superfamily',
 'sp': 'species'}

_nodetype_to_code

Value:
{'class': 'cl',
 'domain': 'px',
 'family': 'fa',
 'fold': 'cf',
 'protein': 'dm',
 'species': 'sp',
 'superfamily': 'sf'}

astralEvs

Value:
[10,
 5,
 1,
 0.5,
 0.1,
 0.05,
 0.01,
 0.005,
...

astralEv_to_file

Value:
{1e-50: 'e-50',
 1e-25: 'e-25',
 1e-20: 'e-20',
 1e-15: 'e-15',
 1e-10: 'e-10',
 1e-05: 'e-5',
 0.0001: 'e-4',
 0.001: 'e-3',
...

astralEv_to_sql

Value:
{1e-50: 'e_50',
 1e-25: 'e_25',
 1e-20: 'e_20',
 1e-15: 'e_15',
 1e-10: 'e_10',
 1e-05: 'e_5',
 0.0001: 'e_4',
 0.001: 'e_3',
...

_domain_re

Value:
re.compile(r'>?([\w_\.]*)\s+([\w\.]*)\s+\(([^\)]*)\) (.*)')