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

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():