内容gydF4y2Ba

1gydF4y2Ba简介gydF4y2Ba

的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.andersvercelli.comgydF4y2Ba并可通过gydF4y2BaBiocManager:安装gydF4y2Ba:gydF4y2Ba

if (!require("BiocManager")) install.packages("BiocManager")gydF4y2Ba

一个包只需要安装一次。将包加载到R会话中gydF4y2Ba

库(GenomicRanges)gydF4y2Ba

2gydF4y2Ba农庄gydF4y2Ba:基因组范围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符号。基因组坐标(序列名、范围和链)位于左侧,元数据列(注释)位于右侧。在本例中,元数据由gydF4y2Ba分数gydF4y2Ba而且gydF4y2BaGCgydF4y2Ba类的元数据部分中几乎可以存储任何内容gydF4y2Ba农庄gydF4y2Ba对象。gydF4y2Ba

基因组坐标的组成部分gydF4y2Ba农庄gydF4y2Ba对象可以使用gydF4y2BaseqnamesgydF4y2Ba,gydF4y2Ba范围gydF4y2Ba,gydF4y2Ba链gydF4y2Ba访问器的功能。gydF4y2Ba

seqnames (gr)gydF4y2Ba
##长度为10,运行4次的rle ##长度:1 3 2 4 ##值:chr1 chr2 chr1 chr3 ##级别(3):chr1 chr2 chr3gydF4y2Ba
范围(gr)gydF4y2Ba
## IRanges对象,10个范围和0个元数据列:##开始结束宽度##    ## 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
##长度为10,共5次的rle ##长度:1 2 2 3 2 ##值:- + * + - ##级别(3):+ - *gydF4y2Ba

基因组范围的提取不需要相应的元数据gydF4y2Ba农庄gydF4y2Ba

农庄(gr)gydF4y2Ba
## 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列##评分GC ## <整数> <数字> ## a 11 ## b 2 0.8888888888888888889 ## c 3 0.7777777777777778 ## d 4 0.666666665555555555556 ## f 6 0.4444444444444444 ## g 7 0.333333333333333 ## h 8 0.2222222222222 ## i 9 0.111111111111111 ## 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

2.1gydF4y2Ba拆分和合并gydF4y2Ba农庄gydF4y2Ba对象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  ## ------- ## seqinfo:3因基因组序列# # # # $ ' 2 ' 5 # #农庄组织对象与范围和2元数据列:# # seqnames范围链|得分GC # # < Rle > < IRanges > < Rle > | <整数> <数字> # # 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从一个未指明的基因组序列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:3个未知基因组的序列gydF4y2Ba

2.2gydF4y2Ba构造子集gydF4y2Ba农庄gydF4y2Ba对象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.777777777777778 ## ------- # seqinfo: 3个来自未指定基因组的序列gydF4y2Ba

有一些方法可以重复、反转或选择特定的部分gydF4y2Ba农庄gydF4y2Ba对象。gydF4y2Ba

Rep (singles[[2]], times = 3)gydF4y2Ba
## seqnames ranges strand | score GC ##    |   ## b chr2 102-112 + | 2 0.88888888888888889 ## b chr2 102-112 + | 2 0.8888888888888888889 ## b chr2 102-112 + | 2 0.888888888888888888889 ## ------- ## 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:3个未知基因组的序列gydF4y2Ba
头(gr, n = 2)gydF4y2Ba
## seqnames ranges strand | score GC ##    |   ## a chr1 101-111 - | 11 ## b chr2 102-112 + | 2 0.88888888888888889 ## ------- ## 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.88888888888888889 ## c chr2 103-113 + | 3 0.777777777777778 ## d chr2 104-114 * | 4 0.6666666666666666667 ## ------- # 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

2.3gydF4y2Ba基本区间操作gydF4y2Ba农庄gydF4y2Ba对象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 11 11gydF4y2Ba
范围(g)gydF4y2Ba
## seqnames ranges strand ##    ## [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对象。为了得到agydF4y2Ba农庄gydF4y2Ba对象,该对象包含范围上游的10个碱基:gydF4y2Ba

