2013-06-14 4 views
0

bioperl을 사용하여 newick 트리에서 노드를 제거하려고합니다. 트리 파일 데이터를 포함bioperl newick 트리에서 노드 제거

(((A : 5, B : 5) 90 : 2, C : 4) 25 (3), D : 10); 이하

코드이다

use Bio::TreeIO; 
use Bio::Tree::TreeFunctionsI; 
use strict; 
use warnings; 
my $input = new Bio::TreeIO(-file => "tree.newick", -format => "newick"); 
my $tree = $input->next_tree; 
my $bool = $tree-> remove_Node('B'); 
print $bool; 

출력 : 1; 내가 코드에 어떤 문제가 ... 내가 노드가 여전히 존재! 찾을 트리 파일을 열 때

그래서 remove_Node이 작동하지만, 문제는 무엇입니까? 트리에서 노드를 제거하는 방법 ??

미리 감사드립니다.

답변

2
use strict; 
use warnings; 
use Bio::TreeIO; 
use Bio::Tree::TreeFunctionsI; 

my $in = Bio::TreeIO->new(-format => 'newick', 
          -file => 'tree.newick'); 

my $out = Bio::TreeIO->new(-format => 'newick'); 

while (my $tree = $in->next_tree) { 
    $tree->remove_Node('B'); 
    $out->write_tree($tree); 
}