Skip to content

Commit 5ee4873

Browse files
author
Wibowo Arindrarto
committed
fixed write(), changed demo.py
1 parent 7950d60 commit 5ee4873

File tree

2 files changed

+19
-14
lines changed

2 files changed

+19
-14
lines changed

abifpy.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -156,21 +156,27 @@ def write(self, out_file="", qual=0):
156156
qual -- 0: write fasta file, 1: write qual file, 2: write fastq file
157157
158158
"""
159-
if out_file == "" and qual == 0:
160-
out_file = self.meta['id'] + '.fa'
159+
160+
if out_file == "":
161+
file_name = self.meta['id']
162+
else:
163+
file_name = out_file
164+
165+
if qual == 0:
166+
file_name += '.fa'
161167
contents = '>{0} {1}\n{2}\n'.format(
162-
self.meta['id'], self.meta['sampleid'], self.seq())
163-
elif out_file == "" and qual == 1:
164-
out_file = self.meta['id'] + '.qual'
168+
file_name, self.meta['sampleid'], self.seq())
169+
elif qual == 1:
170+
file_name += '.qual'
165171
contents = '>{0} {1}\n{2}\n'.format(
166-
self.meta['id'], self.meta['sampleid'], ' '.join(self.qual(char=False)))
167-
elif out_file == "" and qual == 2:
168-
out_file = self.meta['id'] + '.fq'
172+
file_name, self.meta['sampleid'], ' '.join(self.qual(char=False)))
173+
elif qual == 2:
174+
file_name += '.fq'
169175
contents = '@{0} {1}\n{2}\n+{0} {1}\n{3}\n'.format(
170-
self.meta['id'], self.meta['sampleid'], self.seq(), ''.join(self.qual()))
176+
file_name, self.meta['sampleid'], self.seq(), ''.join(self.qual()))
171177

172-
with open(out_file, 'w') as ofile:
173-
ofile.writelines(contents)
178+
with open(file_name, 'w') as out_file:
179+
out_file.writelines(contents)
174180

175181
def trim(self, seq, segment=20, cutoff=0.05):
176182
"""Trims the sequence using Richard Mott's modified trimming algorithm.
@@ -189,7 +195,6 @@ def trim(self, seq, segment=20, cutoff=0.05):
189195
take = False
190196
trim_start = 0
191197
trim_finish = len(seq)
192-
# obtain scores of each base (based on qual values)
193198

194199
if len(seq) <= segment:
195200
print "Sequence length for {0} is shorter than trim segment size ({1}). Sequence not trimmed.".format(self.meta['id'], segment)

demo.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
print "Working..."
1212

1313
for trace in glob.glob('*.ab1'):
14-
abifpy.Trace(trace).write()
14+
abifpy.Trace(trace, trimming=True).write()
1515
counter += 1
1616

17-
print "Done! Processed {0} trace files into fasta files.".format(counter)
17+
print "Done! Processed {0} trace files.".format(counter)

0 commit comments

Comments
 (0)