从 rna fasta 打印转录本 ID 和基因符号到新的文本文件

Print transcript ID and gene symbol from rna fasta to new text file

我想将转录本 ID 和基因符号从 rna fasta 文件的 header 打印到文本文件。我想以第一列是转录本 ID,第二列是基因符号的文本文件结束。

header的例子:

>NM_001001258.1 Sus scrofa ATPase H+/K+ transporting beta subunit (ATP4B)
>XM_001924668.4 PREDICTED: Sus scrofa XK related 9 (XKR9), transcript variant X1, mRNA

我已经能够将成绩单 ID 打印到文本文件中:

grep "^>" GCF_000003025.6_Sscrofa11.1_rna.fna | tr -d '>' | awk '{print }' > test.txt

我还能够将基因符号打印到文本文件中:

grep "^>" GCF_000003025.6_Sscrofa11.1_rna.fna | awk -F'[()]' '{print }' > test.txt

我只是想知道是否有人可以帮助我将其合并为一个步骤以获得单个文件。我知道我可以合并文件,但我想确保 ID 来自同一行。

使用sed

sed -rn '/^>/ s/^>([^ ]+).*\(([^)]+).*/ /gp'
XM_001924668.4 XKR9
NM_001001258.1 ATP4B

这里,首先/^>/是告诉sed只对匹配的行执行动作。后来捕获了两个感兴趣的字符串并使用 </code> 和 <code> 引用它们,回调引用

$ awk -F '[>)]| .*[(]' '{print , }' file
NM_001001258.1 ATP4B
XM_001924668.4 XKR9