我有一个包含如下 ID 和序列的 fasta 文件:
>4S3O_2:C
GSMSQAVQTNGTQPLSKTWELSLYELQRTPQEAITDGLEIVVSPRSLHSELMCPICLDMLKNTMTTKECLHRFCADCIITALRSGNKECPTCRKKLVSKRSLRPDPNFDALISKIYPS
>5JH8_1:A
AAMVLAYYSGYAGNYAALTRYAASFNAVAVDFYNITAQGAVTGNGDPAPNDAISFLLGRKIPAYGCVSNVDGNGNWSADIAHAVSTSAQSQAVANLVKFAQDKRFSGINVDFEAVAQGDRNNFSHFI
我想递归地剪切包含 id 和序列的行,并将它们放入以相应 id 命名的多个新文件中(不包括链),就像 newfile cointains
>4S3O_2:C
GSMSQAVQTNGTQPLSKTWELSLYELQRTPQEAITDGLEIVVSPRSLHSELMCPICLDMLKNTMTTKECLHRFCADCIITALRSGNKECPTCRKKLVSKRSLRPDPNFDALISKIYPS
它的名字是4S30_2.fasta
这是我尝试过的:
awk -F ">" | sed -i -e '$0,$1{w file.fasta d}' BlindSet150.fasta
答案1
可能有一个强大的生物信息学工具可以将 fasta 序列提取到单个文件中,但如果你想用 awk 自己动手,我建议使用类似
awk -F '[>:]' '/^>/ {close(f); f = $2 ".fasta" } f {print > f}' BlindSet150.fasta