Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/rev/74e472e8da6c
Дата изменения: Unknown
Дата индексирования: Tue Oct 2 00:56:29 2012
Кодировка:
allpy: 74e472e8da6c

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 """