侧面(g, 10)gydF4y2Ba
## seqnames ranges strand | score GC ##    |   ## a chr1 112-121 - | 11 ## b chr2 92-101 + | 2 0.88888888888888889 ## c chr2 93-102 + | 3 0.777777777777778 ## j chr3 121-130 - | 10 0 ## ------- # seqinfo: 3个来自未指定基因组的序列gydF4y2Ba

并包括下游基地:gydF4y2Ba

侧翼(g, 10, start=FALSE)gydF4y2Ba
## seqnames ranges strand | score GC ##    |   ## a chr1 91-100 - | 11 ## b chr2 113-122 + | 2 0.88888888888888889 ## c chr2 114-123 + | 3 0.777777777777778 ## 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.88888888888888889 ## 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.88888888888888889 ## 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 strand ##    ## [1] chr1 101-111 - ## [2] chr2 102-113 + ## [3] chr3 110-120 - ## ------- ## seqinfo: 3个来自未指定基因组的序列gydF4y2Ba

有时人们感兴趣的是差距或差距的质量之间的范围所代表的gydF4y2Ba农庄gydF4y2Ba对象。的gydF4y2Ba差距gydF4y2Ba方法提供以下信息:gydF4y2Ba

空白(g)gydF4y2Ba
## seqnames ranges strand ##    ## [1] chr1 1-249250621 + ## [2] chr1 1-100 - ## [3] chr1 112-249250621 - ## [5] chr2 1-101 + ## ... ... ... ...## [8] chr3 1- 2431992473 + ## [10] chr3 1-109 - ## [11] chr3 121-198022430 - ## [12] chr3 1-198022430 * ## ------- ## seqinfo: 3个来自未指定基因组的序列gydF4y2Ba

的gydF4y2Ba分离gydF4y2Ba方法表示gydF4y2Ba农庄gydF4y2Ba对象作为非重叠范围的集合:gydF4y2Ba

分离(g)gydF4y2Ba
## seqnames ranges strand ##    b[1] chr1 101-111 - ## [2] chr2 102 + ## [3] chr2 103-112 + ## [4] chr2 113 + ## [5] chr3 110-120 - ## ------- ## seqinfo: 3个来自未指定基因组的序列gydF4y2Ba

的gydF4y2Ba报道gydF4y2Ba方法量化对象中所有范围的重叠程度gydF4y2Ba农庄gydF4y2Ba对象。gydF4y2Ba

覆盖(g)gydF4y2Ba
##长度为3的RleList ## $chr1 ##长度为249250621的整数- rle, 3次运行##长度:100 11 249250510 ##值:01 0 ## ## $chr2 ##长度为243199373的整数- rle, 5次运行##长度:101 1 101 243199260 ##值:01 21 0 ## ## $chr3 ##长度为198022430的整数- rle, 3次运行##长度:109 11 198022310 ##值:01 0gydF4y2Ba

看到gydF4y2BaGenomicRangesgydF4y2Ba帮助页面gydF4y2Ba" ? inter-range-methodsgydF4y2Ba获取额外帮助。gydF4y2Ba

Between-range方法gydF4y2Ba涉及两个之间的操作gydF4y2Ba农庄gydF4y2Ba对象;其中一些将在下一节中进行总结。gydF4y2Ba

2.4gydF4y2Ba间隔设置操作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 strand ##    ## [1] chr1 101-111 - ## [2] chr2 102-113 + ## [3] chr3 110-120 - ## ------- ## seqinfo: 3个来自未指定基因组的序列gydF4y2Ba
相交(g, g2)gydF4y2Ba
## seqnames ranges strand ##    ## [1] chr1 101-111 - ## [2] chr2 102-112 + ## ------- ## seqinfo:来自未指定基因组的3个序列gydF4y2Ba
setdiff (g, g2)gydF4y2Ba
## seqnames ranges strand ##    [1] chr2 113 + ## [2] chr3 110-120 - ## ------- ## seqinfo: 3个来自未指定基因组的序列gydF4y2Ba

相关方法可用时的结构gydF4y2Ba农庄gydF4y2Ba对象彼此“平行”,即对象1的元素1与对象2的元素1相关,以此类推。这些操作都以a开头gydF4y2BapgydF4y2Ba,是parallel的缩写。然后,这些方法逐个执行元素,例如,将对象1的元素1与对象2的元素1合并,等等。这些操作的一个要求是每个操作中的元素数量gydF4y2Ba农庄gydF4y2Ba对象是相同的,并且两个对象自始至终具有相同的序列名和链赋值。gydF4y2Ba

