Como extrair linhas de seqüência do arquivo FASTQ?

0

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
    
por iiii 13.10.2017 / 07:40

2 respostas

2

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 .

    
por 13.10.2017 / 07:45
2

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.

    
por 19.10.2017 / 12:01