allpy
changeset 710:4e0312f00a6c
Renamed Markup.as_list() to Markup.sorted_values() and added Markup.sorted_keys()
author | Daniil Alexeyevsky <dendik@kodomo.fbb.msu.ru> |
---|---|
date | Thu, 07 Jul 2011 22:27:14 +0400 |
parents | 8b03bd2f919a |
children | 21cfc7897a8f |
files | allpy/base.py test/test_markups.py |
diffstat | 2 files changed, 17 insertions(+), 8 deletions(-) [+] |
line diff
1.1 --- a/allpy/base.py Thu Jul 07 19:32:44 2011 +0400 1.2 +++ b/allpy/base.py Thu Jul 07 22:27:14 2011 +0400 1.3 @@ -511,12 +511,19 @@ 1.4 self._register(sequence, name) 1.5 self.refresh() 1.6 1.7 - def as_list(self): 1.8 - for monomer in self.sequence: 1.9 - yield self[monomer] 1.10 + def sorted_keys(self): 1.11 + return self.sequence 1.12 + 1.13 + def sorted_values(self): 1.14 + return (self[monomer] for monomer in self.sequence) 1.15 + 1.16 + def get(self, key, value=None): 1.17 + if key not in self: 1.18 + return value 1.19 + return self[key] 1.20 1.21 def __contains__(self, monomer): 1.22 - return monomer in self.sequence 1.23 + return hasattr(monomer, self.name) 1.24 1.25 def __getitem__(self, monomer): 1.26 return getattr(monomer, self.name) 1.27 @@ -531,8 +538,10 @@ 1.28 self._register(alignment, name) 1.29 self.refresh() 1.30 1.31 - def as_list(self): 1.32 - for column in self.alignment.columns: 1.33 - yield self[column] 1.34 + def sorted_keys(self): 1.35 + return self.alignment.columns 1.36 + 1.37 + def sorted_values(self): 1.38 + return (self[column] for column in self.alignment.columns) 1.39 1.40 # vim: set ts=4 sts=4 sw=4 et:
2.1 --- a/test/test_markups.py Thu Jul 07 19:32:44 2011 +0400 2.2 +++ b/test/test_markups.py Thu Jul 07 22:27:14 2011 +0400 2.3 @@ -17,7 +17,7 @@ 2.4 def test_case(): 2.5 seq = protein.Sequence.from_string('seQVEncE', name='sequence') 2.6 markups.SequenceCaseMarkup(seq) 2.7 - letters = ''.join(v[0] for v in seq.markups['case'].as_list()) 2.8 + letters = ''.join(v[0] for v in seq.markups['case'].sorted_values()) 2.9 assert letters == 'lluuullu' 2.10 2.11 def test_manual():