シーケンス実行で得られたFASTQファイルがあり、Unixを使用して2番目のインデックスプライマーのシーケンスを削除しようとしています。以下は、FASTQファイルの最初の数行です。+AGCGCGAT
最初の行、+AGCTCGCG
5番目の行などから削除しようとしています。デフォルトでは、プラス記号とそれに続く8文字(A
、、、C
または)G
を削除しますT
。N
助けてくれてありがとう。
@NS500663:433:HGFVKBGX2:1:11101:2828:1039 1:N:0:CGAGTGCT+AGCGCGAT
TCTGGNAACTTGGCTGATTCACTGGCCACGATACCTCATGTCCTCATCCATCAGGATTATCAGCTGCATAGACGG
+
AAAAA#EEEEEEEEEEEEEA/EEEEEE/EE6E/E/E///E//6EE///EA/////E/E/</E/A6/<E////6//
@NS500663:433:HGFVKBGX2:1:11101:8765:1039 1:N:0:ATCACGAT+AGCTCGCG
CATGTNAAATGAAATACATGGGAGACAAATATTTTTACTTATATAGAGTAGTTTCTCAAGGATTTTATAAATACA
+
AAAAA#EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEAEAEAEEEEAEEEEEEEEEEEEEEEEEEE
答え1
$ sed 's/^\(@.*\)+.*$/\1/' file.fastq >new-file.fastq
+
これにより、その行からプライマー配列の合計が削除されます。
@
そのシンボルで始まり、そのシンボルを含むすべての行を見つけます+
。シンボルの前のビットだけで行を置き換え、+
残りは削除します。
入力はから来、file.fastq
出力はに移動しますnew-file.fastq
。
以下は、後述の文字と明示的に一致するため、より制限的です+
。
$ sed 's/^\(@.*\)+[ACGTN]*$/\1/' file.fastq >new-file.fastq