Awk 转换为';u';至';t';在FASTA中不更改标题

Awk 转换为';u';至';t';在FASTA中不更改标题,awk,sed,fasta,Awk,Sed,Fasta,我正试图弄明白如何将我的混合DNA/RNA转化为多重基因 >header1 atcggtc atgcgca >useful header2 aucggca uucacuu ucucuca >header3 agucuau cuagggc ... 转换为仅DNA格式,而不破坏标题。我的知识到最后 sed 's/u/t/g' 但这显然会影响标题。有没有办法避免使用sed更改标题,或者我应该使用另一个命令?我应该寻找什么?使用sed,很容易说“只在选定的行上执行此操作”。一般语法

我正试图弄明白如何将我的混合DNA/RNA转化为多重基因

>header1
atcggtc
atgcgca
>useful header2
aucggca
uucacuu
ucucuca
>header3
agucuau
cuagggc
...
转换为仅DNA格式,而不破坏标题。我的知识到最后

sed 's/u/t/g'

但这显然会影响标题。有没有办法避免使用sed更改标题,或者我应该使用另一个命令?我应该寻找什么?

使用
sed
,很容易说“只在选定的行上执行此操作”。一般语法是address命令,其中address可以是正则表达式,以仅匹配第一个字符不是
的行

sed '/^[^>]/s/u/t/g' file.fasta >newfile.fasta
第一个
^
表示行的开头;字符类
[^>]
匹配一个不匹配的字符(换行符或)

sed '/^[^>]/s/u/t/g' file.fasta >newfile.fasta
Awk可能更容易学习,更容易阅读,更容易记忆。Awk中的相同脚本可能看起来像

awk '/^[^>]/{ gsub(/u/,"t") }1' file.fasta >newfile.fasta

最后一个
1
不是打字错误;这是一个Awk习语,用于“打印所有行”。

使用
sed
,很容易说“仅在选定行上执行此操作”。一般语法是address命令,其中address可以是正则表达式,以仅匹配第一个字符不是
的行

sed '/^[^>]/s/u/t/g' file.fasta >newfile.fasta
第一个
^
表示行的开头;字符类
[^>]
匹配一个不匹配的字符(换行符或)

sed '/^[^>]/s/u/t/g' file.fasta >newfile.fasta
Awk可能更容易学习,更容易阅读,更容易记忆。Awk中的相同脚本可能看起来像

awk '/^[^>]/{ gsub(/u/,"t") }1' file.fasta >newfile.fasta

最后一个
1
不是打字错误;这是一个Awk习语,表示“打印所有行”。

你的意思是想跳过文件中的第一行吗?这意味着我想跳过每一行头行,这是一个多行,但是的,这是正确的方向:)你应该添加一些示例数据,以便其他人可以正确回答。
Awk'/^>/{print;next}{gsub u”,“t”)}1'file.fasta
不要假设愿意帮助您了解
DNA-only格式
标题
含义的人。您的问题是告诉我们如何识别“标题”并根据您发布的示例输入显示预期输出,以消除任何混淆或误解的机会。您的意思是要跳过文件中的第一行吗?这意味着我要跳过每一个标题行,这是一个多标题,是的,这是正确的方向:)你应该添加一些样本数据,以便其他人能够正确回答。
awk'/^>/{print;next}{gsub(“u”,“t”)}1'文件。fasta
不要假设人们愿意帮助你知道
仅DNA格式
标题
的意思。您的问题是告诉我们如何识别“标题”,并根据您发布的示例输入显示预期输出,以消除任何混淆或误解的机会。@EnricoMariadeAngelis我将您的编辑回滚,认为有点侵入性。我可以在评论中链接到。sed的另一种选择可能是:
sed'/^>/!y/u/t/'文件
@EnricoMariadeAngelis我回滚了您的编辑,认为有点侵入性。我可以在评论中链接到。sed的另一种选择可能是:
sed'/^>/!y/u/t/'文件