Usando sed
.
sed -n '/^[ATGC]/p' infile
Usando grep
:
grep '^[ATGC]' infile
Usando awk
:
awk '/^[ATGC]/' infile
Todos retornarão as linhas que começam com uma das letras A, C, T, G
.
Eu tenho o arquivo de seqüência Illumina formatado pelo FASTQ assim:
@ERR009148.2485 IL26_1382:7:1:224:616 length=36
ATCACATGCTCCTTGTTCTGCAGCTTGGTGCGGATG
+ERR009148.2485 IL26_1382:7:1:224:616 length=36
>>>>>>>>>>>>>>>>>>><>><>>>5>>->><->*
@ERR009148.2486 IL26_1382:7:1:914:59 length=36
AAAGAAGTAAAATAAGAAGGCAATGCTTGTGGAAGG
+ERR009148.2486 IL26_1382:7:1:914:59 length=36
.>>74::1>174151/7152313,3&003,00&2%2
@ERR009148.2487 IL26_1382:7:1:251:589 length=36
GCCATAAACACCCCAGCACCACATTCATCAGAAGGG
+ERR009148.2487 IL26_1382:7:1:251:589 length=36
>>>>>>>>>>>>>>>>>>>>>>8>>>>>>><;<>>7
@ERR009148.2488 IL26_1382:7:1:911:194 length=36
ATTGAGGTGGAGTAGATTAGGCGTAGGTAGAAGTAG
+ERR009148.2488 IL26_1382:7:1:911:194 length=36
<>>>=>>>>>>>=;<:>>7>==<<7;=67=/57/57
Eu preciso extrair apenas as sequências brutas de cada registro. Qual sed
comando pode ser usado para isso?
Resultado esperado:
ATCACATGCTCCTTGTTCTGCAGCTTGGTGCGGATG
AAAGAAGTAAAATAAGAAGGCAATGCTTGTGGAAGG
GCCATAAACACCCCAGCACCACATTCATCAGAAGGG
ATTGAGGTGGAGTAGATTAGGCGTAGGTAGAAGTAG
Usando sed
.
sed -n '/^[ATGC]/p' infile
Usando grep
:
grep '^[ATGC]' infile
Usando awk
:
awk '/^[ATGC]/' infile
Todos retornarão as linhas que começam com uma das letras A, C, T, G
.
Você deseja extrair a linha de sequência bruta de um arquivo formatado do FASTQ :
Assumindo que não há linhas em branco no arquivo, usando o GNU sed
:
$ sed -n '2~4p' file.fastq
ATCACATGCTCCTTGTTCTGCAGCTTGGTGCGGATG
AAAGAAGTAAAATAAGAAGGCAATGCTTGTGGAAGG
GCCATAAACACCCCAGCACCACATTCATCAGAAGGG
ATTGAGGTGGAGTAGATTAGGCGTAGGTAGAAGTAG
A expressão 2~4p
será impressa ( p
) a cada quarta linha ( ~4
) começando na linha 2 nos dados de entrada.
Se você quiser ser um pouco mais específico e obter a linha após cada linha que começa com @
:
$ sed -n '/^@/{n;p;}' file.fastq
Isso localizará as linhas que começam com o caractere @
e, quando uma dessas linhas for encontrada, a próxima linha será lida ( n
) e impressa.