我有一个 fastq 文件,其中前 8 行如下所示:
@SRR21388627.2845086/1
GCTGCAGTTGCTGCTGTTGCTGCTGCTGGGGCAGCACACCAGGATGGCCGGCGCCCCCG
+
FFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFF:FF
@SRR21388627.2707233/1
GCTGCAGTTGCTGCTGTTGCTGCTGCTGGGGCAGCACACCAGGATGGCCGGCGCCCCCG
+
FFFF:FF,:FFFF,FF,F:FFFFF:,F,,:,FF:,:,FFF:::F:,,FFF:::,FF:::
我想获取DNA序列并将每个序列保存为一个新文件,以序列前的行命名,例如“SRR21388627.2845086.1.fq”,其中删除了
@
,并替换了/
与 .
到目前为止,我参考了这篇post想出了一个命令,但它还不起作用,因为我不确定如何删除
@
并替换 /
中的
awk
cat deltaQ_1_region_1.fq | paste - - - - | cut -f1,2 |
awk -F'\t' '$1!=prev{close(out); out=$1".fq"; prev=$1} {sub(/[^\t]+\t/,""); print > out}' file
谢谢!
每个序列有 4 行,因此您可以使用 modulo4 来区分每行:
awk '
NR%4 == 1 { sub("/","."); file_out = substr($0,2) ".fq"; next }
NR%4 == 2 { print > file_out; close(file_out) }
' file.fq