ucsc ``liftover``基因组坐标转换的纯python实现。
pyliftover的Python项目详细描述
Pyliftover是一个库,用于在不同程序集之间快速轻松地转换基因组(点)坐标。
它使用与ucscliftOver tool相同的逻辑和坐标转换映射。
从当前版本(0.2)开始,pyliftover只进行点坐标的转换,即, 与liftOver不同,它不转换范围,也不提供任何处理床文件的特殊工具。 对于单点坐标,它会产生与liftOver完全相同的输出(目前至少使用hg17ToHg18.over.chain.gz文件进行了验证)。
安装
安装包的最简单方法是通过easy_install或pip:
$ easy_install pyliftover
用法
库支持的主要用法示例如下:
from pyliftover import LiftOver lo = LiftOver('hg17', 'hg18') lo.convert_coordinate('chr1', 1000000)
第一行将自动从ucsc下载hg17-to-hg18坐标转换chain file, 除非它已经缓存或在当前目录中可用。或者,您可以提供自己的链文件:
lo = LiftOver('hg17ToHg18.over.chain.gz') lo.convert_coordinate('chr1', 1000000, '-')
lo.convert_coordinate调用的结果是None(如果无法识别源染色体名称)或 新组件。列表可以是空的(在新程序集中删除了轨迹)、具有单个元素(轨迹唯一匹配),或者原则上, 具有多个元素(尽管这对于大多数默认的种内基因组转换来说可能是罕见的)。 注意工具中的坐标是基于0的。也就是说,你可以通过^{tt8}在基因组浏览器中引用一个位置$ 对应于pyliftover术语中的坐标9。
尽管您可以尝试使用任意链文件(如原始的liftOver工具)应用该工具,但对于 同一物种的不同集合之间的坐标。