【发布时间】:2020-01-01 23:00:28
【问题描述】:
我想根据包含新名称的文本文件更改 fasta 文件中的序列名称。我找到了几种方法,但seqkit 给人留下了很好的印象,无论如何我无法让它运行。 Replace key with value by key-value file
fasta 文件seq.fa 看起来像
>BC1
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
>BC2
TGCATGCATGCATGCATGCATGCATGCATGCATGCATGCG
GCATGCATGCATGCATGCATGCATGCATGCATGCG
>BC3
GCATGCATGCATGCATGCATGCATGCATGCATGCCCCCCC
TGCATGCATGCATG
和ref.txt tab delimited 类似的文本文件
BC1 1234
BC2 1235
BC3 1236
在Git Bash 中使用siqkit 会在文件中运行,但不会更改名称。
seqkit replace -p' (.+)$' -r' {kv}' -k ref.txt seq.fa --keep-key
我习惯了r 和新的bash 并且找不到错误但我想我需要针对tab 和_ 进行调整?
如示例https://bioinf.shenwei.me/seqkit/usage/#replace 第 7 部分。Replace key with value by key-value file 序列名称由制表符分隔,仅替换第二部分。
请教如何调整代码?
所需的结果应如下所示:将 BC1 替换为文本文件中的数字 1234
>1234
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGC
>1235
TGCATGCATGCATGCATGCATGCATGCATGCATGCATGCG
GCATGCATGCATGCATGCATGCATGCATGCATGCG
>1236
GCATGCATGCATGCATGCATGCATGCATGCATGCCCCCCC
TGCATGCATGCATG
【问题讨论】: