的gydF4y2BaGenomicRangesgydF4y2Ba包作为在Bioconductor项目中表示基因组位置的基础。在Bioconductor包层次结构中,它建立在gydF4y2BaIRangesgydF4y2Ba(基础设施)包,并提供支持gydF4y2BaBSgenomegydF4y2Ba(基础设施),gydF4y2BaRsamtoolsgydF4y2Ba(I / O),gydF4y2BaShortReadgydF4y2Ba(i / o & qa),gydF4y2BartracklayergydF4y2Ba(I / O),gydF4y2BaGenomicFeaturesgydF4y2Ba(基础设施),gydF4y2BaGenomicAlignmentsgydF4y2Ba(顺序读取),gydF4y2BaVariantAnnotationgydF4y2Ba(称为变体),以及许多其他Bioconductor软件包。gydF4y2Ba
这套教材通过引入三个类别(gydF4y2Ba农庄gydF4y2Ba,gydF4y2BagpogydF4y2Ba,gydF4y2BaGRangesListgydF4y2Ba),用于表示基因组范围、基因组位置和基因组范围的组。这个小插图的重点是gydF4y2Ba农庄gydF4y2Ba而且gydF4y2BaGRangesListgydF4y2Ba类及其关联方法。gydF4y2Ba
的gydF4y2BaGenomicRangesgydF4y2Ba软件包可于gydF4y2Ba//www.anjoumacpherson.comgydF4y2Ba并可通过gydF4y2BaBiocManager:安装gydF4y2Ba
:gydF4y2Ba
if (!require("BiocManager")) install.packages("BiocManager") BiocManager::install(" genome icranges ")gydF4y2Ba
一个包只需要安装一次。将包加载到R会话中gydF4y2Ba
库(GenomicRanges)gydF4y2Ba
的gydF4y2Ba农庄gydF4y2Ba类表示基因组范围的集合,每个基因组范围在基因组上具有单一的起始和结束位置。它可以用来存储基因组特征的位置,如连续的结合位点,转录本和外显子。方法可以创建这些对象gydF4y2Ba农庄gydF4y2Ba
构造函数。例如,gydF4y2Ba
gr < -农庄(seqnames = Rle (c(“chr1”、“chr2”,“chr1”、“chr3”),c(1、3、2、4)),范围= IRanges(101:110、结束= 111:120名称=头(信件、10)),链= Rle(链(c ("-", "+", "*", "+", "-")), c(1、2、2、3、2)),得分= 1:10,GC = seq(1 0长度= 10))grgydF4y2Ba
包含10个范围和2个元数据列的GRanges对象:# # seqnames范围链|得分GC # # < Rle > < IRanges > < Rle > | <整数> <数字> # # chr1 101 - 111 | 1 1 # # 0.888888888888889 b chr2 102 - 112 + | 2 # # 103 - 113 c chr2 0.777777777777778 + | 3 # # 0.666666666666667 d chr2 104 - 114 * | 4 # # 105 - 115 e chr1 * | 5 0.555555555555556 # # f chr1 106 - 116 + | 6 0.444444444444444 # # 0.333333333333333 g chr3 107 - 117 + | 7 # # 108 - 118 h chr3 + | 8 0.222222222222222 # #我chr3 109 - 119 | 9 # # 0.111111111111111 j chr3 110 - 120 | 10 0 ## ------- ## seqinfo:3个未知基因组序列;没有seqlengthsgydF4y2Ba
创建一个gydF4y2Ba农庄gydF4y2Ba具有10个基因组范围的对象。的输出gydF4y2Ba农庄gydF4y2Ba显示gydF4y2Ba
方法将信息分隔为用。分隔的左右两个区域gydF4y2Ba|gydF4y2Ba
符号。基因组坐标(seqnames、范围和链)位于左侧,元数据列(注释)位于右侧。对于本例,元数据由以下部分组成gydF4y2Ba分数gydF4y2Ba
而且gydF4y2BaGCgydF4y2Ba
的元数据部分,但几乎任何东西都可以存储在gydF4y2Ba农庄gydF4y2Ba对象。gydF4y2Ba
基因组坐标的组成部分gydF4y2Ba农庄gydF4y2Ba对象可以使用gydF4y2BaseqnamesgydF4y2Ba
,gydF4y2Ba范围gydF4y2Ba
,gydF4y2Ba链gydF4y2Ba
访问器的功能。gydF4y2Ba
seqnames (gr)gydF4y2Ba
## factor-Rle长度为10,运行4次##长度:1 3 2 4 ##值:chr1 chr2 chr1 chr3 ##级别(3):chr1 chr2 chr3gydF4y2Ba
范围(gr)gydF4y2Ba
## IRanges具有10个范围和0个元数据列的对象:## start end width ## ## a 101 111 11 ## b 102 112 11 ## c 103 113 11 ## d 104 114 11 ## e 105 115 11 ## f 106 116 11 ## g 107 117 11 ## h 108 118 11 ## i 109 119 11 ## j 110 120 11gydF4y2Ba
链(gr)gydF4y2Ba
##长度:1 2 2 3 2 ##值:- + * + - ##级别(3):+ - *gydF4y2Ba
基因组范围的提取不需要相应的元数据gydF4y2Ba农庄gydF4y2Ba
农庄(gr)gydF4y2Ba
## GRanges对象有10个范围和0个元数据列:## seqnames ranges strand ## ## a chr1 101-111 - ## b chr2 102-112 + ## c chr2 103-113 + ## d chr2 104-114 * ## e chr1 105-115 * ## f chr1 106-116 + ## g chr3 107-117 + ## h chr3 108-118 + ## i chr3 109-119 - ## j chr3 110-120 - ## ------- ## seqinfo: 3个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
可以将这些坐标的注释提取为gydF4y2BaDataFramegydF4y2Ba对象使用gydF4y2BamcolsgydF4y2Ba
访问器。gydF4y2Ba
mcols (gr)gydF4y2Ba
## 10行2列## score DataFrame GC ## ## a 11 ## b 2 0.888888888888889 ## c 3 0.77777777777777777777778 ## d 4 0.6666666666666666667 ## e 5 0.555555555555555555556 ## f 6 0.4444444444444433333333333 ## h 8 0.222222222222222 ## i 9 0.11111111111111111 ## j 10 0gydF4y2Ba
美元mcols (gr)得分gydF4y2Ba
## [1] 1 2 3 4 5 6 7 8 9 10gydF4y2Ba
中与范围对齐的各种序列的长度有关的信息也可以存储在gydF4y2Ba农庄gydF4y2Ba对象。如果这是数据gydF4y2Ba智人gydF4y2Ba,我们可以将值设置为:gydF4y2Ba
seqlength (gr) <- c(249250621, 243199373, 198022430)gydF4y2Ba
然后检索为:gydF4y2Ba
seqlengths (gr)gydF4y2Ba
## chr1 chr2 chr3 ## 249250621 243199373 198022430gydF4y2Ba
访问gydF4y2Ba长度gydF4y2Ba
而且gydF4y2Ba的名字gydF4y2Ba
也被定义了。gydF4y2Ba
名(gr)gydF4y2Ba
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"gydF4y2Ba
长度(gr)gydF4y2Ba
## [1]gydF4y2Ba
农庄gydF4y2Ba对象可以使用gydF4y2Ba分裂gydF4y2Ba
方法。这就产生了gydF4y2BaGRangesListgydF4y2Ba对象,这个类将在下一节中详细讨论。gydF4y2Ba
Sp <- split(gr, rep(1:2, each=5)gydF4y2Ba
# # GRangesList对象长度2:# # # # 1美元农庄对象5和2元数据列:# # seqnames范围链|得分GC # # < Rle > < IRanges > < Rle > | <整数> <数字> # # chr1 101 - 111 | 1 1 # # 0.888888888888889 b chr2 102 - 112 + | 2 # # 103 - 113 c chr2 0.777777777777778 + | 3 # # 0.666666666666667 d chr2 104 - 114 * | 4 # # 105 - 115 e chr1 * | 5 0.555555555555556 # # # # $ 2与5和2 # #农庄组织对象元数据列:## seqnames ranges strand | score GC ## f chr1 106-116 + | 6 0.444444444444444 ## g chr3 107-117 + | 7 0.333333333333333333333 ## h chr3 108-118 + | 8 0.222222222222222 ## i chr3 109-119 - | 9 0.11111111111111111 ## j chr3 110-120 - | 10 0 ## ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
单独的gydF4y2Ba农庄gydF4y2Ba实例可以通过使用gydF4y2BacgydF4y2Ba
而且gydF4y2Ba附加gydF4y2Ba
方法。gydF4y2Ba
c (sp [[1]], sp [[2]])gydF4y2Ba
包含10个范围和2个元数据列的GRanges对象:# # seqnames范围链|得分GC # # < Rle > < IRanges > < Rle > | <整数> <数字> # # chr1 101 - 111 | 1 1 # # 0.888888888888889 b chr2 102 - 112 + | 2 # # 103 - 113 c chr2 0.777777777777778 + | 3 # # 0.666666666666667 d chr2 104 - 114 * | 4 # # 105 - 115 e chr1 * | 5 0.555555555555556 # # f chr1 106 - 116 + | 6 0.444444444444444 # # 0.333333333333333 g chr3 107 - 117 + | 7 # # 108 - 118 h chr3 + | 8 0.222222222222222 # #我chr3 109 - 119 | 9 # # 0.111111111111111 j chr3 110 - 120 | 10 0 ## ------- ## seqinfo:三个未知基因组的序列gydF4y2Ba
农庄gydF4y2Ba对象的作用类似于范围的向量,可以使用预期的类向量的子集操作gydF4y2Ba
gr [2:3]gydF4y2Ba
## seqnames ranges strand | score GC ## | ## b chr2 102-112 + | 2 0.888888888888889 ## c chr2 103-113 + | 3 0.777777777777778 ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
第二个论点是gydF4y2Ba[gydF4y2Ba
子集运算符可用于指定要从对象中提取哪些元数据列gydF4y2Ba农庄gydF4y2Ba对象。例如,gydF4y2Ba
gr(2:3,“GC”)gydF4y2Ba
## seqnames ranges strand | GC ## | ## b chr2 102-112 + | 0.888888888888889 ## c chr2 103-113 + | 0.7777777777778 ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
元素也可以赋值给gydF4y2Ba农庄gydF4y2Ba对象。这里有个例子,a的第二行gydF4y2Ba农庄gydF4y2Ba对象的第一行替换gydF4y2BagrgydF4y2Ba
.gydF4y2Ba
singles <- split(gr, names(gr)) grMod <- gr grMod[2] <- singles[[1]] head(grMod, n=3)gydF4y2Ba
## seqnames ranges strand | score GC ## | ## a chr1 101-111 - | 11 ## b chr1 101-111 - | 11 ## c chr2 103-113 + | 3 0.77777777777777778 ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
的方法可以重复、反向或选择特定的部分gydF4y2Ba农庄gydF4y2Ba对象。gydF4y2Ba
Rep (singles[[2]], times = 3)gydF4y2Ba
## seqnames ranges strand | score GC ## | ## b chr2 102-112 + | 2 0.888888888888889 ## b chr2 102-112 + | 2 0.888888888888889 ## b chr2 102-112 + | 2 0.88888888888888889 ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
牧师(gr)gydF4y2Ba
包含10个范围和2个元数据列的GRanges对象:# # seqnames范围链|得分GC # # < Rle > < IRanges > < Rle > | <整数> <数字> # # j chr3 110 - 120 | 109 - 119 - 0 # #我chr3 | 9 # # 0.111111111111111 h chr3 108 - 118 + | 8 0.222222222222222 # # 0.333333333333333 g chr3 107 - 117 + | 7 # # f chr1 106 - 116 + | 6 0.444444444444444 # # 105 - 115 e chr1 * | 5 0.555555555555556 # # 0.666666666666667 d chr2 104 - 114 * | 4 # # c chr2 103 - 113 + | 3 # # 0.777777777777778 b chr2 0.888888888888889 102 - 112 + | 2 # # chr1 101 - 111 | 1 1 ## ------- ## seqinfo:三个未知基因组的序列gydF4y2Ba
头(gr, n = 2)gydF4y2Ba
## seqnames ranges strand | score GC ## | ## a chr1 101-111 - | 11 ## b chr2 102-112 + | 2 0.888888888888889 ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
尾(gr, n = 2)gydF4y2Ba
## seqnames ranges strand | score GC ## | ## i chr3 109-119 - | 9 0.111111111111111 ## j chr3 110-120 - | 10 0 ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
窗口(gr,开始= 2,结束= 4)gydF4y2Ba
## seqnames ranges strand | score GC ## | ## b chr2 102-112 + | 2 0.888888888888889 ## c chr2 103-113 + | 3 0.777777777777777778 ## d chr2 104-114 * | 4 0.666666666666667 ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
gr [IRanges(开始= c(2、7),结束= c(3、9)))gydF4y2Ba
与5和2 # #农庄对象元数据列:# # seqnames范围链|得分GC # # < Rle > < IRanges > < Rle > | <整数> <数字> # # 0.888888888888889 b chr2 102 - 112 + | 2 # # 103 - 113 c chr2 0.777777777777778 + | 3 # # 0.333333333333333 g chr3 107 - 117 + | 7 # # 108 - 118 h chr3 + | 8 0.222222222222222 # #我chr3 109 - 119 | 0.111111111111111 9 ## ------- ## seqinfo: 3从一个未指明的基因组序列gydF4y2Ba
的基本区间特征gydF4y2Ba农庄gydF4y2Ba对象可以使用gydF4y2Ba开始gydF4y2Ba
,gydF4y2Ba结束gydF4y2Ba
,gydF4y2Ba宽度gydF4y2Ba
,gydF4y2Ba范围gydF4y2Ba
方法。gydF4y2Ba
g < - gr [1:3] g < - append (g,单打[[10]])开始(g)gydF4y2Ba
## [1] 101 102 103 110gydF4y2Ba
结束(g)gydF4y2Ba
## [1] 111 112 113 120gydF4y2Ba
宽度(g)gydF4y2Ba
## [1] 11 11 11 11gydF4y2Ba
范围(g)gydF4y2Ba
## seqnames ranges string# # ## [1] chr1 101-111 - ## [2] chr2 102-113 + ## [3] chr3 110-120 - ## ------- # seqinfo:来自一个未指定基因组的3个序列gydF4y2Ba
的gydF4y2Ba农庄gydF4y2Ba类也有许多操作范围的方法。这些方法可分为gydF4y2Baintra-range方法gydF4y2Ba,gydF4y2Bainter-range方法gydF4y2Ba,gydF4y2Babetween-range方法gydF4y2Ba.gydF4y2Ba
Intra-range方法gydF4y2Ba对a的每个元素进行操作gydF4y2Ba农庄gydF4y2Ba对象独立于对象中的其他范围。例如,gydF4y2Ba侧面gydF4y2Ba
方法可用于恢复所表示范围集合两侧的区域gydF4y2Ba农庄gydF4y2Ba对象。为了得到gydF4y2Ba农庄gydF4y2Ba对象,该对象包含范围上游的10个基的范围:gydF4y2Ba
侧面(g, 10)gydF4y2Ba
## seqnames ranges strand | score GC ## | ## a chr1 112-121 - | 11 ## b chr2 92- 121- | 11 ## b chr2 92-101 + | 2 0.888888888888889 ## c chr2 93-102 + | 3 0.777777777777778 ## j chr3 121-130 - | 10 0 ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
并包括下游基地:gydF4y2Ba
侧翼(g, 10, start=FALSE)gydF4y2Ba
## seqnames range strand | score GC ## | ## a chr1 91-100 - | 11 ## b chr2 113-122 + | 2 0.888888888888889 ## c chr2 114-123 + | 3 0.7777777777777778 ## j chr3 100-109 - | 100 ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
范围内方法的其他示例包括gydF4y2Ba调整gydF4y2Ba
而且gydF4y2Ba转变gydF4y2Ba
.的gydF4y2Ba转变gydF4y2Ba
方法将按特定数量的碱基对移动范围,而gydF4y2Ba调整gydF4y2Ba
方法将把范围扩展指定的宽度。gydF4y2Ba
转变(g, 5)gydF4y2Ba
## seqnames ranges strand | score GC ## | ## a chr1 106-116 - | 11 ## b chr2 107-117 + | 2 0.888888888888889 ## c chr2 108-118 + | 3 0.777777777777778 ## j chr3 115-125 - | 10 0 ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
调整(g, 30)gydF4y2Ba
## seqnames ranges strand | score GC ## | ## a chr1 82-111 - | 11 ## b chr2 102-131 + | 2 0.888888888888889 ## c chr2 103-132 + | 3 0.777777777777778 ## j chr3 91-120 - | 10 0 ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
的gydF4y2BaGenomicRangesgydF4y2Ba帮助页面gydF4y2Ba" ? intra-range-methodsgydF4y2Ba
总结了这些方法。gydF4y2Ba
Inter-range方法gydF4y2Ba涉及到单个范围之间的比较gydF4y2Ba农庄gydF4y2Ba对象。例如,gydF4y2Ba减少gydF4y2Ba
方法将对齐范围并合并重叠的范围以生成简化的集合。gydF4y2Ba
减少(g)gydF4y2Ba
## seqnames ranges string# # ## [1] chr1 101-111 - ## [2] chr2 102-113 + ## [3] chr3 110-120 - ## ------- # seqinfo:来自一个未指定基因组的3个序列gydF4y2Ba
有时人们感兴趣的差距或差距的质量之间的范围所代表的gydF4y2Ba农庄gydF4y2Ba对象。的gydF4y2Ba差距gydF4y2Ba
方法提供以下信息:gydF4y2Ba
空白(g)gydF4y2Ba
## seqnames ranges string# # ## [1] chr1 1-249250621 + ## [2] chr1 1-100 - ## [3] chr1 112-249250621 * ## [5] chr2 1-101 + ## ... ... ... ...## [8] chr3 1-243199373 * ## [10] chr3 1-198022430 + ## [10] chr3 1-109 - ## [11] chr3 121-198022430 * ## ------- # seqinfo: 3个未知基因组序列gydF4y2Ba
的gydF4y2Ba分离gydF4y2Ba
方法表示gydF4y2Ba农庄gydF4y2Ba对象作为非重叠范围的集合:gydF4y2Ba
分离(g)gydF4y2Ba
## GRanges对象,5个范围和0个元数据列:## seqnames ranges strand ## ## [1] chr1 101-111 - ## [2] chr2 102 + ## [3] chr2 103-112 + ## [4] chr2 113 + ## [5] chr3 110-120 - ## ------- # seqinfo:来自一个未指定基因组的3个序列gydF4y2Ba
的gydF4y2Ba报道gydF4y2Ba
方法量化a中所有范围的重叠程度gydF4y2Ba农庄gydF4y2Ba对象。gydF4y2Ba
覆盖(g)gydF4y2Ba
##长度为3的RleList ## $chr1 ## integer-Rle长度为249250621,带3次运行##长度:100 11 249250510 #值:01 0 ## ## $chr2 ## integer-Rle长度为243199373,带5次运行##长度:101 1 101 243199260 #值:01 21 0 ## ## $chr3 # integer-Rle长度为198022430,带3次运行##长度:109 11 198022310 #值:01 0gydF4y2Ba
看到gydF4y2BaGenomicRangesgydF4y2Ba帮助页面gydF4y2Ba" ? inter-range-methodsgydF4y2Ba
获取额外帮助。gydF4y2Ba
Between-range方法gydF4y2Ba涉及两个之间的操作gydF4y2Ba农庄gydF4y2Ba对象;其中一些将在下一节中进行总结。gydF4y2Ba
Between-range方法gydF4y2Ba计算不同的gydF4y2Ba农庄gydF4y2Ba对象。最重要的是gydF4y2BafindOverlapsgydF4y2Ba
及相关操作;下面将对此进行讨论。附加操作处理gydF4y2Ba农庄gydF4y2Ba作为数学坐标的集合;gydF4y2Ba联盟(g, g2)gydF4y2Ba
坐标的并集是否在gydF4y2BaggydF4y2Ba
而且gydF4y2Bag2gydF4y2Ba
.下面是计算的例子gydF4y2Ba联盟gydF4y2Ba
,gydF4y2Ba相交gydF4y2Ba
和不对称的差异(使用gydF4y2BasetdiffgydF4y2Ba
).gydF4y2Ba
G2 <- head(gr, n=2) union(g, G2)gydF4y2Ba
## seqnames ranges string# # ## [1] chr1 101-111 - ## [2] chr2 102-113 + ## [3] chr3 110-120 - ## ------- # seqinfo:来自一个未指定基因组的3个序列gydF4y2Ba
相交(g, g2)gydF4y2Ba
## seqnames ranges string# # ## [1] chr1 101-111 - ## [2] chr2 102-112 + ## ------- ## seqinfo:来自一个未指定基因组的3个序列gydF4y2Ba
setdiff (g, g2)gydF4y2Ba
## seqnames ranges string# # ## [1] chr2 113 + ## [2] chr3 110-120 - ## ------- # seqinfo:来自一个未指定基因组的3个序列gydF4y2Ba
相关方法可用时,结构gydF4y2Ba农庄gydF4y2Ba对象之间是“平行的”,也就是说,对象1的元素1与对象2的元素1相关,以此类推。这些操作都以a开头gydF4y2BapgydF4y2Ba
,是“平行”的缩写。然后这些方法按元素执行,例如,将对象1的元素1与对象2的元素1合并,等等。这些操作的一个要求是每个操作中元素的数量gydF4y2Ba农庄gydF4y2Ba对象是相同的,而且两个对象始终具有相同的seqname和串赋值。gydF4y2Ba
g3 <- g[1:2] ranges(g3[1]) <- IRanges(start=105, end=112) punion(g2, g3)gydF4y2Ba
## seqnames ranges string# # ## a chr1 101-112 - ## b chr2 102-112 + ## ------- ## seqinfo:来自一个未指定基因组的3个序列gydF4y2Ba
pintersect (g2和g3)gydF4y2Ba
## seqnames ranges string| score GC hit ## | ## a chr1 105-111 - | 11 TRUE ## b chr2 102-112 + | 2 0.888888888888889 TRUE ## ------- ## seqinfo: 3个序列来自一个未指定的基因组gydF4y2Ba
psetdiff (g2和g3)gydF4y2Ba
## seqnames ranges string# # ## a chr1 101-104 - ## b chr2 102-101 + ## ------- ## seqinfo:来自一个未指定基因组的3个序列gydF4y2Ba
有关的更多信息gydF4y2Ba农庄gydF4y2Ba
类,请务必参考手册页。gydF4y2Ba
农庄?gydF4y2Ba
可以发现一个相对全面的可用方法列表gydF4y2Ba
方法(class = "农庄”)gydF4y2Ba
一些重要的基因组特征,如由外显子组成的拼接转录本,本质上是复合结构。这样的特性在表示为复合对象时更有意义,例如gydF4y2BaGRangesListgydF4y2Ba.当基因组特征由多个由一个父特征分组的范围组成时,它们可以表示为gydF4y2BaGRangesListgydF4y2Ba对象。考虑两个文本的简单示例gydF4y2BaGRangesListgydF4y2Ba
下面创建的gydF4y2BaGRangesListgydF4y2Ba
构造函数。gydF4y2Ba
gr1 <- GRanges(seqnames = "chr2", ranges = IRanges(103, 106), strand = "+", score = 5L, GC = 0.45) gr2 <- GRanges(seqnames = c("chr1", "chr1"), ranges = IRanges(c(107, 113), width = 3), strand = c("+", "-"), score = 3:4, GC = c(0.3, 0.5)) grl <- GRangesList("txA" = gr1, "txB" = gr2) grlgydF4y2Ba
# # GRangesList对象长度2:# # $酸与1和2 # #农庄组织对象元数据列:# # seqnames范围链|得分GC # # < Rle > < IRanges > < Rle > | <整数> <数字> # # [1]chr2 103 - 106 + | 5 txB美元0.45 # # # # # #农庄对象与范围和2元数据列:# # seqnames范围链|得分GC # # [1] chr1 0.3 107 - 109 + | 3 # # [2] chr1 113 - 115 | 4 0.5 ## ## ------- ## seqinfo: 2从一个未指明的基因组序列;没有seqlengthsgydF4y2Ba
的gydF4y2Ba显示gydF4y2Ba
的方法gydF4y2BaGRangesListgydF4y2Ba对象将其显示为的命名列表gydF4y2Ba农庄gydF4y2Ba对象,其中该列表的名称被认为是分组特性的名称。在上面的例子中,单个外显子范围的组被表示为单独的gydF4y2Ba农庄gydF4y2Ba对象,这些对象被进一步组织成一个列表结构,其中每个元素名称都是一个抄本名称。许多分组和标签的其他组合gydF4y2Ba农庄gydF4y2Ba当然,对象是可能的,但是这个示例应该是一个常见的安排。gydF4y2Ba
就像gydF4y2Ba农庄gydF4y2Ba对象中基因组坐标的组成部分gydF4y2BaGRangesListgydF4y2Ba对象可以使用简单的访问器方法提取。毫不奇怪,gydF4y2BaGRangesListgydF4y2Ba对象具有许多相同的访问器gydF4y2Ba农庄gydF4y2Ba对象。不同之处在于,这些方法中的许多返回一个列表,因为输入现在本质上是一个的列表gydF4y2Ba农庄gydF4y2Ba对象。以下是一些例子:gydF4y2Ba
seqnames (grl)gydF4y2Ba
##长度为2的RleList ## $ txa# # factor-Rle长度为1,运行##长度:1 ##值:chr2 ##级别(2):chr2 chr1 ## ## $ txb# # factor-Rle长度为2,运行##长度:2 ##值:chr1 ##级别(2):chr2 chr1gydF4y2Ba
范围(grl)gydF4y2Ba
## IRangesList长度为2 ## $ txa# # IRanges对象具有1个范围和0个元数据列:## start end width ## ## [1] 103 106 4 ## ## $ txb# # IRanges对象具有2个范围和0个元数据列:## start end width ## ## [1] 107 109 3 ## [2] 113 115 3gydF4y2Ba
链(grl)gydF4y2Ba
##长度为2的RleList ## $ txa# # factor-Rle长度为1,运行##长度:1 ##值:+ ##级别(3):+ - * ## ## $ txb# # factor-Rle长度为2,运行2 ##长度:1 1 #值:+ - #级别(3):+ - *gydF4y2Ba
的gydF4y2Ba长度gydF4y2Ba
而且gydF4y2Ba的名字gydF4y2Ba
方法将返回列表的长度或名称gydF4y2BaseqlengthsgydF4y2Ba
方法将返回序列长度集。gydF4y2Ba
长度(grl)gydF4y2Ba
## [1]gydF4y2Ba
名(grl)gydF4y2Ba
##“txA”“txB”gydF4y2Ba
seqlengths (grl)gydF4y2Ba
## chr2 chr1 ## NA NAgydF4y2Ba
的gydF4y2BaelementNROWSgydF4y2Ba
方法返回与调用结果对应的整数列表gydF4y2BaNROWgydF4y2Ba
对每个人来说gydF4y2Ba农庄gydF4y2Ba对象包含的gydF4y2BaGRangesListgydF4y2Ba.这是呼叫的一个更快的选择gydF4y2Ba拉普兰人gydF4y2Ba
在gydF4y2BaGRangesListgydF4y2Ba.gydF4y2Ba
elementNROWS (grl)gydF4y2Ba
## txA txB ## 1 2gydF4y2Ba
isEmptygydF4y2Ba
测试是否gydF4y2BaGRangesListgydF4y2Ba对象包含任何内容。gydF4y2Ba
isEmpty (grl)gydF4y2Ba
##[1]错误gydF4y2Ba
在a的上下文中gydF4y2BaGRangesListgydF4y2Ba对象,gydF4y2BamcolsgydF4y2Ba
方法执行与它在类上执行的操作类似的操作gydF4y2Ba农庄gydF4y2Ba对象。但是,这个元数据现在引用列表级别的信息,而不是个人级别的信息gydF4y2Ba农庄gydF4y2Ba对象。gydF4y2Ba
mcols(grl) <- c("Transcript A","Transcript B") mcols(grl)gydF4y2Ba
## 2行1列## value ## ## txA成绩单A ## txB成绩单BgydF4y2Ba
元素级元数据可以通过取消列出gydF4y2BaGRangesListgydF4y2Ba
,提取元数据gydF4y2Ba
mcols (unlist (grl))gydF4y2Ba
## 3行2列的数据帧## score GC ## # ## txA 5 0.45 ## txB 3 0.3 ## txB 4 0.5gydF4y2Ba
GRangesListgydF4y2Ba对象可以不列出,以合并分离gydF4y2Ba农庄gydF4y2Ba对象,它们作为展开的对象包含gydF4y2Ba农庄gydF4y2Ba.gydF4y2Ba
Ul <- unlist(grl) Ul .使用实例gydF4y2Ba
## seqnames ranges strand | score GC ## | ## txA chr2 103-106 + | 5 0.45 ## txB chr1 107-109 + | 3 0.3 ## txB chr1 113-115 - | 4 0.5 ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
使用gydF4y2Ba附加gydF4y2Ba
或gydF4y2BacgydF4y2Ba
.gydF4y2Ba
一个gydF4y2Ba支持网站用户gydF4y2Ba有两个gydF4y2BaGRangesListgydF4y2Ba对象具有“并行”元素,并希望将这些元素明智地组合成单个元素gydF4y2BaGRangesListgydF4y2Ba.一个解决办法是使用gydF4y2Ba电脑()gydF4y2Ba
-平行(元素)gydF4y2Bac ()gydF4y2Ba
.一种更通用的解决方案是将列表连接起来,然后按某种因素重新分组,在本例中是元素的名称。gydF4y2Ba
grl1 <- GRangesList(gr1 = GRanges("chr2", IRanges(3,6)), gr2 = GRanges("chr1", IRanges(c(7,13), width = 3))) grl2 <- GRangesList(gr1 = GRanges("chr2", IRanges(9,12)), gr2 = GRanges("chr1", IRanges(c(25,38), width = 3))) pc(grl1, grl2)gydF4y2Ba
# # GRangesList对象长度2:# # $ gr1一起# #农庄对象2和0元数据列:链# # # # seqnames范围< Rle > < IRanges > < Rle > # # [1] chr2 3 - 6 * # # [2] chr2 9 - 12 * ## ## $ gr2 # #农庄对象列:4和0元数据链# # # # seqnames范围[1]chr1 7 - 9 * # # [2] chr1 13 - 15 * # # [3] chr1 * # # 25日- 27日[4]chr1 38-40 * ## ## ------- ## seqinfo: 2从一个未指明的基因组序列;没有seqlengthsgydF4y2Ba
Grl3 <- c(grl1, grl2)重组(Grl3, names(Grl3))gydF4y2Ba
# # GRangesList对象长度2:# # $ gr1一起# #农庄对象2和0元数据列:链# # # # seqnames范围< Rle > < IRanges > < Rle > # # [1] chr2 3 - 6 * # # [2] chr2 9 - 12 * ## ## $ gr2 # #农庄对象列:4和0元数据链# # # # seqnames范围[1]chr1 7 - 9 * # # [2] chr1 13 - 15 * # # [3] chr1 * # # 25日- 27日[4]chr1 38-40 * ## ## ------- ## seqinfo: 2从一个未指明的基因组序列;没有seqlengthsgydF4y2Ba
对于区间运算,存在许多相同的方法gydF4y2BaGRangesListgydF4y2Ba对象的存在gydF4y2Ba农庄gydF4y2Ba对象。gydF4y2Ba
开始(grl)gydF4y2Ba
## IntegerList长度2 ## [["txA"]] 103 ## [["txB"]] 107 113gydF4y2Ba
结束(grl)gydF4y2Ba
## IntegerList长度2 ## [["txA"]] 106 ## [["txB"]] 109 115gydF4y2Ba
宽度(grl)gydF4y2Ba
长度2 # # # # IntegerList[["酸"]]4 # #[[“txB”]]3 3gydF4y2Ba
这些操作返回一个数据结构,表示:gydF4y2BaIntegerListgydF4y2Ba,所有元素都是整数的列表;它可以方便地使用数学和其他运算gydF4y2Ba列表gydF4y2Ba作用于每个元素的对象,例如,gydF4y2Ba
Sum (width(grl)) #每个grl元素的宽度之和gydF4y2Ba
## txA txB ## 4 6gydF4y2Ba
大多数范围内、范围间和范围间方法都操作于gydF4y2BaGRangesListgydF4y2Ba对象,例如,要移动所有的gydF4y2Ba农庄gydF4y2Ba中的对象。gydF4y2BaGRangesListgydF4y2Ba对象,或计算覆盖率。这两种操作也都是跨每个节点执行的gydF4y2Ba农庄gydF4y2Ba成员列表。gydF4y2Ba
转变(grl 20)gydF4y2Ba
# # GRangesList对象长度2:# # $酸与1和2 # #农庄组织对象元数据列:# # seqnames范围链|得分GC # # < Rle > < IRanges > < Rle > | <整数> <数字> # # [1]chr2 123 - 126 + | 5 txB美元0.45 # # # # # #农庄对象与范围和2元数据列:# # seqnames范围链|得分GC # # [1] chr1 0.3 127 - 129 + | 3 # # [2] chr1 133 - 135 | 4 0.5 ## ## ------- ## seqinfo: 2从一个未指明的基因组序列;没有seqlengthsgydF4y2Ba
覆盖(grl)gydF4y2Ba
##长度为2的RleList ## $chr2 ##整数rle长度为106,运行2次##长度为102 4 ##值:0 1 ## ## $chr1 #整数rle长度为115,运行4次##长度为106 3 3 3 #值:0 10 1gydF4y2Ba
一个gydF4y2BaGRangesListgydF4y2Ba对象的行为类似于gydF4y2Ba列表gydF4y2Ba
:gydF4y2Ba[gydF4y2Ba
返回一个gydF4y2BaGRangesListgydF4y2Ba包含原始对象的子集的;gydF4y2Ba[[gydF4y2Ba
或gydF4y2Ba$gydF4y2Ba
返回gydF4y2Ba农庄gydF4y2Ba对象在列表中的该位置。gydF4y2Ba
grl[1] grl[[1]] grl["txA"] grl$txBgydF4y2Ba
此外,子设agydF4y2BaGRangesListgydF4y2Ba还接受第二个参数,以指定您希望选择的元数据列。gydF4y2Ba
grl[1,“分数”)gydF4y2Ba
## GRangesList对象长度为1:## $ txa# GRanges对象具有1个范围和1个元数据列:## seqnames ranges strand | score ## | ## [1] chr2 103-106 + | 5 ## ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
grl(“txB”、“GC”)gydF4y2Ba
## GRangesList对象长度为1:## $ txb# # GRanges对象具有2个范围和1个元数据列:## seqnames ranges strand | GC ## | <数字> ## [1]chr1 107-109 + | 0.3 ## [2] chr1 113-115 - | 0.5 ## ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
的gydF4y2Ba头gydF4y2Ba
,gydF4y2Ba尾巴gydF4y2Ba
,gydF4y2Ba代表gydF4y2Ba
,gydF4y2Ba牧师gydF4y2Ba
,gydF4y2Ba窗口gydF4y2Ba
对于列表对象,方法的行为都与您所期望的一样。例如,引用的元素gydF4y2Ba窗口gydF4y2Ba
现在是列表元素而不是gydF4y2Ba农庄gydF4y2Ba元素。gydF4y2Ba
Rep (grl[[1]], times = 3)gydF4y2Ba
## seqnames ranges strand | score GC ## | ## [1] chr2 103-106 + | 5 0.45 ## [2] chr2 103-106 + | 5 0.45 ## [3] chr2 103-106 + | 5 0.45 ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
牧师(grl)gydF4y2Ba
# # GRangesList对象长度2:# # $ txB 2 # #农庄组织对象范围和2元数据列:# # seqnames范围链|得分GC # # < Rle > < IRanges > < Rle > | <整数> <数字> # # [1]chr1 0.3 107 - 109 + | 3 # # [2] chr1 113 - 115 | 4 0.5 # # # # $酸与1和2 # #农庄组织对象元数据列:# # seqnames范围链|得分GC # # [1] chr2 0.45 103 - 106 + | 5 ## ## ------- ## seqinfo: 2从一个未指明的基因组序列;没有seqlengthsgydF4y2Ba
头(grl n = 1)gydF4y2Ba
## GRangesList对象长度为1:## $ txa# GRanges对象具有1个范围和2个元数据列:## seqnames ranges strand | score GC ## | ## [1] chr2 103-106 + | 5 0.45 ## ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
尾(grl n = 1)gydF4y2Ba
## GRangesList对象长度为1:## $ txb# # GRanges对象具有2个范围和2个元数据列:## seqnames ranges strand | score GC ## | ## [1] chr1 107-109 + | 3 0.3 ## [2] chr1 113-115 - | 4 0.5 ## ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
窗口(grl, start=1, end=1)gydF4y2Ba
## GRangesList对象长度为1:## $ txa# GRanges对象具有1个范围和2个元数据列:## seqnames ranges strand | score GC ## | ## [1] chr2 103-106 + | 5 0.45 ## ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
grl [IRanges(开始= 2,结束= 2)gydF4y2Ba
## GRangesList对象长度为1:## $ txb# # GRanges对象具有2个范围和2个元数据列:## seqnames ranges strand | score GC ## | ## [1] chr1 107-109 + | 3 0.3 ## [2] chr1 113-115 - | 4 0.5 ## ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
为gydF4y2BaGRangesListgydF4y2Ba对象也有家族的gydF4y2Ba应用gydF4y2Ba
方法。这些包括gydF4y2Ba拉普兰人gydF4y2Ba
,gydF4y2Ba酸式焦磷酸钠gydF4y2Ba
,gydF4y2Ba宾州gydF4y2Ba
,gydF4y2BaendoapplygydF4y2Ba
,gydF4y2BamendoapplygydF4y2Ba
,gydF4y2Ba地图gydF4y2Ba
,gydF4y2Ba减少gydF4y2Ba
.gydF4y2Ba
定义的不同循环方法gydF4y2BaGRangesListgydF4y2Ba对象对于返回不同类型的结果非常有用。标准的gydF4y2Ba拉普兰人gydF4y2Ba
而且gydF4y2Ba酸式焦磷酸钠gydF4y2Ba
循规蹈矩,有求必应gydF4y2Ba拉普兰人gydF4y2Ba
方法返回一个列表和gydF4y2Ba酸式焦磷酸钠gydF4y2Ba
返回更简化的输出。gydF4y2Ba
拉普兰人(grl、长度)gydF4y2Ba
## $ txa# # [1] 1 ## ## $ txb# # [1] 2gydF4y2Ba
酸式焦磷酸钠(grl、长度)gydF4y2Ba
## txA txB ## 1 2gydF4y2Ba
与gydF4y2BaIRangesgydF4y2Ba对象中,也有多元版本的gydF4y2Ba酸式焦磷酸钠gydF4y2Ba
,被称为gydF4y2Ba宾州gydF4y2Ba
,定义为gydF4y2BaGRangesListgydF4y2Ba对象。如果你不想简化结果,你可以调用gydF4y2Ba地图gydF4y2Ba
方法,它的作用与gydF4y2Ba宾州gydF4y2Ba
但是没有简化输出。gydF4y2Ba
grl2 <- shift(grl, 10) names(grl2) <- c("shiftTxA", "shiftTxB") mapply(c, grl, grl2)gydF4y2Ba
## $ txa# # GRanges对象有2个范围和2个元数据列:## seqnames ranges strand | score GC ## | ## [1] chr2 103-106 + | 5 0.45 ## [2] chr2 113-116 + | 5 0.45 ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;no seqlength## ## $ txb# # GRanges对象有4个范围和2个元数据列:## seqnames ranges strand | score GC ## | ## [1] chr1 107-109 + | 3 0.3 ## [2] chr1 113-115 - | 4 0.5 ## [3] chr1 117-119 + | 3 0.3 ## [4] chr1 123-125 - | 4 0.5 ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
Map(c, grl, grl2)gydF4y2Ba
## $ txa# # GRanges对象有2个范围和2个元数据列:## seqnames ranges strand | score GC ## | ## [1] chr2 103-106 + | 5 0.45 ## [2] chr2 113-116 + | 5 0.45 ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;no seqlength## ## $ txb# # GRanges对象有4个范围和2个元数据列:## seqnames ranges strand | score GC ## | ## [1] chr1 107-109 + | 3 0.3 ## [2] chr1 113-115 - | 4 0.5 ## [3] chr1 117-119 + | 3 0.3 ## [4] chr1 123-125 - | 4 0.5 ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
的修改后的版本gydF4y2BaGRangesListgydF4y2Ba你最初传递进来的。gydF4y2Ba
自同态是将一个对象转换为同一类的另一个实例。来实现这一点gydF4y2BaendoapplygydF4y2Ba
方法,该方法将返回结果作为gydF4y2BaGRangesListgydF4y2Ba对象。gydF4y2Ba
endoapply (grl牧师)gydF4y2Ba
# # GRangesList对象长度2:# # $酸与1和2 # #农庄组织对象元数据列:# # seqnames范围链|得分GC # # < Rle > < IRanges > < Rle > | <整数> <数字> # # [1]chr2 103 - 106 + | 5 txB美元0.45 # # # # # #农庄对象与范围和2元数据列:# # seqnames范围链|得分GC # # [1] chr1 0.5 113 - 115 | 4 # # [2] chr1 107 - 109 + | 3 0.3 ## ## ------- ## seqinfo: 2从一个未指明的基因组序列;没有seqlengthsgydF4y2Ba
门多普(c, grl, grl2)gydF4y2Ba
# # GRangesList对象长度2:# # $酸与2和2 # #农庄组织对象元数据列:# # seqnames范围链|得分GC # # < Rle > < IRanges > < Rle > | <整数> <数字> # # [1]chr2 0.45 103 - 106 + | 5 # # [2] chr2 113 - 116 + | 5 0.45 # # # # $ txB 2与4 # #农庄组织对象范围和元数据列:# # seqnames范围链|得分GC # # [1] chr1 0.3 107 - 109 + | 3 # # [2] chr1 0.5 113 - 115 | 4 # # [3] chr1 0.3 117 - 119 + | 3 # # [4] chr1 123 - 125 | 4 0.5 ## ## ------- ## seqinfo:2个未知基因组序列;没有seqlengthsgydF4y2Ba
的gydF4y2Ba减少gydF4y2Ba
方法将允许gydF4y2Ba农庄gydF4y2Ba物体要倒塌,跨越整个gydF4y2BaGRangesListgydF4y2Ba对象。再次强调,这似乎是一个次优的例子。。gydF4y2Ba
减少(c, grl)gydF4y2Ba
## seqnames range strand | score GC ## | ## [1] chr2 103-106 + | 5 0.45 ## [2] chr1 107-109 + | 3 0.3 ## [3] chr1 113-115 - | 4 0.5 ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
显式的元素式操作(gydF4y2Ba拉普兰人()gydF4y2Ba
和朋友们)gydF4y2BaGRangesListgydF4y2Ba具有许多元素的对象可能很慢。因此,探索工作的操作是有益的gydF4y2Ba列表gydF4y2Ba对象直接(例如,许多“组通用”操作符,参见gydF4y2BaS4groupGeneric ?gydF4y2Ba
,以及集合和并行集合运算符(例如,gydF4y2Ba联盟gydF4y2Ba
,gydF4y2BapuniongydF4y2Ba
).一个有效且快速的策略是gydF4y2BaunlistgydF4y2Ba
的gydF4y2BaGRangesListgydF4y2Ba到一个gydF4y2Ba农庄gydF4y2Ba对象,对gydF4y2Ba农庄gydF4y2Ba对象,然后gydF4y2Ba重新刊登gydF4y2Ba
结果,例如,gydF4y2Ba
Gr <- unlist(grl) Gr $log_score <- log(Gr $score) grl <- relist(Gr, grl) grlgydF4y2Ba
# # GRangesList对象长度2:# # $酸与1 # #农庄组织对象范围和3元数据列:# # seqnames范围链|得分GC log_score # # < Rle > < IRanges > < Rle > | <整数> <数字> <数字> # #酸chr2 103 - 106 + | 5美元0.45 - 1.6094379124341 # # # # txB 2和3 # #农庄组织对象元数据列:# # seqnames范围链|得分GC log_score # # txB chr1 107 - 109 + 0.3 - 1.09861228866811 # # txB chr1 | 113 - 115 | 4 0.5 - 1.38629436111989 ## ## ------- ## seqinfo:2个未知基因组序列;没有seqlengthsgydF4y2Ba
另请参阅gydF4y2BaextractList ?gydF4y2Ba
.gydF4y2Ba
有关的更多信息gydF4y2BaGRangesListgydF4y2Ba
类,请务必参考手册页和可用的方法gydF4y2Ba
?GRangesList方法(class="GRangesList") # _partial_ list .gydF4y2Ba
区间重叠是比较两个对象中的范围以确定它们是否重叠以及何时重叠的过程。因此,它可能是最常用的操作gydF4y2Ba农庄gydF4y2Ba而且gydF4y2BaGRangesListgydF4y2Ba对象。为此,gydF4y2BaGenomicRangesgydF4y2Ba包提供一系列间隔重叠函数。这些函数中最普遍的是gydF4y2BafindOverlapsgydF4y2Ba
,它接受查询和主题作为输入,并返回一个gydF4y2Ba支安打gydF4y2Ba对象,该对象包含重叠元素的索引对。gydF4y2Ba
grl findOverlaps (gr)gydF4y2Ba
## Hits对象有3个Hits和0个元数据列:## queryHits subjectHits ## ## [1] 1 1 ## [2] 2 2 ## [3] 3 2 # ------- ## queryLength: 3 / subjectLength: 2gydF4y2Ba
在讨论性质的章节中所建议的gydF4y2Ba农庄gydF4y2Ba而且gydF4y2BaGRangesListgydF4y2Ba类中,索引在上面gydF4y2Ba支安打gydF4y2Ba对象的gydF4y2Ba农庄gydF4y2Ba对象是单个范围,而对于gydF4y2BaGRangesListgydF4y2Ba对象是定义“特性”的一组范围。gydF4y2Ba
重叠族中的另一个函数是gydF4y2BacountOverlapsgydF4y2Ba
,它列出查询中每个元素的重叠数量。gydF4y2Ba
grl countOverlaps (gr)gydF4y2Ba
## txA txB txB ## 1 1 1gydF4y2Ba
这个家族的第三个功能是gydF4y2BasubsetByOverlapsgydF4y2Ba
,它提取查询中与主题中至少一个元素重叠的元素。gydF4y2Ba
grl subsetByOverlaps (gr)gydF4y2Ba
## seqnames ranges strand | score GC log_score ## | ## txA chr2 103-106 + | 5 0.45 1.6094379124341 ## txB chr1 107-109 + | 3 0.3 1.09861228866811 ## txB chr1 113-115 - | 4 0.5 1.38629436111989 ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
最后,您可以使用gydF4y2Ba选择gydF4y2Ba
参数获取查询中每个元素的主题中第一个重叠元素的索引。gydF4y2Ba
findOverlaps(gr, grl, select="first")gydF4y2Ba
## [1] 1 2 2gydF4y2Ba
findOverlaps(grl, gr, select="first")gydF4y2Ba
## [1] 1 2gydF4y2Ba
本插图中的所有输出都是在以下条件下产生的:gydF4y2Ba
sessionInfo ()gydF4y2Ba
## R版本3.6.1(2019-07-05)##平台:x86_64-pc-linux-gnu(64位)##运行在:Ubuntu 18.04.3 LTS ## ##矩阵产品:default ## BLAS: /home/biocbuild/bbs-3.9-bioc/R/lib/libRblas. #因此## LAPACK: /home/biocbuild/bbs-3.9-bio /R/lib/libRlapack。因此## ## locale: ## [1] LC_CTYPE=en_US。UTF-8 LC_NUMERIC= c# # [3] LC_TIME=en_US。UTF-8 LC_COLLATE= c# [5] LC_MONETARY=en_US。utf - 8 LC_MESSAGES = en_US。UTF-8 ## [7] LC_PAPER=en_US。UTF-8 LC_NAME= c# [9] LC_ADDRESS=C LC_TELEPHONE= c# [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION=C ## ##附加的基本包:## [1]parallel stats4 stats graphics grDevices utils datasets ## [8] methods base ## ##其他附加的包:## [1]genome icranges_1 .36.1 GenomeInfoDb_1.20.0 IRanges_2.18.2 ## [4] S4Vectors_0.22.0 BiocGenerics_0.30.0 BiocStyle_2.12.0 ## ##通过命名空间加载(并没有附加):# [7] zlibbioc_1.30.0 stringi_1.4.3 XVector_0.24.0 ## [10] rmarkdown_1.15 tools_3.6.1 stringgr_1 .4.0 ## [13] RCurl_1.95-4.12 xfun_0.9 yaml_2.2.0 ## [16] compiler_3.6.1 BiocManager_1.30.4 htmltools_0.3.6 ## [19] knitr_1.24 GenomeInfoDbData_1.2.1gydF4y2Ba