Skip to content

Commit dd3a4cb

Browse files
committed
Remove argparse.FileType from input and output files
1 parent 6b55111 commit dd3a4cb

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

primertrim/command.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,11 @@ def main(argv=None):
2020
io_group.add_argument(
2121
"-i",
2222
"--input-fastq",
23-
type=argparse.FileType("r"),
2423
help="Input FASTQ file to be trimmed (default: standard input)",
2524
)
2625
io_group.add_argument(
2726
"-o",
2827
"--output-fastq",
29-
type=argparse.FileType("w"),
3028
help="Output FASTQ file after trimming (default: standard output)",
3129
)
3230
io_group.add_argument(
@@ -100,10 +98,14 @@ def main(argv=None):
10098
args = p.parse_args(argv)
10199

102100
if args.input_fastq is None:
103-
args.input_fastq = sys.stdin
101+
input_fastq = sys.stdin
102+
else:
103+
input_fastq = open(args.input_fastq, "r")
104104

105105
if args.output_fastq is None:
106-
args.output_fastq = sys.stdout
106+
output_fastq = sys.stdout
107+
else:
108+
output_fastq = open(args.output_fastq, "w")
107109

108110
queryset = []
109111
for ambiguous_primer in args.primer:
@@ -126,7 +128,7 @@ def main(argv=None):
126128
am = AlignmentMatcher(queryset, alignment_dir, args.align_id, args.threads)
127129
matchers.append(am)
128130

129-
trimmable_reads = TrimmableReads.from_fastq(args.input_fastq)
131+
trimmable_reads = TrimmableReads.from_fastq(input_fastq)
130132

131133
for m in matchers:
132134
unmatched_seqs = trimmable_reads.get_unmatched_seqs()
@@ -136,7 +138,7 @@ def main(argv=None):
136138
trimmable_reads.register_match(read_id, matchobj)
137139

138140
output_reads = trimmable_reads.output_reads(args.min_length)
139-
write_fastq(args.output_fastq, output_reads)
141+
write_fastq(output_fastq, output_reads)
140142

141143
output_loginfo = trimmable_reads.output_loginfo()
142144
write_log(args.log, output_loginfo, trimmable_reads.loginfo_colnames)

0 commit comments

Comments
 (0)