【问题标题】:bioperl remove a node from newick treebioperl 从 newick 树中删除一个节点
【发布时间】:2013-06-14 11:25:51
【问题描述】:

我正在尝试使用 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 正在工作,但是 问题是当我打开树文件时,我发现节点仍然存在!... 代码有什么问题?如何从树中删除节点?

提前致谢。

【问题讨论】:

    标签: perl tree treenode bioperl phylogeny


    【解决方案1】:
    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);
    }
    

    【讨论】:

      猜你喜欢
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多