[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