【发布时间】:2015-06-12 12:34:16
【问题描述】:
这对我来说似乎是一项简单的任务,但让它轻松工作最终比我想象的要困难:
我有一个包含几百万行文本(只有几百个单独的序列条目)的 fasta 文件,这些序列名称很长,我想用 Contig $n 替换标题 > 之后的所有字符,其中 @987654323 @ 是一个从 1 开始的整数,每次替换都会递增。
一个示例输入序列名称:
>NODE:345643RD:Cov_456:GC47:34thgd
ATGTCGATGCGT
>NODE...
ATGCGCTTACAC
然后我想像这样输出
>Contig 1
ATGTCGATGCGT
>Contig 2
ATGCGCTTACAC
所以也许是 Perl 脚本?我知道一些基础知识,但我想读入一个文件,然后输出带有更改的新文件,我不确定最好的方法是什么?我看过一些 Perl one liner 示例,但没有一个符合我的要求。
$n = 1
if {
s/>.*/(Contig)++$n/e
++$n
}
【问题讨论】:
-
标题行是否真的以反斜杠开头,并且每隔一行都是这样的空白?
-
不,我遇到了问题,浏览器一直认为我在输入代码,行以“>”符号开头并且没有空行。