1引言
分享个 R 包 easylift, 对不同基因组坐标进行转换。
2安装
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("easylift")
3使用
创建一个测试基因组坐标:
library("easylift")
gr <- GRanges(
seqname = Rle(
c("chr1", "chr2"),
c(100000, 100000)
),
ranges = IRanges(
start = 1, end = 200000
)
)
# Here, "hg19" is the source genome
genome(gr) <- "hg19"
读取转换间两个基因组坐标的 chain 文件,你也可以去 ucsc 下载:
# Here, we use the `system.file()` function because the chain file is in the
# package (however if you need to point to any other file on your machine,
# just do 'chain <- "path/to/your/hg19ToHg38.over.chain.gz"'):
chain <- system.file("extdata", "hg19ToHg38.over.chain.gz", package = "easylift")
gr
#> GRanges object with 200000 ranges and 0 metadata columns:
#> seqnames ranges strand
#> <Rle> <IRanges> <Rle>
#> [1] chr1 1-200000 *
#> [2] chr1 1-200000 *
#> [3] chr1 1-200000 *
#> [4] chr1 1-200000 *
#> [5] chr1 1-200000 *
#> ... ... ... ...
#> [199996] chr2 1-200000 *
#> [199997] chr2 1-200000 *
#> [199998] chr2 1-200000 *
#> [199999] chr2 1-200000 *
#> [200000] chr2 1-200000 *
#> -------
#> seqinfo: 2 sequences from hg19 genome; no seqlengths
转换:
# Here, "hg38" is the target genome
easylift(gr, "hg38", chain)
#> GRanges object with 300000 ranges and 0 metadata columns:
#> seqnames ranges strand
#> <Rle> <IRanges> <Rle>
#> [1] chr1 10001-177376 *
#> [2] chr19 242824-242864 *
#> [3] chr1 10001-177376 *
#> [4] chr19 242824-242864 *
#> [5] chr1 10001-177376 *
#> ... ... ... ...
#> [299996] chr2 10001-200000 *
#> [299997] chr2 10001-200000 *
#> [299998] chr2 10001-200000 *
#> [299999] chr2 10001-200000 *
#> [300000] chr2 10001-200000 *
#> -------
#> seqinfo: 25 sequences (1 circular) from hg38 genome
然后是送书,三个名额,依然是公众号分享次数前三的小朋友哦。
【编辑推荐】从统计小白到领域精英,厘清思路,注重实战,解决问题! 全面拆解临床预测模型知识体系 真实案例一镜到底,助您充分掌握预测模型全流程 不仅讲授方法,更注重经验总结,扫除疑难杂症
4结尾
路漫漫其修远兮,吾将上下而求索。
欢迎加入生信交流群。加我微信我也拉你进 微信群聊 老俊俊生信交流群 (微信交流群需收取 20 元入群费用,一旦交费,拒不退还!(防止骗子和便于管理)) 。QQ 群可免费加入, 记得进群按格式修改备注哦。
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/386911.html