【发布时间】:2021-04-25 17:36:24
【问题描述】:
我试图制作一个 perl 代码,以获取 .fna 文件格式的 fasta 序列 DNA 的反向补充。 sequence02C.fna 文件包含 100 条 DNA 序列:
>adbca3e
TGCTCCCCACGCTTGCCTCTCCAGTACTCAACCAAAGCAGTCTCTAGAAAAACAGTTTCCAACGCAATACGATGGAATTCCACTTCCCAAATATCTC
>4c2a958
TCCCCACGCTTTCGCGCTTCAGCGTCAGTATCTGTCCAGTGAGCTGACTTCTCCATCGGCATTCCTACACAGTACTCTAGAAAAACAGTTTCTGCTC
>0639b5b
TCGCGCCTCAGTGTCCAACGCAATACGAGTTGCAGACCAGGACACATGGAATTCCACTTCCCTCTCCAGTACTCAACCAAAGCAGTCTCTAGAAAAG
我使用了以下命令,它可以打开文件并进行反转,但在输出中不显示序列 ID(例如:>adbca3e)。
代码是:
#!/usr/local/perl
open (NS, "sequence02C.fna");
while (<NS>) {
if ($_ =~ tr/ATGC/TACG/) {print $_;}
}
输出文件只是序列的互补而不是反向。 此外,它不包含序列 ID ">adbca3e"
任何人都可以建议适当的代码来立即执行此序列的反向互补并将结果放入输出文件吗?
【问题讨论】:
-
也许你应该解释一下“互补”和“反向”的区别。
-
要打印所有行,只需删除条件
if。
标签: perl reverse dna-sequence complement