Assumindo que os valores Length
nos cabeçalhos FASTA estão corretos, eu os extrairia de lá:
sed -nre 's/^>.*_Length_([0-9]+) .*//p' \
classifique-os numericamente
| sort -n \
em seguida, imprima a primeira e a última linha
| sed -ne '1p;$p'
Em uma declaração:
sed -nre 's/^>.*Length_([0-9]+) .*//p' | sort -n | sed -ne '1p;$p'
Se os comprimentos declarados nos cabeçalhos não puderem ser confiáveis, então, para contar a duração das seqüências do FASTA, eu primeiro os converteria em unfasta , em seguida, imprima o comprimento da linha de cada segunda linha no mesmo filtro sort | sed
como acima:
uf | awk 'NR%2==0 {print length}' | sort -n | sed -n '1p;$p'
Onde uf
é o script bash simples encontrado aqui .
Observação: os dois marcadores são filtros, ou seja, eles lêem suas entradas da entrada padrão e gravam na saída padrão. Use cat
para alimentá-los com arquivos (ou wget -O -
para alimentá-los pela Internet).