方法一:ENSEMBL 网页版
输出文件示例(前三列是猩猩基因组上的序列,最后一列是与之相对应人的基因组序列):
.ENSEMBL 网页版,链接:http://asia.ensembl.org/Homo_sapiens/Tools/AssemblyConverter?db=core
ENSEMBL里面可选的物种有人,狗,猪,斑马鱼等9种,可选的文件格式也包含bed,gtf,gff,vcf和WIG。
我需要将小鼠的vcf文件,从mm10转换到GRCh39,下载00-All.vcf.gz 和mgp.v5.merged.indels.dbSNP142.normed.vcf.gz
http://ftp.ncbi.nih.gov/snp/organisms/archive/mouse_10090/VCF/00-All.vcf.gz
ftp://ftp-mouse.sanger.ac.uk/REL-1505-SNPs_Indels/mgp.v5.merged.indels.dbSNP142.normed.vcf.gz
-O mgp.v5.indels.vcf.gz
方法二、UCSC的 liftover
参考:[王临孝]生信杂谈|使用liftover进行不同版本的染色体位置转换(https://mp.weixin.qq.com/s?src=11×tamp=1646365838&ver=3655&signature=qDDq8YLxS7JQWMpEdAhYqPT6Ga5Wlqh8MtfUJYf3QoK-KzEXlvxxkcwD5c7w3hpUnga6EZFcZuTO8seTP*GcAQC0nmfLDmdeZWxFwxMlVHOXv6KAgyiQgb0x5KQI&new=1)
1.Liftover工具的下载
wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/liftOver
2. Liftover chain file的下载
使用liftover需要ucsc提供的不同基因组之间的坐标注释文件,对于chain文件的详细介绍,可以参见博客(http://www.zxzyl.com/archives/tag/liftover)。
http://hgdownload.soe.ucsc.edu/goldenPath/mm10/liftOver/mm10ToMm39.over.chain.gz
3. 输入文件,作坐标转换
输入文件是bed格式的文件,前三列分别是chrom, start, end。但是通常要输入第四列信息(例如chr1:10000-20000),这样在输出文件中便可将不同物种的基因组坐标一一对应,如hg19(人)可对应PanTro5(猩猩)。
方法三:通过 picard 转换 vcf 坐标
参考:风风是超人
先picard 建立基因组索引.dict文件,再vcf坐标转换
示例
java -jar picard.jar LiftoverVcf \
I = input.vcf.gz \
O = output.vcf.gz \
CHAIN = hg19ToHg38.over.chain.gz \
REJECT = unmap_variants.vcf \
R = hg38.fa # ref genome
PS:相关的.fa文件,.dict文件,.vcf文件, .chain文件均需要在同一文件夹,软连接它们
操作路径:/home/u20111230014/workspace/genome/mm10_to_GRCm39
ln -s /home/u20111230014/workspace/genome/GRCm39/bowtie2_index/GRCm39.fa
ln -s /home/u20111230014/workspace/genome/GRCm39/STAR_GRCm39/GRCm39.dict
ln -s /home/u20111230014/workspace/genome/SNP_mm10/mgp.v5.merged.indels.dbSNP142.normed.vcf.gz
ln -s /home/u20111230014/workspace/genome/mm10_to_GRCm39/mm10ToMm39.over.chain.gz
实例
picard=/home/public/software/miniconda2/share/picard-2.26.2-0/picard.jar
java -jar $picard LiftoverVcf -I 00-All.vcf.gz -O GRCm39_00-All.vcf.gz -CHAIN mm10ToMm39.over.chain.gz -REJECT mm10ToMm39 _rejected_variants.vcf -R GRCm39.fa
java -jar $picard LiftoverVcf -I mgp.v5.merged.indels.dbSNP142.normed.vcf.gz -O GRCm39_indels.dbSNP142.normed.vcf.gz -CHAIN mm10ToMm39.over.chain.gz -REJECT rejected_variants.vcf -R GRCm39.fa