Skip to content

Commit 51b41a1

Browse files
committed
Read input with myopen and gzip
1 parent ca0b597 commit 51b41a1

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

fasta_extract.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def write_to_file(self, handle):
2222
handle.write(self.sequence + "\n")
2323

2424
# Functions
25-
def myopen(infile, mode="r"):
25+
def myopen(infile, mode="rt"):
2626
if infile.endswith(".gz"):
2727
return gzip.open(infile, mode=mode)
2828
else:
@@ -69,7 +69,7 @@ def fasta_iterator(input_file):
6969

7070
fasta_sequences = fasta_iterator(fasta_file)
7171

72-
with open(result_file, "w") as f:
72+
with open(result_file, "wt") as f:
7373
for seq in fasta_sequences:
7474
name = seq.name.split(" ")[0]
7575
if name in wanted and len(seq.sequence) > 0:

fasta_unwrap.py

+14-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
%program input_file output_file
77
"""
88

9+
# Modules
10+
import gzip
911
import sys
1012

1113
try:
@@ -14,13 +16,23 @@
1416
print("This program requires the Biopython library")
1517
sys.exit(0)
1618

19+
# Defining functions
20+
def myopen(_file, mode="rt"):
21+
if _file.endswith(".gz"):
22+
return gzip.open(_file, mode=mode)
23+
24+
else:
25+
return open(_file, mode=mode)
26+
27+
# Parse user input
1728
try:
18-
in_file = open(sys.argv[1], "rU")
19-
out_file = open(sys.argv[2], "w")
29+
in_file = myopen(sys.argv[1], "rt")
30+
out_file = myopen(sys.argv[2], "wt")
2031
except:
2132
print(__doc__)
2233
sys.exit(0)
2334

35+
# Treat sequences
2436
sequences = ([seq.id, seq.seq.tostring()] for seq in SeqIO.parse(in_file, 'fasta'))
2537
with open(sys.argv[2], "w") as out_file:
2638
for seq in sequences:

0 commit comments

Comments
 (0)