allpy
diff lib/project.py @ 139:57c923c2e333
sequence.pdb_auto_add
fix allpy_pdb.pdb_id_parse and re1
author | boris <bnagaev@gmail.com> |
---|---|
date | Sun, 24 Oct 2010 18:12:21 +0400 |
parents | 32b9f4fadd35 |
children | 004c2f6c45ac |
line diff
1.1 --- a/lib/project.py Sun Oct 24 17:29:59 2010 +0400 1.2 +++ b/lib/project.py Sun Oct 24 18:12:21 2010 +0400 1.3 @@ -167,7 +167,7 @@ 1.4 uses old Monomers and Sequences objects 1.5 """ 1.6 tmp_file, tmp_filename = mkstemp() 1.7 - os.close(tmp_file) # this is file descriptor, not normal file object. security issue ) 1.8 + os.close(tmp_file) # this is file descriptor, not normal file object. 1.9 tmp_file = open(tmp_filename, 'w') 1.10 self.save_fasta(tmp_file) 1.11 tmp_file.close() 1.12 @@ -177,7 +177,8 @@ 1.13 try: 1.14 new_sequence = [i for i in sequences if sequence==i][0] 1.15 except: 1.16 - raise Exception("Align: Cann't find sequence %s in muscle output" % sequence.name) 1.17 + raise Exception("Align: Cann't find sequence %s in muscle output" % \ 1.18 + sequence.name) 1.19 old_monomers = iter(sequence.monomers) 1.20 self.alignment[sequence] = [] 1.21 for monomer in alignment[new_sequence]: 1.22 @@ -194,7 +195,7 @@ 1.23 returns list of columns of alignment 1.24 sequence or sequences: 1.25 if sequence is given, then column is (original_monomer, monomer) 1.26 - if sequences is given, then column is dict (original_monomer, {sequence: monomer}) 1.27 + if sequences is given, then column is (original_monomer, {sequence: monomer}) 1.28 if both of them are given, it is an error 1.29 original (Sequence type): 1.30 if given, this filters only columns represented by original sequence 1.31 @@ -210,11 +211,17 @@ 1.32 if sequence: 1.33 yield (column[indexes[original]], column[indexes[sequence]]) 1.34 else: 1.35 - yield (column[indexes[original]], dict([(s, column[indexes[s]]) for s in sequences])) 1.36 + yield (column[indexes[original]], 1.37 + dict([(s, column[indexes[s]]) for s in sequences])) 1.38 1.39 - def add_pdb(self, conformity_file=None): 1.40 - pass 1.41 + def pdb_auto_add(self, conformity_file=None): 1.42 + """ 1.43 + Adds pdb information to each sequence 1.44 1.45 + TODO: conformity_file 1.46 + """ 1.47 + conformity = {} 1.48 1.49 + for sequence in self.sequences: 1.50 + sequence.pdb_auto_add(conformity.get(sequence.name, None)) 1.51 1.52 -