node54

//二叉搜索树的实现

class Node{
	constructor(element,parent){  //parent是树中比较重要的属性
		this.element = element;
		this.parent = parent;
		this.left = null;
		this.right = null;
	}
}
class BST{  //不能通过索引取数据
	constructor(){
		this.root = null;
		this.size= 0;  //包含着的节点个数
	}
	add(element){
		if(this.root == null)
		{
			this.root = new Node(element,null);
			this.size++;
			return;
		}
		else
		{
			//增加的不是根节点,第一种方式是根据递归 写循环
			let currentNode = this.root;//当前的根节点
			let compare= 0;//当前比较的结果
			let parent = null;//当前父节点

			while(currentNode){
				compare= element - currentNode.element;
				parent = currentNode;
				if(compare > 0)  //如果大于0就找右树,小于0找左树
				{
					currentNode= currentNode.right;
				}
				else if(compare < 0)
				{
					currentNode = currentNode.left;
				}
				else{
					//break;不处理
					curentNode.element = element; //如果比较后结果一样,就有最新的去覆盖
					return;
				}
			}

			let newNode = new Node(element,parent);
			if(compare > 0)
			{
				parent.right = newNode;
			}
			else
			{
				parent.left = newNode;
			}
		}
	}
}

let bst = new BST();
let arr=[10,8,19,6,15,22,20];
arr.forEach(element=>{
	bst.add(element);
});
console.dir(bst.root,{depth:200});
结果:
D:\important_file\笔记>node test1.js
<ref *1> Node {
  element: 10,
  parent: null,
  left: <ref *2> Node {
    element: 8,
    parent: [Circular *1],
    left: Node { element: 6, parent: [Circular *2], left: null, right: null },
    right: null
  },
  right: <ref *3> Node {
    element: 19,
    parent: [Circular *1],
    left: Node {
      element: 15,
      parent: [Circular *3],
      left: null,
      right: null
    },
    right: <ref *4> Node {
      element: 22,
      parent: [Circular *3],
      left: Node {
        element: 20,
        parent: [Circular *4],
        left: null,
        right: null
      },
      right: null
    }
  }
}

-----------------------------
class Node{
	constructor(element,parent){  //parent是树中比较重要的属性
		this.element = element;
		this.parent = parent;
		this.left = null;
		this.right = null;
	}
}
class BST{  //不能通过索引取数据
	constructor(compare){
		this.root = null;
		this.size= 0;  //包含着的节点个数
		this.compare = compare||this.compare;
	}
	compare(e1,e2)
	{
		return e1 - e2;
	}
	add(element){
		if(this.root == null)
		{
			this.root = new Node(element,null);
			this.size++;
			return;
		}
		else
		{
			//增加的不是根节点,第一种方式是根据递归 写循环
			let currentNode = this.root;//当前的根节点
			let compare= 0;//当前比较的结果
			let parent = null;//当前父节点

			while(currentNode){
				compare= this.compare(element,currentNode.element);
				parent = currentNode;
				if(compare > 0)  //如果大于0就找右树,小于0找左树
				{
					currentNode= currentNode.right;
				}
				else if(compare < 0)
				{
					currentNode = currentNode.left;
				}
				else{
					//break;不处理
					currentNode.element = element; //如果比较后结果一样,就有最新的去覆盖
					return;
				}
			};

			let newNode = new Node(element,parent);
			if(compare > 0)
			{
				parent.right = newNode;
			}
			else
			{
				parent.left = newNode;
			}
		}
	}
}

let bst = new BST((e1,e2)=>{ //arr.sort默认调用sort就是简单a-b 自定义比较器
	return e1.age-e2.age;
});
let arr=[{age:10,name:'zs'},{age:8},{age:19},{age:6},{age:15},{age:22},{age:20},{age:10,name:'lisi'}];
arr.forEach((element)=>{
	bst.add(element);
});
console.dir(bst.root,{depth:200});
结果:
D:\important_file\笔记>node test.js
<ref *1> Node {
  element: { age: 10, name: 'lisi' },
  parent: null,
  left: <ref *2> Node {
    element: { age: 8 },
    parent: [Circular *1],
    left: Node {
      element: { age: 6 },
      parent: [Circular *2],
      left: null,
      right: null
    },
    right: null
  },
  right: <ref *3> Node {
    element: { age: 19 },
    parent: [Circular *1],
    left: Node {
      element: { age: 15 },
      parent: [Circular *3],
      left: null,
      right: null
    },
    right: <ref *4> Node {
      element: { age: 22 },
      parent: [Circular *3],
      left: Node {
        element: { age: 20 },
        parent: [Circular *4],
        left: null,
        right: null
      },
      right: null
    }
  }
}


 

使用GATK的combinegvcf模块合并gvcf文件,可是到了这一步Using GATK jar /stor9000/apps/users/NWSUAF/2022050434/biosoft/gatk4.3/gatk-4.3.0.0/gatk-package-4.3.0.0-local.jar Running: java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /stor9000/apps/users/NWSUAF/2022050434/biosoft/gatk4.3/gatk-4.3.0.0/gatk-package-4.3.0.0-local.jar CombineGVCFs -R /stor9000/apps/users/NWSUAF/2008115251/genomes/ARS-UCD1.2_Btau5.0.1Y.fa --variant /stor9000/apps/users/NWSUAF/2020055419/home/xncattle/03.GVCF/01_out_GVCF/XN_22/1_XN_22.g.vcf.gz --variant /stor9000/apps/users/NWSUAF/2020055419/home/xncattle/03.GVCF/01_out_GVCF/XN_18/1_XN_18.g.vcf.gz -O /stor9000/apps/users/NWSUAF/2022050469/candy/bwa/gatk/Combine/chr1.g.vcf.gz 09:10:40.524 INFO NativeLibraryLoader - Loading libgkl_compression.so from jar:file:/stor9000/apps/users/NWSUAF/2022050434/biosoft/gatk4.3/gatk-4.3.0.0/gatk-package-4.3.0.0-local.jar!/com/intel/gkl/native/libgkl_compression.so 09:10:50.696 INFO CombineGVCFs - ------------------------------------------------------------ 09:10:50.697 INFO CombineGVCFs - The Genome Analysis Toolkit (GATK) v4.3.0.0 09:10:50.697 INFO CombineGVCFs - For support and documentation go to https://software.broadinstitute.org/gatk/ 09:10:50.698 INFO CombineGVCFs - Executing as 2022050469@node54 on Linux v3.10.0-1127.el7.x86_64 amd64 09:10:50.698 INFO CombineGVCFs - Java runtime: Java HotSpot(TM) 64-Bit Server VM v1.8.0_72-b15 09:10:50.698 INFO CombineGVCFs - Start Date/Time: July 21, 2023 9:10:40 AM CST 09:10:50.698 INFO CombineGVCFs - ------------------------------------------------------------ 09:10:50.698 INFO CombineGVCFs - ------------------------------------------------------------ 09:10:50.698 INFO CombineGVCFs - HTSJDK Version: 3.0.1 09:10:50.699 INFO CombineGVCFs - Picard Version: 2.27.5 09:10:50.699 INFO CombineGVCFs - Built for Spark Version: 2.4.5 09:10:50.699 INFO CombineGVCFs - HTSJDK Defaults.COMPRESSION_LEVEL : 2 09:10:50.699 INFO CombineGVCFs - HTSJDK Defa就停止了,没有输出文件,也没有报错文件
07-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值