我有一个+ 20k内含序列的fasta文件,其中包含以下标题:
>ENSG[0-9] | ENST[0-9] | start_position | end_position | name |
我想更改ENSG [0-9]和ENST [0-9]的位置,并将“NASCENT”添加到ENST [0-9]模式。
我试过了:
sed 's/\(ENSG\d*\) *| *\(ENST\d*\) */\2 | \1/'
首先只关注重新定位,但无济于事。我可能已经感到困惑了。
任何提示或更好的解决方案?
答案 0 :(得分:0)
不是100%确定我的输入格式是否正确,但是如果示例文件需要这样:
>ENSG1 | ENST1 | 1 | 3 | name1 |
ATG
>ENSG2 | ENST2 | 4 | 9 | name2 |
ATGATG
>ENSG12 | ENST12 | 10 | 17 | name12 |
ATGATGATG
使用以下参数调用sed:
sed 's/\(ENSG[0-9]\+\).*\(ENST[0-9]\+\)\(.*\)/NASCENT_\2 | \1\3/g'
会给你
>NASCENT_ENST1 | ENSG1 | 1 | 3 | name1 |
ATG
>NASCENT_ENST2 | ENSG2 | 4 | 9 | name2 |
ATGATG
>NASCENT_ENST12 | ENSG12 | 10 | 17 | name12 |
ATGATGATG