今天用liftover做基因組轉換的時候,hg38轉hg19,所有的位點都轉失敗了。看到提示為“#Deleted in new”。一般這個錯誤為是由于hg19 (要轉換的基因組) 中沒有該區域導致的。但是這么多位點都沒有,估計是提供的文件有問題了。
檢查了一下,發現給的bed文件是這樣的:
確實這個文件不怎么規范,bed文件第三列至少應該是第二列+1。不過之前做overlap的時候用intersectBed取交集,會默認第三列至少+1,所以對bed文件格式一直不太在意。(所以此處intersectBed可能會存在一個問題,比如某個位點位置為1000,相鄰的為1001,但是intersectBed會認為這兩個有交集,對于位點取交集還是最好用awk。)
將這個文件第三列修改為+1之后,轉換基因組位置果然可以了。
awk -F '{print $1"\t"$2"\t"$3+1}' original.bed > new.bed
bed文件格式還是要盡可能規范一些。