Skip to content

Commit

Permalink
Merge pull request #156 from Maarten-vd-Sande/master
Browse files Browse the repository at this point in the history
Fasta more dict-like behaviour
  • Loading branch information
mdshw5 authored Dec 10, 2019
2 parents f1668d2 + 80ad273 commit 94b8980
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 8 deletions.
21 changes: 13 additions & 8 deletions pyfaidx/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

dna_bases = re.compile(r'([ACTGNactgnYRWSKMDVHBXyrwskmdvhbx]+)')

__version__ = '0.5.6'
__version__ = '0.5.7'


class KeyFunctionError(ValueError):
Expand Down Expand Up @@ -997,13 +997,9 @@ def __init__(self,
sequence_always_upper=sequence_always_upper,
rebuild=rebuild,
build_index=build_index)
self.keys = self.faidx.index.keys
if not self.mutable:
self.records = dict(
[(rname, FastaRecord(rname, self)) for rname in self.keys()])
elif self.mutable:
self.records = dict([(rname, MutableFastaRecord(rname, self))
for rname in self.keys()])

_record_constructor = MutableFastaRecord if self.mutable else FastaRecord
self.records = OrderedDict([(rname, _record_constructor(rname, self)) for rname in self.faidx.index.keys()])

def __contains__(self, rname):
"""Return True if genome contains record."""
Expand Down Expand Up @@ -1060,6 +1056,15 @@ def get_spliced_seq(self, name, intervals, rc=False):
# len(Sequence.seq) != end - start
return Sequence(name=name, seq=seq, start=None, end=None)

def keys(self):
return self.records.keys()

def values(self):
return self.records.values()

def items(self):
return self.records.items()

def close(self):
self.__exit__()

Expand Down
1 change: 1 addition & 0 deletions tests/test_FastaRecord.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ def test_long_names(self):
long_names = []
for record in fasta:
long_names.append(record.long_name)
print(tuple(zip(deflines, long_names)))
assert deflines == long_names

def test_issue_62(self):
Expand Down

0 comments on commit 94b8980

Please sign in to comment.