Tree_3

<div dojoType="dojo.data.ItemFileWriteStore" jsId="myStore" id="treeDemo"></div>  <!-- 设置数据源 -->
<div dojoType="dijit.tree.TreeStoreModel" jsId="catModel" store="myStore" query="{id: '0'}"></div><!-- 设置树的缓存模型 -->
<div id="collectionsTree" data-dojo-type="dijit.Tree" data-dojo-props='"class":"container", model:catModel,......></div><!-- 引用缓存模型 -->


dojo.data.ItemFileWriteStore是一个读文件的类, 但是可以设置他的data属性效果是一样的
//这个是仿的data数据
var itemsArr = [{
id : '0',
name : '李英夫',
department : 'w3',
root : true,
level : 1,
children : [{_reference: '1'}, {_reference: '2'},{_reference: '3'}]
},{
id : '1',
name : '类别1',
department : '部门甲',
level : 2,
children : [{_reference: '4'},{_reference: '5'}]
},{
id : '4',
name : '路人乙',
department : '部门乙',
level : 3
},{
id : '5',
name : '路人丙',
department : '部门丙',
level : 3
},{
id : '2',
name : '路人丁',
department : '部门丁',
level : 3
},{
id : '3',
name : '路人戊',
department : '部门戊',
level : 3
}];



//将数据变成字符串
var treeData = function(items){
this._identifier = 'id';
this._label = 'name';
this._items = items;
this.getData = function(){
var s = "{";
s += "identifier:'" + this._identifier + "',";
s += "label:'" + this._label + "',";
s += "items:[";
for(var i = 0, len = this._items.length; i < len; i++){
s += "{id:'" + this._items[i].id + "',";
s += "name:'" + this._items[i].name + "',";
s += "department:'" + this._items[i].department + "',";
s += "level:" + this._items[i].level + "";
if(!!this._items[i].children){
s += ",children : [";
var cs = this._items[i].children;
for(var j = 0, jLen = cs.length; j < jLen; j++){
s += "{_reference:'" + cs[j]._reference + (j == (jLen-1) ? "'}]" : "'},");
}
}
s += (i == (len-1) ? "}" : "},");
}
s += "]}";
return s;
};
}


//添加到dojo.data.ItemFileWriteStore所声明的标签中.
document.getElementById("treeDemo").setAttribute("data", new treeData(itemsArr).getData());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是修改后的代码,将基因树文件的名称与对比结果对应起来: ```R library(ape) species_tree <- read.tree("species_tree.treefile") # 定义一个函数来比较树拓扑结构差异 compare_trees <- function(gene_tree_file, species_tree) { gene_tree <- read.tree(gene_tree_file) diff_count <- comparePhylo(gene_tree, species_tree, force.rooted = TRUE) return(diff_count) } # 定义一个函数来批量比较基因树和物种树的差异 batch_compare_trees <- function(gene_tree_folder, species_tree) { gene_tree_files <- list.files(path = gene_tree_folder, pattern = ".treefile", full.names = TRUE) diff_counts <- numeric(length(gene_tree_files)) gene_tree_names <- character(length(gene_tree_files)) # 添加一个空的字符向量,用于存储基因树的名称 for (i in seq_along(gene_tree_files)) { gene_tree_file <- gene_tree_files[i] gene_tree_names[i] <- basename(gene_tree_file) # 获取基因树文件的名称,并存储到对应位置 diff_counts[i] <- compare_trees(gene_tree_file, species_tree) } colnames(diff_counts) <- gene_tree_names # 将基因树文件的名称设置为diff_counts的列名 return(diff_counts) } # 设置基因树文件夹路径 gene_tree_folder <- "/ifs1/User/dengwei/NTF_data/rotted_gene_tree" # 替换为你的基因树文件夹路径 # 执行批量比较 diff_counts <- batch_compare_trees(gene_tree_folder, species_tree) ``` 在修改后的代码中,我添加了一个新的字符向量`gene_tree_names`来存储基因树文件的名称。在循环中,我使用`basename()`函数获取基因树文件的名称,并将其存储到`gene_tree_names`的对应位置。然后,我使用`colnames()`函数将基因树文件的名称设置为`diff_counts`的列名,以实现基因树名称与对比结果的对应关系。 请注意,您需要将`gene_tree_folder`替换为您实际的基因树文件夹路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值