Python插入变量输出

Python插入变量输出,python,bioinformatics,Python,Bioinformatics,我需要把一个DNA序列翻译成它对应的氨基酸序列。我已经编写了整个程序,但是我对输出的方式有困难 总之,我有以下代码: for x in f1: x = x.strip() if x.count("seq"): f2.write((x)+("_1_+\n")) f2.write((x)+("_2_+\n")) f2.write((x)+("_3_+\n")) f2.write((x)+("_1_-\n"))

我需要把一个DNA序列翻译成它对应的氨基酸序列。我已经编写了整个程序,但是我对输出的方式有困难

总之,我有以下代码:

for x in f1:
    x = x.strip()
    if x.count("seq"):
        f2.write((x)+("_1_+\n"))
        f2.write((x)+("_2_+\n"))
        f2.write((x)+("_3_+\n"))
        f2.write((x)+("_1_-\n"))
        f2.write((x)+("_2_-\n"))
        f2.write((x)+("_3_-\n"))
    else:
        f2.write((translate1(x))+("\n"))
        f2.write((translate2(x))+("\n"))
        f2.write((translate3(x))+("\n"))
        f2.write((translate1neg(x))+("\n"))
        f2.write((translate2neg(x))+("\n"))
        f2.write((translate3neg(x))+("\n"))
这将产生以下输出:

>seq1_1_+
>seq1_2_+
>seq1_3_+
>seq1_1_-
>seq1_2_-
>seq1_3_-
iyyslrs-las-smrlssiv-m
fiirydrs-ladrcgshrssk
llfativas-lidaalidrl
frrsmraasis-lativannkm
lddr-ephrsas-lrs-riin
-tidesridqlasydrse--m
但我需要的是这样的东西:

>seq1_1_+
iyyslrs-las-smrlssiv-m
>seq1_2_+
fiirydrs-ladrcgshrssk
>seq1_3_+
llfativas-lidaalidrl
>seq1_1_-
frrsmraasis-lativannkm
>seq1_2_-
lddr-ephrsas-lrs-riin
>seq1_3_-
-tidesridqlasydrse--m 

所以,我的问题是,我如何解决这个问题?

您正在将它们一起打印。很明显,为什么输出是如此…看起来您正在将不适合的内容混合到一个数据结构中。请发布您的整个计划,以便我们能更好地帮助您。
# First store data.
sequence = []
translated = []

for x in f1:
    x = x.strip()
    if x.count("sequence"):
        sequence.append((x)+("_1_+\n"))
        sequence.append((x)+("_2_+\n"))
        sequence.append((x)+("_3_+\n"))
        sequence.append((x)+("_1_-\n"))
        sequence.append((x)+("_2_-\n"))
        sequence.append((x)+("_3_-\n"))
    else:
        translated.append((translate1(x))+("\n"))
        translated.append((translate2(x))+("\n"))
        translated.append((translate3(x))+("\n"))
        translated.append((translate1neg(x))+("\n"))
        translated.append((translate2neg(x))+("\n"))
        translated.append((translate3neg(x))+("\n"))

# and then write it to file.

for s, t in zip(sequence, translated):
    f2.write(s)
    f2.write(t)