文字で始まる行とその後の行だけを保持する方法

文字で始まる行とその後の行だけを保持する方法

>誤ったヘッダー(欠落など)を含む一部のシーケンスと、適切なヘッダーを含む一部のシーケンスを意図的に含むFASTAファイルがあります。ファイルのフォーマットは、一行にヌクレオチド配列を含む。

例:

2865958
AACTACTACAG
>hCoV-19/2832832
ACTCGGGGGG
28328332
ATTCCCCG
>hCoV-19/2789877
ACTCGGCCC

>次のように、正しいヘッダー(たとえば、で始まる行)を持つシーケンスのみを維持したいと思います。

>hCoV-19/2832832
ACTCGGGGGG
>hCoV-19/2789877
ACTCGGCCC

さまざまな方法(sed、grep、awk)を試しましたが、正しい結果がありませんでした。

awk '/^>/ { ok=index($0,"hCoV")!=0;} {if(ok) print;}' combined_v4.fa > combined_v5.fa

sed -n '/^>.*hCoV/,/^>/ {/^>.*hCoV/p ; /^>/! p}' combined_v4.fa > combined_v5.fa

grep -w ">" -A 1 combined_v4.fa > combined_v5.fa

何をすべきか知っていますか?

ベストアンサー1

Tellはgrepまた、で始まる行を探して、>次の行も含みます。

grep -A1 --no-group-separator '^>' combined_v4.fa > combined_v5.fa

grepあなたのバージョンがそれをサポートしていない場合は、--no-group-separator以下を試してください。

grep -A1 '^>' combined_v4.fa | grep -v '^--$' > combined_v5.fa

おすすめ記事