allpy
changeset 579:74e472e8da6c
structure: set_pdb_chain() allows 2 mutations in pdb sequence
author | boris (kodomo) <bnagaev@gmail.com> |
---|---|
date | Thu, 17 Mar 2011 17:03:27 +0300 |
parents | d2b7e6a16be6 |
children | 83d600d85099 |
files | allpy/config.py allpy/structure.py |
diffstat | 2 files changed, 9 insertions(+), 2 deletions(-) [+] |
line diff
1.1 --- a/allpy/config.py Thu Mar 17 16:56:48 2011 +0300 1.2 +++ b/allpy/config.py Thu Mar 17 17:03:27 2011 +0300 1.3 @@ -2,6 +2,7 @@ 1.4 delta = 2.0 # for geometrical core building 1.5 minsize = 20 # min size of returning cores 1.6 maxabsent = 0.15 # deprecated? 1.7 +max_mutations = 2 1.8 1.9 # pdb download url (XXXX is pdb code place) 1.10 pdb_url = 'http://www.pdb.org/pdb/files/%s.pdb'
2.1 --- a/allpy/structure.py Thu Mar 17 16:56:48 2011 +0300 2.2 +++ b/allpy/structure.py Thu Mar 17 17:03:27 2011 +0300 2.3 @@ -64,9 +64,12 @@ 2.4 ?TODO: global pdb_structures 2.5 """ 2.6 2.7 - def set_pdb_chain(self, pdb_file, pdb_id, pdb_chain='A', pdb_model=0): 2.8 + def set_pdb_chain(self, pdb_file, pdb_id, pdb_chain='A', pdb_model=0, 2.9 + max_mutations=config.max_mutations): 2.10 """ Read Pdb chain from file 2.11 2.12 + max_mutations -- max number of monomer type mismatches 2.13 + 2.14 and align each Monomer with PDB.Residue 2.15 raise AssertionError 2.16 """ 2.17 @@ -79,10 +82,13 @@ 2.18 a.append_sequence(self) 2.19 a.append_sequence(pdb_sequence) 2.20 a.process(processors.Muscle()) 2.21 + mutations = 0 2.22 for monomer, pdb_monomer in a.columns_as_lists(): 2.23 if monomer and hasattr(pdb_monomer, 'pdb_residue'): 2.24 - assert monomer == pdb_monomer 2.25 + if monomer == pdb_monomer: 2.26 + mutations += 1 2.27 monomer.pdb_residue = pdb_monomer.pdb_residue 2.28 + assert mutations < max_mutations 2.29 2.30 def pdb_unload(self): 2.31 """ Delete all pdb-connected links """