今天用liftover做基因组转换的时候,hg38转hg19,所有的位点都转失败了。看到提示为“#Deleted in new”。一般这个错误为是由于hg19 (要转换的基因组) 中没有该区域导致的。但是这么多位点都没有,估计是提供的文件有问题了。
检查了一下,发现给的bed文件是这样的:
确实这个文件不怎么规范,bed文件第三列至少应该是第二列 1。不过之前做overlap的时候用intersectBed取交集,会默认第三列至少 1,所以对bed文件格式一直不太在意。(所以此处intersectBed可能会存在一个问题,比如某个位点位置为1000,相邻的为1001,但是intersectBed会认为这两个有交集,对于位点取交集还是最好用awk。)
将这个文件第三列修改为 1之后,转换基因组位置果然可以了。
代码语言:javascript复制awk -F '{print $1"t"$2"t"$3 1}' original.bed > new.bed
bed文件格式还是要尽可能规范一些。