g3 <- g[1:2] ranges(g3[1]) <- IRanges(开始=105,结束=112)punion(g2, g3)gydF4y2Ba
## seqnames ranges strand ##    ## a chr1 101-112 - ## b chr2 102-112 + ## ------- ## seqinfo: 3个来自未指定基因组的序列gydF4y2Ba
pintersect (g2和g3)gydF4y2Ba
## seqnames ranges strand | score GC hit ##    |    ## a chr1 105-111 - | 11 TRUE ## b chr2 102-112 + | 2 0.88888888888888889 TRUE ## ------- ## seqinfo:来自未指定基因组的3个序列gydF4y2Ba
psetdiff (g2和g3)gydF4y2Ba
## seqnames ranges strand ##    ## a chr1 101-104 - ## b chr2 102-101 + ## ------- ## seqinfo:来自未指定基因组的3个序列gydF4y2Ba

有关的更多信息gydF4y2Ba农庄gydF4y2Ba上课时一定要查阅手册页。gydF4y2Ba

农庄?gydF4y2Ba

找到了一个相对全面的可用方法列表gydF4y2Ba

方法(class = "农庄”)gydF4y2Ba

3.gydF4y2BaGRangesListgydF4y2Ba:基因组范围组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
## seqnames ranges strand | score GC ##    |   ## [1] chr2 103-106 + | 5 0.45 ## ------- ## seqinfo:来自未指定基因组的2个序列;## seqnames ranges strand | score GC ##    |   ## [1] chr1 107-109 + | 3 0.3 ## [2] chr1 113-115 - | 4 0.5 ## ------- ## seqinfo: 2序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba

的gydF4y2Ba显示gydF4y2Ba方法gydF4y2BaGRangesListgydF4y2Ba对象的命名列表显示gydF4y2Ba农庄gydF4y2Ba对象,其中此列表的名称被认为是分组特性的名称。在上面的例子中,各个外显子范围的组被表示为独立的gydF4y2Ba农庄gydF4y2Ba对象,这些对象被进一步组织成一个列表结构,其中每个元素名称都是一个副本名称。许多其他组合的分组和标签gydF4y2Ba农庄gydF4y2Ba对象当然是可能的,但本例预计是一种常见的安排。gydF4y2Ba

3.1gydF4y2Ba基本gydF4y2BaGRangesListgydF4y2Ba访问器gydF4y2Ba

就像gydF4y2Ba农庄gydF4y2Ba对象中基因组坐标的组成部分gydF4y2BaGRangesListgydF4y2Ba对象可以使用简单的访问器方法提取。毫不奇怪,gydF4y2BaGRangesListgydF4y2Ba对象具有许多相同的访问器gydF4y2Ba农庄gydF4y2Ba对象。不同之处在于,许多这些方法都返回一个列表,因为输入现在本质上是一个列表gydF4y2Ba农庄gydF4y2Ba对象。下面是一些例子:gydF4y2Ba

seqnames (grl)gydF4y2Ba
##长度为2的RleList ## $txA ##长度为1的因子- rle,运行1次##长度:1 ##值:chr2 ##级别(2):chr2 chr1 ## ## $txB ##长度为2的因子- rle,运行1次##长度:2 ##值:chr1 ##级别(2):chr2 chr1gydF4y2Ba
范围(grl)gydF4y2Ba
##长度为2的IRangesList对象:## $ txa# # IRanges对象,1范围,0元数据列:##开始结束宽度##    ## [1] 103 106 4 ## ## $ txb# # IRanges对象,2范围,0元数据列:##开始结束宽度##    ## [1] 107 109 3 ## [2] 113 115 3gydF4y2Ba
链(grl)gydF4y2Ba
##长度为2的RleList ## $ txa# #长度为1的因子- rle,运行1次##长度:1 ##值:+ ##级别(3):+ - * ## ## $ txb# #长度为2的因子- rle,运行2次##长度:1 1 #值:+ - ##级别(3):+ - *gydF4y2Ba

的gydF4y2Ba长度gydF4y2Ba而且gydF4y2Ba的名字gydF4y2Ba方法将返回列表的长度或名称gydF4y2BaseqlengthsgydF4y2Ba方法将返回序列长度集。gydF4y2Ba

长度(grl)gydF4y2Ba
## [1] 2gydF4y2Ba
名(grl)gydF4y2Ba
## [1] "txA" "txB"gydF4y2Ba
seqlengths (grl)gydF4y2Ba
## chr2 chr1 ## NA NAgydF4y2Ba

的gydF4y2BaelementNROWSgydF4y2Ba方法返回与调用结果对应的整数列表gydF4y2BaNROWgydF4y2Ba在每个人身上gydF4y2Ba农庄gydF4y2Ba对象所包含的gydF4y2BaGRangesListgydF4y2Ba.这是一个比打电话更快的选择gydF4y2Ba拉普兰人gydF4y2Ba在gydF4y2BaGRangesListgydF4y2Ba.gydF4y2Ba

elementNROWS (grl)gydF4y2Ba
## txA txB ## 1gydF4y2Ba

isEmptygydF4y2Ba测试是否gydF4y2BaGRangesListgydF4y2Ba对象包含任何内容。gydF4y2Ba

isEmpty (grl)gydF4y2Ba
## [1] falsegydF4y2Ba

在a的背景下gydF4y2BaGRangesListgydF4y2Ba对象,gydF4y2BamcolsgydF4y2Ba方法执行的操作与它在gydF4y2Ba农庄gydF4y2Ba对象。但是,这个元数据现在引用列表级别的信息,而不是个人级别的信息gydF4y2Ba农庄gydF4y2Ba对象。gydF4y2Ba

mcols(grl) <- c("Transcript A","Transcript B") mcols(grl)gydF4y2Ba
## 2行1列的数据帧##值## <字符> ## txA文本A ## txB文本BgydF4y2Ba

元素级元数据可以通过取消列出gydF4y2BaGRangesListgydF4y2Ba,并提取元数据gydF4y2Ba

mcols (unlist (grl))gydF4y2Ba
##数据帧与3行2列##评分GC ## <整数> <数字> ## txA 5 0.45 ## txB 3 0.3 ## txB 4 0.5gydF4y2Ba

3.2gydF4y2Ba结合gydF4y2BaGRangesListgydF4y2Ba对象gydF4y2Ba

GRangesListgydF4y2Ba对象可以不被列出来组合分开的对象gydF4y2Ba农庄gydF4y2Ba它们所包含的展开对象gydF4y2Ba农庄gydF4y2Ba.gydF4y2Ba

Ul <- unlist(grl) UlgydF4y2Ba
## seqnames range 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- parallel(按元素计算)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
## seqnames ranges strand ##    ## [1] chr2 3-6 * ## [2] chr2 9-12 * ## ------- ## seqinfo: 2个来自未指定基因组的序列;## seqnames ranges strand ##    ## [1] chr1 7-9 * ## [2] chr1 13-15 * ## [3] chr1 25-27 * ## [4] chr1 38-40 * ## ------- ## seqinfo: 2个来自未指定基因组的序列;没有seqlengthsgydF4y2Ba
Grl3 <- c(grl1, grl2) regroup(Grl3, names(Grl3))gydF4y2Ba
## seqnames ranges strand ##    ## [1] chr2 3-6 * ## [2] chr2 9-12 * ## ------- ## seqinfo: 2个来自未指定基因组的序列;## seqnames ranges strand ##    ## [1] chr1 7-9 * ## [2] chr1 13-15 * ## [3] chr1 25-27 * ## [4] chr1 38-40 * ## ------- ## seqinfo: 2个来自未指定基因组的序列;没有seqlengthsgydF4y2Ba

3.3gydF4y2Ba基本区间操作gydF4y2BaGRangesListgydF4y2Ba对象gydF4y2Ba

对于区间操作,存在许多相同的方法gydF4y2BaGRangesListgydF4y2Ba存在的对象gydF4y2Ba农庄gydF4y2Ba对象。gydF4y2Ba

开始(grl)gydF4y2Ba
##长度为2的IntegerList ## [["txA"]] 103 ## [["txB"]] 107 113gydF4y2Ba
结束(grl)gydF4y2Ba
##长度为2的IntegerList ## [["txA"]] 106 ## [["txB"]] 109 115gydF4y2Ba
宽度(grl)gydF4y2Ba
长度2 # # # # IntegerList[["酸"]]4 # #[[“txB”]]3 3gydF4y2Ba

这些操作返回一个数据结构,表示:gydF4y2BaIntegerListgydF4y2Ba,一个所有元素都是整数的列表;它可以方便地使用数学和其他运算gydF4y2Ba列表gydF4y2Ba作用于每个元素的对象,例如,gydF4y2Ba

Sum (width(grl)) #每个grl元素的宽度之和gydF4y2Ba
## txA txB ## 4gydF4y2Ba

大多数范围内、范围间和范围间方法操作于gydF4y2BaGRangesListgydF4y2Ba对象,例如,移位所有的gydF4y2Ba农庄gydF4y2Ba对象中的gydF4y2BaGRangesListgydF4y2Ba对象,或计算覆盖率。这两种操作也都是在每个节点上执行的gydF4y2Ba农庄gydF4y2Ba成员列表。gydF4y2Ba

转变(grl 20)gydF4y2Ba
## seqnames ranges strand | score GC ##    |   ## [1] chr2 123-126 + | 5 0.45 ## ------- ## seqinfo:来自未指定基因组的2个序列;## seqnames ranges strand | score GC ##    |   ## [1] chr1 127-129 + | 3 0.3 ## [2] chr1 133-135 - | 4 0.5 ## ------- ## seqinfo: 2序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
覆盖(grl)gydF4y2Ba
##长度为2的RleList ## $chr2 ##长度为106的整数- rle,运行2次##长度:102 4 ##值:0 1 ## ## $chr1 ##长度为115的整数- rle,运行4次##长度:106 3 3 3 ##值:0 10 1gydF4y2Ba

3.4gydF4y2Ba构造子集gydF4y2BaGRangesListgydF4y2Ba对象gydF4y2Ba

一个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
##长度为1的GRangesList对象:## $ txa# #具有1个范围和1元数据列的GRanges对象:## seqnames ranges strand | score ##    |  ## [1] chr2 103-106 + | 5 ## ------- ## seqinfo:来自未指定基因组的2个序列;没有seqlengthsgydF4y2Ba
grl(“txB”、“GC”)gydF4y2Ba
## 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 range 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
## seqnames ranges strand | score GC ##    |   ## [1] chr1 107-109 + | 3 0.3 ## [2] chr1 113-115 - | 4 0.5 ## ------- ## seqinfo:来自未指定基因组的2个序列;## seqnames ranges strand | score GC ##    |   ## [1] chr2 103-106 + | 5 0.45 ## ------- ## seqinfo: 2序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
头(grl n = 1)gydF4y2Ba
## seqnames ranges strand | score GC ##    |   ## [1] chr2 103-106 + | 5 0.45 ## ------- ## seqinfo: 2个来自未指定基因组的序列;没有seqlengthsgydF4y2Ba
尾(grl n = 1)gydF4y2Ba
## seqnames ranges strand | score GC ##    |   ## [1] chr1 107-109 + | 3 0.3 ## [2] chr1 113-115 - | 4 0.5 ## ------- ## seqinfo:来自未指定基因组的2个序列;没有seqlengthsgydF4y2Ba
Window (grl, start=1, end=1)gydF4y2Ba
## seqnames ranges strand | score GC ##    |   ## [1] chr2 103-106 + | 5 0.45 ## ------- ## seqinfo: 2个来自未指定基因组的序列;没有seqlengthsgydF4y2Ba
grl [IRanges(开始= 2,结束= 2)gydF4y2Ba
## seqnames ranges strand | score GC ##    |   ## [1] chr1 107-109 + | 3 0.3 ## [2] chr1 113-115 - | 4 0.5 ## ------- ## seqinfo:来自未指定基因组的2个序列;没有seqlengthsgydF4y2Ba

3.5gydF4y2Ba循环在gydF4y2BaGRangesListgydF4y2Ba对象gydF4y2Ba

为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
## $ txb# # [1] 1 ## ## $ txb# # [1] 2gydF4y2Ba
酸式焦磷酸钠(grl、长度)gydF4y2Ba
## txA txB ## 1gydF4y2Ba

与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
## seqnames range strand | score GC ##    |   ## [1] chr2 103-106 + | 5 0.45 ## [2] chr2 113-116 + | 5 0.45 ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;## seqnames ranges strand | score GC ##    |   ## [1] chr1 107-109 + | 3 0.3 ## [2] chr1 113-115 - b| 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
## seqnames range strand | score GC ##    |   ## [1] chr2 103-106 + | 5 0.45 ## [2] chr2 113-116 + | 5 0.45 ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;## seqnames ranges strand | score GC ##    |   ## [1] chr1 107-109 + | 3 0.3 ## [2] chr1 113-115 - b| 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
## seqnames ranges strand | score GC ##    |   ## [1] chr2 103-106 + | 5 0.45 ## ------- ## seqinfo:来自未指定基因组的2个序列;## seqnames ranges strand | score GC ##    |   ## [1] chr1 113-115 - | 4 0.5 ## [2] chr1 107-109 + | 3 0.3 ## ------- ## seqinfo: 2序列来自一个未指定的基因组;没有seqlengthsgydF4y2Ba
Mendoapply (c, grl, grl2)gydF4y2Ba
## seqnames ranges strand | score GC ##    |   ## [1] chr2 103-106 + | 5 0.45 ## [2] chr2 113-116 + | 5 0.45 ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;## seqnames ranges strand | score GC ##    |   ## [1] chr1 107-109 + | 3 0.3 ## [2] chr1 113-115 - b| 4 0.5 ## [3] chr1 117-119 + | 3 0.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
## seqnames ranges strand | score GC log_score ##    |    ## txA chr2 103-106 + | 5 0.45 1.6094379124341 ## ------- ## seqinfo:来自未指定基因组的2个序列;## seqnames ranges strand | score GC log_score ##    |    ## txB chr1 107-109 + | 3 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_ listgydF4y2Ba

4gydF4y2Ba区间重叠涉及gydF4y2Ba农庄gydF4y2Ba而且gydF4y2BaGRangesListgydF4y2Ba对象gydF4y2Ba

间隔重叠是比较两个对象的范围以确定它们是否重叠以及何时重叠的过程。因此,它可能是最常见的操作gydF4y2Ba农庄gydF4y2Ba而且gydF4y2BaGRangesListgydF4y2Ba对象。为此目的,gydF4y2BaGenomicRangesgydF4y2Ba包提供了一系列区间重叠函数。这些函数中最一般的是gydF4y2BafindOverlapsgydF4y2Ba,它接受查询和主题作为输入,并返回一个gydF4y2Ba支安打gydF4y2Ba对象,其中包含重叠元素的索引对。gydF4y2Ba

grl findOverlaps (gr)gydF4y2Ba
##命中3个命中和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 ## 11 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

find overllaps (gr, grl, select="first")gydF4y2Ba
## [1] 1 2 2gydF4y2Ba
find overllaps (grl, gr, select="first")gydF4y2Ba
## [1] 1 2gydF4y2Ba

5gydF4y2Ba会话信息gydF4y2Ba

本插图中的所有输出都是在以下条件下产生的:gydF4y2Ba

sessionInfo ()gydF4y2Ba
## R版本3.6.1(2019-07-05)##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 18.04.3 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.10-bioc/R/lib/libRblas。所以## LAPACK: /home/biocbuild/bbs-3.10-bioc/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_phone = c# # [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION=C ## ##附加的基包:## [1]parallel stats4 stats graphics grDevices utils datasets ## [8] methods base ## ##其他附加的包:## [1]GenomicRanges_1.38.0 GenomeInfoDb_1.22.0 IRanges_2.20.0 ## [4] S4Vectors_0.24.0 BiocGenerics_0.32.0 BiocStyle_2.14.0 ## ##通过命名空间加载(且未附加):## [1] Rcpp_1.0.2 bookdown_0.14 digest_0.6.22 ## [4] bitops_1.0-6 magrittr_1. 1.5 evaluate_0.14 ## [7] zlibbioc_1.32.0 rlang_0.4.1 stringi_1.4.3 ## [10] XVector_0.26.0 rmarkdown_1.16 tools_3.6.1 ## [16] yaml_2.2.0 compiler_3.6.1 BiocManager_1.30.9 ## [19] htmltools_0.4.0 knitr_1.25 GenomeInfoDbData_1.2.2gydF4y2Ba