allpy
changeset 250:fc6418e32e3c
allpy: collective improvement session
author | boris (kodomo) <bnagaev@gmail.com> |
---|---|
date | Tue, 07 Dec 2010 20:22:19 +0300 |
parents | 117b03ee9e8f |
children | 9369dbad919d 8a0577a0ba31 |
files | allpy/_monomer.py allpy/alignment.py |
diffstat | 2 files changed, 20 insertions(+), 21 deletions(-) [+] |
line diff
1.1 --- a/allpy/_monomer.py Sat Dec 04 00:19:17 2010 +0300 1.2 +++ b/allpy/_monomer.py Tue Dec 07 20:22:19 2010 +0300 1.3 @@ -1,6 +1,6 @@ 1.4 #!/usr/bin/python 1.5 1.6 -from allpy.data.AAdict import AAdict 1.7 +from data.AAdict import AAdict 1.8 1.9 index_code3 = {} 1.10 index_code1 = {} 1.11 @@ -14,16 +14,18 @@ 1.12 code3 -- three-letter code (in upper case) 1.13 is_modified -- True of False 1.14 """ 1.15 + 1.16 + instance_type = None # Must be redefined when subclassing 1.17 1.18 def __init__(self, name, code1, code3, is_modified=False): 1.19 - self.name = na me.capitalize() 1.20 + self.name = name.capitalize() 1.21 self.code1 = code1.upper() 1.22 self.code3 = code3.upper() 1.23 self.is_modified = bool(is_modified) # ugly 1.24 1.25 @classmethod 1.26 def create(cls, name, code1, code3, is_modified=False): 1.27 - self = cls(name, code1m code3, is_modified) 1.28 + self = cls(name, code1, code3, is_modified) 1.29 index_name[self.name] = self 1.30 index_code3[self.code3] = self 1.31 if not is_modified: 1.32 @@ -32,7 +34,7 @@ 1.33 index_code1[cls][code1] = self 1.34 1.35 @classmethod 1.36 - def from_code1(code1): 1.37 + def from_code1(cls, code1): 1.38 return index_code1[cls][code1.upper()] 1.39 1.40 @staticmethod 1.41 @@ -52,9 +54,7 @@ 1.42 return not (self == other) 1.43 1.44 def instance(self): 1.45 - cls = self.__class__ 1.46 - monomer_class = type2monomer[cls] 1.47 - return monomer_class(self) 1.48 + return self.instance_type(self) 1.49 1.50 class Monomer(object): 1.51 """ Monomer 1.52 @@ -72,13 +72,13 @@ 1.53 1.54 1.55 class AminoAcidType(MonomerType): 1.56 - pass 1.57 + instance_type = AminoAcid 1.58 class DNAType(MonomerType): 1.59 - pass 1.60 + instance_type = DNA 1.61 class RNAType(MonomerType): 1.62 - pass 1.63 + instance_type = RNA 1.64 1.65 -class AminoAci(Monomer): 1.66 +class AminoAcid(Monomer): 1.67 pass 1.68 class DNA(Monomer): 1.69 pass 1.70 @@ -86,7 +86,6 @@ 1.71 pass 1.72 1.73 types = {'p': AminoAcidType, 'd': DNAType, 'r': RNAType} 1.74 -type2monomer = {AminoAcidType: AminoAcid, DNAType: DNA, RNAType: RNA} 1.75 1.76 # prepare all aminoacids 1.77 1.78 @@ -96,3 +95,5 @@ 1.79 monomer_type.create(name, code1, code3, is_modified) 1.80 del code3, data, code1, m_type, is_modified, none, name 1.81 1.82 + 1.83 +# vim: set ts=4 sts=4 sw=4 et:
2.1 --- a/allpy/alignment.py Sat Dec 04 00:19:17 2010 +0300 2.2 +++ b/allpy/alignment.py Tue Dec 07 20:22:19 2010 +0300 2.3 @@ -1,11 +1,8 @@ 2.4 #!/usr/bin/python 2.5 2.6 -""" 2.7 - "I will not use abbrev." 2.8 - "I will always finish what I st" 2.9 - - Bart Simpson 2.10 - 2.11 -""" 2.12 +# "I will not use abbrev." 2.13 +# "I will always finish what I st" 2.14 +# - Bart Simpson 2.15 2.16 import sequence 2.17 from monomer import AminoAcidType 2.18 @@ -198,7 +195,7 @@ 2.19 os.unlink(tmp_file.name) 2.20 2.21 2.22 - def column(self, sequence=None, sequences=None, original=None): 2.23 + def columns(self, sequence=None, sequences=None, original=None): 2.24 """ returns list of columns of alignment 2.25 2.26 sequence or sequences: 2.27 @@ -223,14 +220,15 @@ 2.28 dict([(s, column[indexes[s]]) for s in sequences])) 2.29 2.30 2.31 - def secstr(self, sequence, pdb_chain, gap='-'): 2.32 + def secondary_structure(self, sequence, pdb_chain, gap='-'): 2.33 """ Returns string representing secondary structure """ 2.34 return ''.join([ 2.35 (sequence.pdb_secstr[pdb_chain][m] if sequence.secstr_has(pdb_chain, m) else gap) 2.36 for m in self.body[sequence]]) 2.37 2.38 - def save_secstr(self, out_file, sequence, pdb_chain, 2.39 + def save_secondary_structure(self, out_file, sequence, pdb_chain, 2.40 name, description='', gap='-', long_line=70): 2.41 """ Save secondary structure and name in fasta format """ 2.42 save_fasta(out_file, self.secstr(sequence, pdb_chain, gap), name, description, long_line) 2.43 2.44 +# vim: set ts=4 sts=4 sw=4 et: