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).

nodeCodeDict -- A mapping between known 2 letter node codes and a longer
description. The known node types are 'cl' (class), 'cf' (fold), 'sf' (superfamily), 'fa' (family), 'dm' (domain), 'sp' (species), 'px' (domain). Additional node types may be added in the future.

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

Functions: search -- Access the main CGI script. _open -- Internally used function.

Submodules [hide private]

Classes [hide private]
  Scop
The entire SCOP hierarchy.
  Node
A node in the Scop hierarchy
  Domain
A SCOP domain.
  Astral
Abstraction of the ASTRAL database, which has sequences for all the SCOP domains, as well as clusterings by percent id or evalue.
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 search.cgi and return a handle to the results.
source code
UndoHandle
_open(cgi, params={}, get=1)
Open a handle to SCOP.
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 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={}, get=1)

source code 
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.
Returns: UndoHandle

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+\(([^\)]*)\) (.*)')