我正在尝试使一个函数在我已经拥有的程序中运行。我在DNA序列中做了相反的恭维。这是我现在拥有的。

for line in infile:
    line = line.strip()
    if line[0] == '>':
            outfile.write(line+'\n')
    else:
            line = line.upper().replace(' ','')
            if re.search('[^ACTG]', line) is None:
                    line = re.sub('A', 'F', line)
                    line = re.sub('T', 'A', line)
                    line = re.sub('F', 'T', line)
                    line = re.sub('G', 'Y', line)
                    line = re.sub('C', 'G', line)
                    line = re.sub('Y', 'C', line)
                    line = line[::-1]
                    outfile.write(line+'\n')
            else:
                    outfile.write('ERROR'+'\n')

如何使用如下格式将函数添加到此程序中
def codon(infile):
      for line in infile:
return something

这可能很简单,我是新来的谢谢。

最佳答案

代码看不到返回任何内容,它只会写入外部文件,因此您可以执行以下操作:

def codon(infile):
    for line in infile:
        line = line.strip()
        if line[0] == '>':
                outfile.write(line+'\n')
        else:
                line = line.upper().replace(' ','')
                if re.search('[^ACTG]', line) is None:
                        line = re.sub('A', 'F', line)
                        line = re.sub('T', 'A', line)
                        line = re.sub('F', 'T', line)
                        line = re.sub('G', 'Y', line)
                        line = re.sub('C', 'G', line)
                        line = re.sub('Y', 'C', line)
                        line = line[::-1]
                        outfile.write(line+'\n')
                else:
                        outfile.write('ERROR'+'\n')
    return

甚至删除return语句。
希望这有帮助。

10-06 02:50