[SP-pm] Bioinformática e Sequenciamento [Was: ordenando arquivos.]

Eden Cardim edencardim at gmail.com
Fri Jul 29 14:02:06 PDT 2011


>>>>> "Thiago" == Thiago Yukio Kikuchi Oliveira <stratust em gmail.com> writes:

    Thiago> Na verdade o sort não é feito no arquivo de sequências
    Thiago> inicial.

O que é "arquivo de sequências inicial"?

    Thiago> É feito no arquivo de alinhamento.

"Arquivo de alinhamento" é saída de algo como o BLAST, por exemplo?


    Thiago>  O problema é que agora existem Sequenciadores de
    Thiago> nova-geração que geram muitas sequencias, porém de tamanho
    Thiago> pequene (entre 36bp-100pb). Cada corrida gera arquivos texto
    Thiago> de tamanho entre 3GB - 15GB.

A 5 anos atrás quando eu trabalhava com isso, era mais ou menos a mesma
coisa só que a gente usava um "assemblador de contigs" pra calcular os
overlaps e montar sequências maiores contínuas (contigs) baseadas no
vetor de sequenciamento. O que mudou de lá pra cá?

    Thiago> Só exemplificando:

    Thiago> Incialmente temos um arquivo texto com as sequências no
    Thiago> formato FASTQ que vem do sequenciamento.  O formato do
    Thiago> arquivo é assim:

    Thiago> @SEQ_ID
    Thiago> GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT
    Thiago> +
    Thiago> !''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65

    Thiago> Um dos meus arquivos FASTQ possui 7.7G (com 168.061.844
    Thiago> linhas). Na verdade são 2 arquivos pois ele é pareado, mas
    Thiago> dá pra usar apenas um neste exemplo.

    Thiago> Esse arquivo é alinhado contra o genoma do camundondo e
    Thiago> aproximadamente 60% das sequências são mapeadas.

    Thiago> Portanto o arquivo contendo o alinhamento tem ~60% do
    Thiago> tamanho do arquivo com as posições cromossomicas:
    Thiago> Ex:
    Thiago> #chromossomo #start #end #sequencias #qualidade #etc..
    Thiago> chr10 2345 2390 ...
    Thiago> chr2 1234 1289 ...

    Thiago> Esse arquivo de alinhamento não é ordenado. Uma das
    Thiago> primeiras análises que fazemos nesse arquivo de alinhamento
    Thiago> é descobrir a cobertura do sequenciamento (quantas
    Thiago> sequencias cobrem a mesma região). E para fazer isso é
    Thiago> necessário ter as coordenadas genômicas ordenadas.

Ok, mas aí não precisa acumular tudo na memória né, é só separar os
intervalos. Inclusive, o postgresql faz esse tipo de conta de overlap
pra você com desempenho próximo do ideal sem foder tua RAM e você
implementa em 40 minutos, o único trabalho é inserir cada linha como
registro sendo que os números delimitando o intervalo são inseridos como
uma única coluna do tipo reta.

-- 
   Eden Cardim       Need help with your Catalyst or DBIx::Class project?
  Code Monkey                    http://www.shadowcat.co.uk/catalyst/
 Shadowcat Systems Ltd.  Want a managed development or deployment platform?
http://blog.edencardim.com/            http://www.shadowcat.co.uk/servers/
http://twitter.com/#!/edenc


More information about the SaoPaulo-pm mailing list