擅长:python、mysql、java
<p>谢谢大家的回答。作为一个初学者,我的主要问题是.split(',')上出现了一个空白行,我现在已经从概念上理解了这一点。所以我用python编写的第一个有用的程序是:</p>
<pre><code># this script converts a .fastq file in to .fasta format
import sys
# Usage statement:
print('\nUsage: fq2fasta.py input-file output-file\n=========================================\n\n')
# define a function for fasta formating
def format_fasta(name, sequence):
fasta_string = '>' + name + "\n" + sequence + '\n'
return fasta_string
# open the file for reading
data = open(sys.argv[1])
# open the file for writing
fasta = open(sys.argv[2], 'wt')
# feed all fastq records in to a list
fq_records = data.read().replace('@', ',@').split(',')
# iterate through list objects
for item in fq_records[1:]: # this is to avoid the first line which is created as blank by .split() function
line = item.replace('\n', '\t').split('\t')
name = line[0]
sequence = line[1]
fasta.write(format_fasta(name, sequence))
fasta.close()
</code></pre>
<p>随着我了解的更多,答案中提到的其他事情对我来说会更清楚。
再次感谢。在</p>