você pode usar grep
para fornecer apenas as partes do arquivo com mais de 100 caracteres entre >
e gravar os resultados em um novo arquivo (que deve funcionar com o fasta):
grep -Pzo '>[^>]{100,}' fasta.txt > fasta_wo_short_genes.txt
explicação:
-
-P
diz ao grep para aceitar expressões regulares pérolas (por algum motivo, eu não consegui fazê-lo funcionar com expressões regulares comuns do grep) -
z
diz ao grep para ver o arquivo inteiro como uma grande linha -
o
diz ao grep para produzir apenas as partes correspondentes (caso contrário, por causa doz
, o resultado sempre será o resultado do arquivo inteiro se encontrar alguma correspondência)
a expressão regular:
-
>
o caractere que separa suas seqüências de genes de vírus -
[^>]
corresponde a qualquer caractere, exceto>
-
{100,}
corresponde a 100 ou mais repetições da expressão anterior (neste caso[^>]
)