allpy
view allpy/pdb.py @ 269:cf24b0082aa0
Fixed reference to module index in docs
author | Daniil Alexeyevsky <me.dendik@gmail.com> |
---|---|
date | Wed, 15 Dec 2010 02:22:38 +0300 |
parents | deae8240d396 |
children | 4e6e85851133 |
line source
1 """ Functions to get pdb information from fasta id
2 and to generate fasta id from pdb information
4 pdb information: code, chain, model
6 TODO: same for local pdb files
7 """
13 # for pdb-codes
14 re1 = re.compile(r"(^|[^a-z0-9])(?P<code>[0-9][0-9a-z]{3})([^a-z0-9](?P<chain>[0-9a-z ]?)(?P<model>[^a-z0-9]([0-9]{1,3}))?)?", re.I)
16 #~ # for files
17 #~ re2 = re.compile(r"(^)([^^]+\.(ent|pdb))([^a-zA-Z0-9]([0-9A-Za-z ]?)([^a-zA-Z0-9]([0-9]{1,3}))?)?$")
42 #~ def std_id_parse(ID):
43 #~ """
44 #~ Parse standart ID to pdb_code, chain and model
45 #~ """
46 #~ if '.ent' in ID.lower() or '.pdb' in ID.lower():
47 #~ # it is file
48 #~ parseO = self.re2.search(ID) # files
49 #~ else:
50 #~ parseO = self.re1.search(ID.lower()) # pdb codes
51 #~ if not parseO:
52 #~ return None
53 #~ parse = parseO.groups()
54 #~ if len(parse) < 2:
55 #~ return None
56 #~ code = parse[1]
57 #~ chain = ''
58 #~ model = None
59 #~ if len(parse) >= 4:
60 #~ chain = parse[3]
61 #~ if chain:
62 #~ chain = chain.upper()
63 #~ if len(parse) >= 6:
64 #~ if parse[5]:
65 #~ model = parse[5]
66 #~ return code, chain, model