Oi
Então, testei o ep aqui com o exemplo do enunciado e apesar de dar resultado diferente, acredito que esteja certa a árvore (acho que apenas eu comecei de uma "raiz" diferente).
Já aquelas sequencias também do enunciado também cheguei numa árvore bastante razoável....
Pooooorém naquele exemplo que o professor deu na última aula de explicação do algorítmo, que eram 4 espécies simbólicas la, meu ep acabou retornando uma distancia negativa....
Assim, todos os valores deram iguais, menos um que no exemplo do professor deu distancia 0,2, e no meu deu duas, -0,5 e 2,5 (2,5 + (-0,5) = 2,0).
É válido? Testei com o njplot e ficou meio estranho o desenho... não consegui ver uma parte...
o.O
Ja eu to com dois problemas no exemplo do site.
Entao, o programa esta salvando as corretamente distancias do noh mais a direita da tela (que mostra as especies). As outras distancias ele esta hipervalorizando. Ou melhor, ele calcula certo mas nao sei o que puxar pra por no newick.
Pensando em
Alpha 0
Beta 1
Gama 2
Delta 3
epsilon 4
O outro erro eh q por exemplo, no caso da pagina nosso programa junta certo Alpha com Beta (gerando 5),
Epsilon com Delta (gerando 6 e para).
Dae ele junta corretamente o elemento 5 com Gama. Ate ae correto, so que nosso programa coloca isso no newick como uma especie e junta Gama com ele, formando um terceiro ramo com duas especies, sendo q 5 nao eh uma especie.
Agradeço por alguma luz!!
Valeu
Thiago
Entao, o programa esta salvando as corretamente distancias do noh mais a direita da tela (que mostra as especies). As outras distancias ele esta hipervalorizando. Ou melhor, ele calcula certo mas nao sei o que puxar pra por no newick.
Pensando em
Alpha 0
Beta 1
Gama 2
Delta 3
epsilon 4
O outro erro eh q por exemplo, no caso da pagina nosso programa junta certo Alpha com Beta (gerando 5),
Epsilon com Delta (gerando 6 e para).
Dae ele junta corretamente o elemento 5 com Gama. Ate ae correto, so que nosso programa coloca isso no newick como uma especie e junta Gama com ele, formando um terceiro ramo com duas especies, sendo q 5 nao eh uma especie.
Agradeço por alguma luz!!
Valeu
Thiago
Opa...
consegui resolver o segundo problema!!
Agora o problema dos numeros que devem ir para o newick parece com o do Paulo e esse ainda nao consegui resolver.
Valeu
Thiago
consegui resolver o segundo problema!!
Agora o problema dos numeros que devem ir para o newick parece com o do Paulo e esse ainda nao consegui resolver.
Valeu
Thiago
Para o exemplo dado no enunciado e para o exemplo dado em classe, a árvore construida pelo Neighbor Joining é única. O motivo disso é que para as matrizes de distâncias desses casos existem árvores que representam exatamente essas distâncias. Para esse tipo de matriz a árvore é única e o algoritmo neighbor joining produz exatamente essas árvores.
Se o programa dá distância negativa para o exemplo dado em aula, ou o seu programa está errado ou a matriz de distância está errada?? A matriz deve ser a seguinte:
Zé Augusto
Se o programa dá distância negativa para o exemplo dado em aula, ou o seu programa está errado ou a matriz de distância está errada?? A matriz deve ser a seguinte:
4Já, para outras matrizes, o algoritmo pode produzir distâncias negativas. Valores pequenos são aceitos pelos biólogos e valores grandes indicam que a modelagem implícita não está adequada. No caso das 16 seqüências, deve aparecer uma distância negativa. Não vamos nos preocupar com isso! Mas, mesmo assim, acredito que a árvore produzida pelo algoritmo deva ser única.
seq1 0 0.7 1.0 1.0
seq2 0.7 0 1.3 0.9
seq3 1.0 1.3 0 1.6
seq4 1.0 0.9 1.6 0
Zé Augusto
Eita, ia arrumar ai pensei num treco, então to com mais uma dúvida (la no fim da msg).
Hmmmm, entendi o que aconteceu: eu estou criando um "nó" a mais, desnecessário (apesar de não prejudicar em nada além da distância negativa....), Estou juntando os dois últimos nós incorretamente.
a árvore do exemplo do caderno deve ser:
A -------- ------- B
--- 1 ---------- 2 ---
C -------- ------ D
Com distância entre 1 e 2 de 0,2.
A minha árvore ficou:
A ------- ------- B
---- 1 ----- 3 ----- 2 -----
C ------- ------- D
Onde distancia de 1 -> 3 = -0,05, e distancia de 3 -> 2 = 0,25
Logo distancia de 1->2 = 0,2
Mas, se não tiver o "ítem 3", a árvore q era pra ser binária vai ter 3 nós, não vai??? como ligar 1 com 2 sem ter um 3 nó????? ou to viajando muito?
Obrigado
Hmmmm, entendi o que aconteceu: eu estou criando um "nó" a mais, desnecessário (apesar de não prejudicar em nada além da distância negativa....), Estou juntando os dois últimos nós incorretamente.
a árvore do exemplo do caderno deve ser:
A -------- ------- B
--- 1 ---------- 2 ---
C -------- ------ D
Com distância entre 1 e 2 de 0,2.
A minha árvore ficou:
A ------- ------- B
---- 1 ----- 3 ----- 2 -----
C ------- ------- D
Onde distancia de 1 -> 3 = -0,05, e distancia de 3 -> 2 = 0,25
Logo distancia de 1->2 = 0,2
Mas, se não tiver o "ítem 3", a árvore q era pra ser binária vai ter 3 nós, não vai??? como ligar 1 com 2 sem ter um 3 nó????? ou to viajando muito?
Obrigado
Só as sub-árvores da raiz são binárias.
A raiz deve ter três "filhos" mesmo.
Ah, sim! Quando eu digo "raiz", quero dizer "o nó que você definir como raiz".
Abraços.
Igor.
O comentário do Igor está OK.
Olhando de outra forma: na árvore produzida pelo algoritmo, cada nó interno tem exatamente 3 ligacões.
Zé Augusto
Olhando de outra forma: na árvore produzida pelo algoritmo, cada nó interno tem exatamente 3 ligacões.
Zé Augusto
Ah, mais uma dúvida, em sala você disse que o ";" era meio inútil né?
Meu algorítmo deixa no final em vez de ; ele deixa um : (dois pontos), rodei no njplot e ele aceita mesmo assim. Pode deixar assim mesmo?
Só pra poupar umas linhas de código o.O
Meu algorítmo deixa no final em vez de ; ele deixa um : (dois pontos), rodei no njplot e ele aceita mesmo assim. Pode deixar assim mesmo?
Só pra poupar umas linhas de código o.O
É melhor deixar com o ";" mesmo!
Zé Augusto
Zé Augusto