人类参考基因组有多个版本,在分析中,我们可能会用到不同的版本,抑或有事我们得到的bed
、bam
或者vcf
文件并非我们想要的参考基因组的,这时便可以通过CrossMap进行坐标转换。
1、安装
一般来说是可以通过conda来安装的,但是由于我的anaconda安装的是3.x版本的,而CrossMap需要Python2.7,因此未能使用conda进行安装。这里使用的是python2的pip工具进行安装的,CrossMap的依赖如下:
- gcc
- python2.7.*
- numpy
- cython
- pysam
-
bx-python
在安装bx-python
时出现了错误,缺少了一个文件lzo
,通过sudo yum install lzo-devel
安装后,便可以安装CrossMap
了:
# 先创建Python2环境
$ conda create --name py2 python=2.7
# 激活py2环境
$ source activate py2
$ pip install CrossMap --upgrade
# 退出环境
$ source deactivate
2、使用
CrossMap支持多种文件的坐标转换:
- BAM or SAM format.
- BED or BED-like format. BED file must has at least 3 columns (‘chrom’, ‘start’, ‘end’).
- Wiggle format. “variableStep”, “fixedStep” and “bedGraph” wiggle line are supported.
- BigWig format.
- GFF or GTF format.
-
VCF format.
将hg19的bed文件转换为b37(GRCH37)的bed文件:
# 在转换前需要先去官网(http://crossmap.sourceforge.net/)下载版本坐标对应文件
$ wget http://sourceforge.net/projects/crossmap/files/chain_files/hg19ToGRCh37.over.chain.gz/download -O hg19ToGRCh37.over.chain.gz
# 坐标转换
$ which CrossMap.py
/usr/bin/CrossMap.py
$ python CrossMap.py bed hg19ToGRCh37.over.chain.gz TruSeq_exome_targeted_regions.hg19.bed TruSeq.b37.bed
更多用法可以在官网找到。