Grep 使用 -A 和 -B 标志输出奇怪的字符以进行 fastq 分析
Grep outputting strange characters using -A and -B flags for fastq analysis
我有一个如下所示的文件:
@HISEQ:331:C85AMANXX:8:1101:16636:1980 1:N:0:ATCACGAC
NTCTATAAACTCTTCATGCCAGTTCCCTGTCTCATCAGATAGATTCTGAGGCCTCTAGGCATCAGCCGGATATCCCTAAGGACAGTGTTGGAGGAACTGCTGAGTGGATTCATGGTCAACTACCAA
+
#<<BBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFF
@HISEQ:331:C85AMANXX:8:1101:2337:2047 1:N:0:ATCACGAC
CTGTGAAAACTCTTCATGCCAGTTCCCTGTCTCATCAGATAGATTCTGAGGCCTCTAGGCATCAGCCGGATATCCCTAAGGACAGTGTTGGAGGAACTGCTGAGTGGATTCATGGTCAACTACCAA
+
BBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFFF<FFF<FF<BFFFF<FFFFBFFFBFFFFF<B
我正在使用以下 grep 命令:
grep -B 1 -A 2 'AGGCATCAGCCGGA' file.fastq | head > out.fastq
输出看起来像这样,您可以在第 5 行和第 10 行看到输出了两个破折号,我不希望这样:
@HISEQ:331:C85AMANXX:8:1101:16636:1980 1:N:0:ATCACGAC
NTCTATAAACTCTTCATGCCAGTTCCCTGTCTCATCAGATAGATTCTGAGGCCTCTAGGCATCAGCCGGATATCCCTAAGGACAGTGTTGGAGGAACTGCTGAGTGGATTCATGGTCAACTACCAA
+
#<<BBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFF
--
@HISEQ:331:C85AMANXX:8:1101:2337:2047 1:N:0:ATCACGAC
CTGTGAAAACTCTTCATGCCAGTTCCCTGTCTCATCAGATAGATTCTGAGGCCTCTAGGCATCAGCCGGATATCCCTAAGGACAGTGTTGGAGGAACTGCTGAGTGGATTCATGGTCAACTACCAA
+
BBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFFF<FFF<FF<BFFFF<FFFFBFFFBFFFFF<B
--
有没有第 5 行和第 10 行没有破折号的输出方式?
使用 grep -v
:
grep -B 1 -A 2 'AGGCATCAGCCGGA' file.fastq |
grep -v -- '^--' |
head > out.fastq
默认情况下 grep
通过分隔符 --
分隔上下文组。一个块中可能有多个匹配项,因此行数不是恒定的。分隔符将显示块的开始和结束位置。
如果您的 grep
版本可用,您可以添加选项 --no-group-separator
来禁止此功能。
您可以向 sed 添加管道:
grep -B 1 -A 2 'AGGCATCAGCCGGA' file.fastq | head | sed '/^--$/d'> out.fastq
我有一个如下所示的文件:
@HISEQ:331:C85AMANXX:8:1101:16636:1980 1:N:0:ATCACGAC
NTCTATAAACTCTTCATGCCAGTTCCCTGTCTCATCAGATAGATTCTGAGGCCTCTAGGCATCAGCCGGATATCCCTAAGGACAGTGTTGGAGGAACTGCTGAGTGGATTCATGGTCAACTACCAA
+
#<<BBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFF
@HISEQ:331:C85AMANXX:8:1101:2337:2047 1:N:0:ATCACGAC
CTGTGAAAACTCTTCATGCCAGTTCCCTGTCTCATCAGATAGATTCTGAGGCCTCTAGGCATCAGCCGGATATCCCTAAGGACAGTGTTGGAGGAACTGCTGAGTGGATTCATGGTCAACTACCAA
+
BBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFFF<FFF<FF<BFFFF<FFFFBFFFBFFFFF<B
我正在使用以下 grep 命令:
grep -B 1 -A 2 'AGGCATCAGCCGGA' file.fastq | head > out.fastq
输出看起来像这样,您可以在第 5 行和第 10 行看到输出了两个破折号,我不希望这样:
@HISEQ:331:C85AMANXX:8:1101:16636:1980 1:N:0:ATCACGAC
NTCTATAAACTCTTCATGCCAGTTCCCTGTCTCATCAGATAGATTCTGAGGCCTCTAGGCATCAGCCGGATATCCCTAAGGACAGTGTTGGAGGAACTGCTGAGTGGATTCATGGTCAACTACCAA
+
#<<BBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFF
--
@HISEQ:331:C85AMANXX:8:1101:2337:2047 1:N:0:ATCACGAC
CTGTGAAAACTCTTCATGCCAGTTCCCTGTCTCATCAGATAGATTCTGAGGCCTCTAGGCATCAGCCGGATATCCCTAAGGACAGTGTTGGAGGAACTGCTGAGTGGATTCATGGTCAACTACCAA
+
BBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFFFFF<FFF<FF<BFFFF<FFFFBFFFBFFFFF<B
--
有没有第 5 行和第 10 行没有破折号的输出方式?
使用 grep -v
:
grep -B 1 -A 2 'AGGCATCAGCCGGA' file.fastq |
grep -v -- '^--' |
head > out.fastq
默认情况下 grep
通过分隔符 --
分隔上下文组。一个块中可能有多个匹配项,因此行数不是恒定的。分隔符将显示块的开始和结束位置。
如果您的 grep
版本可用,您可以添加选项 --no-group-separator
来禁止此功能。
您可以向 sed 添加管道:
grep -B 1 -A 2 'AGGCATCAGCCGGA' file.fastq | head | sed '/^--$/d'> out.fastq