Interações do Algoritmo Phred/Phrap Renato David Puga
Objetivo Visão geral do pacote Phred/Phrap/Consed Qual informação será disponibilizada Exemplo de uma Implementação
O Projeto (Exemplo) Submissão de cromatogramas (clones e ortologos) PARA MAIS INFORMAÇÕES... http://www.compbionet.org.br/transcript/ renato@odin.unaerp.br
Introdução O que é Phred/Phrap/Consed ? Leitura dos arquivos cromatogramas Atribuição de qualidade às bases Identificação e “mascaramento” de vetores Seqüência Assembly Visualização de Assembly
Introdução O que é Algoritmo ? Forma estruturada de resolver problemas em uma seqüência lógica.
Utilizando o pacote Phred/Phrap Obtendo o pacote Plataforma
Utilizando o pacote Phred/Phrap Diretórios Chromat_dir Edit_dir Phd_dir
Executando o programa phred Linha de comando: phred -id chromat_dir -pd phd_dir Lê e processa os arquivos.
Executando o programa phred Linha de comando: phred -id chromat_dir -pd phd_dir Grava os arquivos *.phd.1.
Executando o programa phred Linha de comando: phred -id chromat_dir -pd phd_dir Opções: -id : Lê e processa os arquivos no diretório chromat_dir. -pd : Grava os arquivos *.phd.1 no diretório phd_dir.
Executando o programa phred Exemplo: .phd.1
Executando o programa ph2fasta Linha de comando: ph2fasta -id phd_dir -os seqs_fasta -oq seqs_fasta.qual Escreve um arquivo de seqüências com o nome de “seq_fasta”.
Executando o programa ph2fasta Linha de comando: ph2fasta -id phd_dir -os seqs_fasta -oq seqs_fasta.qual Escreve um arquivo de qualidade com o nome de “seq_fasta.qual”.
Executando o programa ph2fasta Linha de comando: ph2fasta -id phd_dir -os seqs_fasta -oq seqs_fasta.qual Opções: -os : Escreve um arquivo de sequência. -pd : Escreve um arquivo com a qualidade das bases.
Executando o programa ph2fasta Exemplo: seqs_fasta
Executando o programa ph2fasta Exemplo: seqs_fasta.qual
Executando o programa cross_match Linha de comando: cross_match seqs_fasta vector.seq –minmatch 12 –minscore 20 -screen > screen.out
Executando o programa cross_match Exemplo: screen.out
Executando o programa cross_match Exemplo: seqs_fasta.screen
Executando o programa phrap Linha de comando: phrap seqs_fasta.screen –new_ace > phrap.out Cria um arquivo .ace para que possa ser Importado o assembly para consed.
Executando o programa phrap Exemplo: seqs_fasta.screen.contigs
Pipeline Phred/Phrap/Consed Identifica e “mascara” os vetores. Executar o cross_match. Copiar os arquivos cromatogramas para o diretório chromat_dir Assembly Cria o arquivo: seqs_fasta.screen.contigs Arquivos assembly: seqs_fasta.screen.ace phrap Executar o phred. Atribui valor de qualidade às bases Gera os arquivo *.phd.1 Visualiza e edita o arquivo assembly consed. Converte os arquivos *.phd.1 para fasta. Executa ph2fasta. Seqüência nucleotídeos: seqs_fasta Valor de qualidade: seqs_fasta.screen.qual
Disponibilizando Resultados Quais informações? Como será visualizado? Quais ferramentas?
Disponibilizando Resultados Quais informações? FASTA do cromatograma Início e o Fim da seqüência de qualidade Vetores encontrados
Disponibilizando Resultados Como será visualizado? Web Quais ferramentas? Linguagem Script Perl Comandos do shell
Algoritmos / Scripts Fasta do cromatograma 1 - Abrir o arquivo seqs_fasta. 2 - Exibir o conteúdo do arquivo. Algoritmo
Algoritmos / Scripts Fasta do cromatograma #!/usr/bin/perl print “Content-type: text/html\n\n”; $conteudo = `more seqs_fasta`; # conteúdo em $conteudo print “$conteudo”; # exibe o conteúdo Script Perl
Algoritmos / Scripts Início e Fim da seqüência de alta qualidade 1 - Abrir o arquivo phd.1 desejado. 2 – Localizar a informação TRIM 3 – Mostrar os valores de TRIM Algoritmo
Algoritmos / Scripts TRIM: 36 446 Início Fim Início e Fim da seqüência de alta qualidade TRIM: 36 446 Início Fim
Algoritmos / Scripts TRIM: 36 446 Início e Fim da seqüência de alta qualidade $trim = `grep TRIM TF00604.phd.1`; Script Perl TRIM: 36 446
Algoritmos / Scripts @pos_trim = (“TRIM”,”36”,”446”) Início e Fim da seqüência de alta qualidade @pos_trim = split(/\s+/,$trim); Script Perl @pos_trim = (“TRIM”,”36”,”446”)
Algoritmos / Scripts Início = 36 Fim = 446 Início e Fim da seqüência de alta qualidade print “Início = $pos_trim[1] ”; print “Fim = $pos_trim[2] ”; Script Perl Início = 36 Fim = 446
Algoritmos / Scripts Início e Fim da seqüência de alta qualidade $trim = `grep TRIM TF00604.phd.1`; @pos_trim = split(/\s+/,$trim); print “Início = $pos_trim[1] ”; print “Fim = $pos_trim[2] ”; Script Perl
Algoritmos / Scripts Vetores encontrados 1 – Ler o arquivo screen.out. 2 – Localizar os vetores encontrados. 3 – Separar início e fim de cada vetor. 4 – Exibir vetores e suas posições. Algoritmo
Algoritmos / Scripts Vetores encontrados Script-Perl: Selecionando vetores. @vetor = `grep TF00604-M04R screen.out`; 35 5.88 7.35 0.00 TF00604-M04R.ab1 1 68 (569) pCR4-TOPO_Cloning_Vector 222 294 (3663) 90 0.00 0.00 0.00 TF00604-M04R.ab1 69 158 (479) pCMVSPORT 691 780 (3616) 248 2.94
Algoritmos / Scripts Vetores encontrados $ln = 0; foreach $conteudo ( @vector ) # 1 { if ( $conteudo =~ /^\s+/ ) # 2 $conteudo_linha[$ln] = $conteudo; # 3 $ln++; # 4 } Script-Perl: Separando linhas.
Algoritmos / Scripts Vetores encontrados $ln = 0; foreach $conteudo ( @vector ) # 1 { if ( $conteudo =~ /^\s+/ ) # 2 $conteudo_linha[$ln] = $conteudo; # 3 $ln++; # 4 } Script-Perl: Separando linhas.
Algoritmos / Scripts Vetores encontrados $ln = 0; foreach $conteudo ( @vector ) # 1 { if ( $conteudo =~ /^\s+/ ) # 2 $conteudo_linha[$ln] = $conteudo; # 3 $ln++; # 4 } Script-Perl: Separando linhas.
Algoritmos / Scripts Vetores encontrados @partes = split(/\s+/, $conteudo_linha[$i]); # conteúdo de partes @partes = (“ ”,“35”,”5.88”,”7.35”,”0.00”,”TF00604-M04R.ab1”,”1”, “68 “,...); Script-Perl: Imprimindo os vetores e suas posições.
Algoritmos / Scripts Vetores encontrados $inicio_vetor[$i] = $partes[6]; $fim_vetor[$i] = $partes[7]; # inicio e fim Script-Perl: Imprimindo os vetores e suas posições.
Algoritmos / Scripts Vetores encontrados Script-Perl: Saída print "$i - Início = $inicio_vetor[$i] <br>"; print "$i - Fim = $fim_vetor[$i] <br>"; # imprime Script-Perl: Saída
Algoritmos / Scripts Vetores encontrados for( $i=0; $i < $ln; $i++ ) { @partes = split(/\s+/, $conteudo_linha[$i]); $inicio_vetor[$i] = $partes[6]; $fim_vetor[$i] = $partes[7]; print "$i - Início = $inicio_vetor[$i] <br>"; print "$i - Fim = $fim_vetor[$i] <br>"; } Script-Perl: Imprimindo os vetores e suas posições.
Exemplo
Exemplo
Exemplo
Perguntas?
renato@odin.unaerp.br