470 likes | 594 Views
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.
E N D
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 • Leitura dos arquivos cromatogramas • Atribuição de qualidade às bases • Identificação e “mascaramento” de vetores • Seqüência Assembly • Visualização de Assembly O que é Phred/Phrap/Consed ?
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 phred -id chromat_dir -pd phd_dir Linha de comando: Lê e processa os arquivos.
Grava os arquivos *.phd.1. Executando o programa phred phred -id chromat_dir -pd phd_dir Linha de comando:
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
Escreve um arquivo de seqüências com o nome de “seq_fasta”. Executando o programa ph2fasta ph2fasta -id phd_dir -os seqs_fasta -oq seqs_fasta.qual Linha de comando:
Escreve um arquivo de qualidade com o nome de “seq_fasta.qual”. Executando o programa ph2fasta ph2fasta -id phd_dir -os seqs_fasta -oq seqs_fasta.qual Linha de comando:
Executando o programa ph2fasta ph2fasta -id phd_dir -os seqs_fasta -oq seqs_fasta.qual Linha de comando: 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 cross_match seqs_fasta vector.seq –minmatch 12 –minscore 20 -screen > screen.out Linha de comando:
Executando o programa cross_match Exemplo:screen.out
Executando o programa cross_match Exemplo:seqs_fasta.screen
Cria um arquivo .ace para que possa ser Importado o assembly para consed. Executando o programa phrap phrap seqs_fasta.screen –new_ace > phrap.out Linha de comando:
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
Algoritmo 1 - Abrir o arquivo seqs_fasta. 2 - Exibir o conteúdo do arquivo. Algoritmos / Scripts • Fasta do cromatograma
Script Perl #!/usr/bin/perl print “Content-type: text/html\n\n”; $conteudo = `moreseqs_fasta`; # conteúdo em $conteudo print “$conteudo”; # exibe o conteúdo Algoritmos / Scripts • Fasta do cromatograma
Algoritmo 1 - Abrir o arquivo phd.1 desejado. 2 – Localizar a informação TRIM 3 – Mostrar os valores de TRIM Algoritmos / Scripts • Início e Fim da seqüência de alta qualidade
TRIM: 36 446 Início Fim Algoritmos / Scripts • Início e Fim da seqüência de alta qualidade
Script Perl $trim = `grepTRIM TF00604.phd.1`; Algoritmos / Scripts • Início e Fim da seqüência de alta qualidade TRIM: 36 446
Script Perl @pos_trim = split(/\s+/,$trim); Algoritmos / Scripts • Início e Fim da seqüência de alta qualidade @pos_trim = (“TRIM”,”36”,”446”)
Script Perl print “Início = $pos_trim[1] ”; print “Fim = $pos_trim[2] ”; Algoritmos / Scripts • Início e Fim da seqüência de alta qualidade Início = 36 Fim = 446
Script Perl $trim = `grepTRIM TF00604.phd.1`; @pos_trim = split(/\s+/,$trim); print “Início = $pos_trim[1] ”; print “Fim = $pos_trim[2] ”; Algoritmos / Scripts • Início e Fim da seqüência de alta qualidade
Algoritmo 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. 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
Script-Perl: Separando linhas. $ln = 0; foreach $conteudo ( @vector ) # 1 { if ( $conteudo =~ /^\s+/ ) # 2 { $conteudo_linha[$ln] = $conteudo; # 3 $ln++; # 4 } } Algoritmos / Scripts • Vetores encontrados
Script-Perl: Separando linhas. $ln = 0; foreach $conteudo ( @vector ) # 1 { if ( $conteudo =~ /^\s+/ ) # 2 { $conteudo_linha[$ln] = $conteudo; # 3 $ln++;# 4 } } Algoritmos / Scripts • Vetores encontrados
Script-Perl: Separando linhas. $ln = 0; foreach $conteudo ( @vector ) # 1 { if ( $conteudo =~ /^\s+/ ) # 2 { $conteudo_linha[$ln] = $conteudo; # 3 $ln++; # 4 } } Algoritmos / Scripts • Vetores encontrados
Script-Perl: Imprimindo os vetores e suas posições. @partes = split(/\s+/, $conteudo_linha[$i]); # conteúdo de partes @partes = (“ ”,“35”,”5.88”,”7.35”,”0.00”,”TF00604-M04R.ab1”,”1”, “68 “,...); Algoritmos / Scripts • Vetores encontrados
Script-Perl: Imprimindo os vetores e suas posições. $inicio_vetor[$i] = $partes[6]; $fim_vetor[$i] = $partes[7]; # inicio e fim Algoritmos / Scripts • Vetores encontrados
Script-Perl: Saída print "$i- Início =$inicio_vetor[$i]<br>"; print "$i- Fim =$fim_vetor[$i]<br>"; # imprime Algoritmos / Scripts • Vetores encontrados
Script-Perl: Imprimindo os vetores e suas posições. 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>"; } Algoritmos / Scripts • Vetores encontrados