【发布时间】:2016-04-07 03:40:03
【问题描述】:
如果已经有人问过这个问题,请提前道歉,但我花了几个小时寻找答案。我是 Python 的新学生(3.5.1,Windows 10),我的任务是编写一个函数来读取 Fasta 文件(其名称由用户给出)的内容并创建一个新文件(名称也给出按用户,可以是 .fasta 或 .txt),Fasta 序列为大写。一个fasta文件被格式化,所以序列的标题前面有一个插入符号,后面的行是字符(我想大写的那些)。 fasta 文件可能在整个文件中包含多个 > 行,我不想将这些行大写。
import sys
def fasta_upper(fasta_input_file, fasta_output_file):
fasta_input_file = sys.argv
with open('fasta_input_file', 'r') as f:
file_contents = f.read()
temp_contents = file_contents[:]
for line in temp_contents:
if line.startswith('>'):
pass
else:
g = line.upper()
open('fasta_output_file', 'w')
fasta_output_file.write(g)
fasta_input_file.close()
fasta_output_file.close()
例如这个 Fasta 文件:
序列名称 cgtatgggggtattccgtagctctgctgacgcgcttatatttagc cgctcgatctggaggactctgcgatcgcggcatcgagctagcggc
会这样写:
序列名称 CGTATGGGGGGTATTCCGTAGCTCTGCTGACGCGCTTATATTTAGC CGCTCGATCTGGAGGACTCTCGATCGCGGCATCGAGCTAGCGCGGC
我确信这只是充满了明显的错误,但我还是一个正在努力学习的学生。请温柔一点!预先感谢您提供的任何建议或提示,我真的很喜欢 Python,我想克服这种挫败感,成为一个更富裕的程序员 :)
【问题讨论】:
标签: python formatting filenames uppercase fasta