最近在查看一些數據集,發現有些非常老的數據庫里面只有GRCh37的數據,一些經常更新的數據庫里面只有GRCh38的數據,如果恰好手頭上有兩個版本的基因組數據可就非常頭疼了。為了找到數據,我掘地三尺,把網絡數據都翻了一下,發現有些官方網站如VEP會提供兩個版本的數據,并且上面標注了"remapped with CrossMap",說明這些數據是轉換而來的。
VEP數據庫
1、CrossMap的實現原理
- 根據文件中記載的序列之間的位點關系進行基因坐標的轉換(但軟件的不進行相似性的比較,而是從外部直接獲取)
2、CrossMap支持什么文件
CrossMap支持什么文件
目前官方支持BED、GFF/GTF、VCF文件,這些文件里面都包含了染色體、染色體的起始位點信息。
哪些信息是這些文件里面共有的?
這些文件里面都包含了染色體
、染色體的起始位點信息
3、CrossMap的用法
準備文件: 此處以轉換VCF為例子
- 待轉換的VCF文件
- 轉換鏈文件: .chain或.lz格式
- 轉換版本的參考基因組:如要把數據轉換成GRCh38的數據,那么
PS
:轉換鏈文件是通過UCSC的LiftOver工具得到的,官方有提供可直接下載。
- 1、軟件安裝
# 法一
conda install -c bioconda crossmap
#法二
pip3 install CrossMap
- 2、轉換數據
基礎命令
:CrossMap.py vcf input.chain input.vcf refgenome.fa out_vcf
以轉換ExAC數據為例
- 由于資源有限,此處僅抽取一萬行的數據做實驗。
CrossMap.py vcf \
references_grch37_to_grch38.over.chain.gz \
ExAC.hg19.test.vcf \ #you
references_Homo_sapiens_assembly38.fasta \
ExAC.hg38.test.out.nofilter.vcf --no-comp-allele
- 3、數據驗證
因為已經有現成的GRCh38版本的ExAC數據了,因此直接拿轉換好的數據進行對比,由于轉換時間和版本的問題,后續的一些VCF補充信息可能與官方的不一致,此處僅截取頭五列五行(#CHROM,POS,ID,REF,ALT
)的數據作對比。
本地轉換好的數據
本地轉換好的數據
網上的數據
網上的數據
有上兩圖可見這5X5的數據是一致的!
其他
- 下載參考基因組和鏈文件需要注意版本,否則會發現轉換之后的文件沒有對應位點的數據。
PS
:未完待續 ...
參考
CrossMap文章
CrossMap官網
文中鏈文件和參考基因組下載地址