Skip to content

Commit

Permalink
Merge pull request #29 from standage/fix/open
Browse files Browse the repository at this point in the history
Fix GFF3Reader open
  • Loading branch information
standage committed Dec 14, 2016
2 parents 2eb3737 + 74eb297 commit 7a80af9
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 6 deletions.
10 changes: 5 additions & 5 deletions tag/range.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def __init__(self, start, end):
assert start >= 0, ('start coordinate {} invalid, must be an '
'integer >= 0'.format(start))
assert end >= 0, ('end coordinate {} invalid, must be an '
'integer > 0'.format(start))
'integer >= 0'.format(end))
assert start <= end, ('coordinates [{}, {}] invalid, start must be '
'<= end'.format(start, end))
self._start = start
Expand Down Expand Up @@ -81,9 +81,9 @@ def start(self):

@start.setter
def start(self, newstart):
assert newstart > 0, \
assert newstart >= 0, \
('new start coordinate {} invalid, must be an '
'integer > 0'.format(newstart))
'integer >= 0'.format(newstart))
assert newstart <= self._end, \
('new start coordinate {} invalid, must '
'be <= end {}'.format(newstart, self._end))
Expand All @@ -95,9 +95,9 @@ def end(self):

@end.setter
def end(self, newend):
assert newend > 0, \
assert newend >= 0, \
('new end coordinate {} invalid, must be an '
'integer > 0'.format(newend))
'integer >= 0'.format(newend))
assert self._start <= newend, \
('new end coordinate {} is invalid, '
'must be >= start {}'.format(newend, self._start))
Expand Down
3 changes: 2 additions & 1 deletion tag/reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
# -----------------------------------------------------------------------------

import sys
import tag
from tag.range import Range
from tag.comment import Comment
from tag.directive import Directive
Expand Down Expand Up @@ -70,7 +71,7 @@ def __init__(self, instream=None, infilename=None,
self.instream = instream
if infilename:
self.infilename = infilename
self.instream = open(infilename, 'r')
self.instream = tag.open(infilename, 'r')
self.assumesorted = assumesorted
self.strict = strict
self.declared_regions = dict()
Expand Down
8 changes: 8 additions & 0 deletions tests/test_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,3 +211,11 @@ def test_seqreg_outoforder():
reader = GFF3Reader(instream=infile, assumesorted=True)
with pytest.raises(ValueError) as ve:
records = [r for r in reader]


def test_gzip_input():
reader = GFF3Reader(infilename='tests/testdata/gzipdata.gff3.gz')
records = [r for r in reader]
assert len(records) == 5
genes = [r for r in records if hasattr(r, 'type') and r.type == 'gene']
assert len(genes) == 3

0 comments on commit 7a80af9

Please sign in to comment.