Рекомендуется предоставить входной файл и выходной файл для более четкого выражения того, что вы пытаетесь выполнить. Кроме того, включите любой код, который вы пытались.
Позвольте мне попробовать:
Предположим, что каждая строка ввода выглядит следующим образом:
>NODE_<node>_length_<length>_cov_<cov> <data>
<data1>
<data2>...
>NODE_<node>_length_<length>_cov_<cov> <data>
Затем мы можем проанализировать ввод, используя подчеркивания и пробелыв качестве разделителей полей. Вот программа awk, которая может работать для вас:
awk -F'[_ ]' '
$1 == ">NODE" { p = 0 }
$1 == ">NODE" && $4 > 504 && $6 > 2 { p=1 }
p == 1 { print }
' FASTQ_file
Используя ваш пример в качестве входных данных, нет вывода. Но вот еще один пример входного файла:
>NODE_303603_length_560_cov_2.000000 CAGGATGAGATCGGAAGAGCACACGTCTGAACTCCAGTCACATTACTCGATCTCGT
more data - don't expect to see this output
>NODE_303603_length_505_cov_2.000000 CAGGATGAGATCGGAAGAGCACACGTCTGAACTCCAGTCACATTACTCGATCTCGT
more data - don't expect to see this output
>NODE_303603_length_505_cov_2.000001 CAGGATGAGATCGGAAGAGCACACGTCTGAACTCCAGTCACATTACTCGATCTCGT
more data
this is the data we expect to see
>NODE_303303_length_504_cov_30.000000 CAGGATGTTGATCGGAAGAGCACACGTCTGAACTCCAGTCACATTACTCGATCTCGT
more data - don't expect to see this output
А вот вывод, когда мы все сложим вместе:
awk -F'[_ ]' '
$1 == ">NODE" { p = 0 }
$1 == ">NODE" && $4 > 504 && $6 > 2 { p=1 }
p == 1 { print }
' FASTQ_file
>NODE_303603_length_505_cov_2.000001 CAGGATGAGATCGGAAGAGCACACGTCTGAACTCCAGTCACATTACTCGATCTCGT
more data
this is the data we expect to see