##警告:“TxRegInfra”包已弃用,将从## Bioconductor 3.13版本中删除
TxRegQuery通过整合eQTL、数字基因组足迹(DGF)、DnaseI超敏结合数据(DHS)和转录因子结合位点(TFBS)数据来探索转录调控网络。由于新出现的组织特异性数据量大,因此使用了特殊的数据模式。
txregnet
数据库我们有一个长时间运行的服务器来响应查询。我们关注的是mongolite作为接口。
suppressPackageStartupMessages({图书馆(TxRegInfra)图书馆(mongolite)图书馆(Gviz)图书馆(EnsDb.Hsapiens.v75)图书馆(BiocParallel)注册(SerialParam())})con1 =蒙戈(url =URL_txregInAWS(),db =“txregnet”)con1
# # < Mongo集合>“测试”# # $总(管道=“{}”,选项= "{\“allowDiskUse \”:真}”,处理程序= NULL,页大小= 1000,迭代= FALSE) # # $ count(查询 = "{}") ## $ 断开(gc = TRUE) # # $(键,查询截然不同 = "{}") ## $ 下降()# #美元出口(con = stdout (), bson = FALSE,查询= "{}"字段=“{}”,那种= "{\“_id \”:1}”)# # $找到(查询=“{}”字段= "{\“_id \”:0}”,类型=“{}”,跳过= 0,限制= 0,处理程序= NULL,页大小= 1000)# #美元进口(案子,bson = FALSE) # #美元指数(添加=零,remove = NULL) ## $info() ## $insert(data, pagesize = 1000, stop_on_error = TRUE,…)## $iterate(query = "{}", fields = "{\"_id\":0}", sort = "{}", skip = 0, limit = 0, limit = "{}") ## $mapreduce(map, reduce, query = "{}", sort = "{}", limit = 0, out = NULL, scope = NULL) ## $remove(query, just_one = FALSE) ## $rename(name, db = NULL) ## $replace(query, update = "{}", upsert = FALSE) ## $run(command = "{\"ping\":1}", simplify = TRUE) ## $update(query, update = "{\"$set\":{}}", filters = NULL, upsert = FALSE, multiple = FALSE)
我们将编写处理该对象的“字段”的方法。
蒙古石API中显反射率不高。以下是临时制作的,可能很脆弱:
## $name ## [1] "test" ## ## $db ## [1] "txregnet" ## ## $url ## [1] "mongodb+srv://user:user123@txregnet-kui9i.mongodb.net/txregnet" ## ## $options ## List of 6 ## $ pem_file: NULL ## $ ca_file: NULL ## $ ca_dir: NULL ## $ crl_file: NULL ## $ allow_invalid_hostname: logi FALSE ## $ weak_cert_validation: logi FALSE
如果蒙戈
实用程序作为系统命令可用,我们可以获得数据库中的集合列表,如下所示。
##错误在system2(cmd, args = "——help", stdout = TRUE, stderr = TRUE): ##错误在运行命令
##在你的系统上安装mongodb来使用这个函数
否则,只要mongolite安装时,只要知道感兴趣的集合名称,就可以在本小插图中使用它们。
我们可以从一个给定的集合中获得一个记录:
## gene_id variant_id tss_distance ma_samples ma_count maf ## 1 ENSG00000238009.2 1_807994_C_T_b37 678771 17 18 0.0233766 ## pval_名义斜率slope_se qvalue chr snp_pos A1 A2 build ## 1 0.00126668 -0.759564 0.233531 0.0742794 1 807994 C T b37
查询可以使用JSON组合。我们有一个工具来生成使用mongodb聚合方法的查询。在这里,我们通过计算每条染色体在CD14细胞上的足迹统计的计数和最小值来证明这一点。
m1 =蒙戈(url =URL_txregInAWS(),db =“txregnet”,收集=“CD14_DS17215_hg19_FP”)newagg =makeAggregator(通过=“装备”,轮式侦察车的=“统计”,op =" $分钟",opname =“最小值”)
这个聚合查询的JSON布局为
[{“美元集团”:{" _id ":“空空的美元”,“数”:{" $ sum ":[1]},“最小值”:{" $ min ":[" $统计 "] } } } ]
调用返回一个数据帧:
## _id count min ## 1 chrY 827 0.01907390 ## 2 chr18 15868 0.06107950 ## 3 chr10 40267 0.00601357 ## 4 chr4 32947 0.02776440 ## 5 chr6 54728 0.00565057 ## 6 chr17 47987 0.01242310
我们需要绑定mongodb的元数据和信息。
下面的代码将集合名称的特别筛选转换为DataFrame。
## 2行3列的数据帧##基础类型## <字符> <字符> ## Adipose_Subcutaneous_allpairs_v7_eQTL Adipose eQTL ## adipose_内脏al_omentum_allpairs_v7_eqtl Adipose eQTL ## mid ## <字符> ## Adipose_Subcutaneous_allpairs_v7_eQTL Subcutaneous_allpair. #### adipose_dswareal_omentum_allpairs_v7_eqtl dswareal_omentum_all ..
开发的一个关键方法是根据基因组坐标划分档案。
如果=GenomeInfoDb::Seqinfo(基因组=“hg19”) [“chr17”]#修复查询基因组myg =农庄(“chr17”,IRanges(38.07 e6,38.09 e6),seqinfo =si)s1 =sbov(myg rme1简化=假)
## ..........................................
## class: raggeexperiment ## dim: 1676 42 ## assays(3): chr id stat ## rownames: NULL ## colnames(42): CD14_DS17215_hg19_FP CD19_DS17186_hg19_FP…## iPS_19_11_DS15153_hg19_FP vHMEC_DS18406_hg19_FP ## colData名称(6):基类型…类型中
## [1] 1676 42
## flug_ds14724_hg19_fp fMuscle_arm_DS17765_hg19_FP ## chr17:38084160-38084169 0.533333 NA ## chr17:38084924-38084952 0.890476 NA ## chr17:38080857-38080891 NA 0.54902 ## chr17: 3808194 -38081926 NA 0.50000
ormm =txmodels(“ORMDL3”,情节=假,name =“ORMDL3”)sar =strsplit(rownames(sa),”:| - - - - - -”)一个=as.numericgr =农庄(seqnames(ormm) [1],IRanges(一个(酸式焦磷酸钠(特别行政区,“(”,2)),一个(酸式焦磷酸钠(特别行政区,“(”,3.))))gr1一起=grgr1一起$分数=1-sa (,1]gr2 =grgr2$分数=1-sa (,2]那么=DataTrack(gr1一起,name =《外交政策》“绿肺”)星际2 =DataTrack(gr2name =“音乐/手臂FP”)plotTracks(列表(GenomeAxisTrack(), sc1, sc2, ormm),showId =真正的)
sbov
我们从三个与肺基因组学相关的“单一概念”分析开始。v7 GTEx肺eQTL数据,肺成纤维细胞DnaseI窄峰编码报告,胎儿肺数字基因组足迹报告。
lname_eqtl =“Lung_allpairs_v7_eQTL”lname_dhs =“ENCFF001SSA_hg19_HS”#见dnmeta,肺成纤维细胞lname_fp =“fLung_DS14724_hg19_FP”si17 =GenomeInfoDb::Seqinfo(基因组=“hg19”) [“chr17”]si17n =si17GenomeInfoDb::seqlevelsStyle(si17n) =“NCBI”s1 =sbov(rme0 [lname_eqtl],农庄(“17”,IRanges(38.06 e6,38.15 e6),seqinfo =si17n))
# #。
# #。
# #。
现在我们已经为每个化验注释了grange。部分eQTL数据为:
# #[1]“gene_id”“variant_id”“tss_distance”“ma_samples”“ma_count”# #[6]“加”“pval_nominal”“斜率”“slope_se”“qvalue”# #[11]“空空”“snp_pos”“A1”“A2”“构建”# #[16]“起源”
GRanges对象有6个范围和4个元数据列:# # seqnames范围链| gene_id variant_id # # < Rle > < IRanges > < Rle > | <人物> <人物> # # [1]17 38061054 * | ENSG00000266469.1 17 _38061054_g_a_b37 # # [2] 17 38061439 * | ENSG00000161395.8 17 _38061439_t_c_b37 # # [3] 17 38061439 * | ENSG00000073605.14 17 _38061439_t_c_b37 # # [4] 17 38061439 * | ENSG00000172057.5 17 _38061439_t_c_b37 # # [5] 17 38061439 * | ENSG00000167914.6 17 _38061439_t_c_b37 # # [6] 17 38062196 * | ENSG00000161395.8 17 _38062196_g_a_b37 # #加pval_nominal # # <数字><数字> ## [1]0.0195822 7.72192e-04 ## [2] 0.4203660 3.99212e-04 ## [3] 0.4203660 6.87714e-10 ## [4] 0.4203660 1.08337e-10 ## [5] 0.4203660 2.15704e-10 ## [6] 0.4188480 3.09568e-04 ## ------- ## seqinfo: 1 sequence from GRCh37。p13基因组
这里使用的基因和变体的名称很麻烦,最好使用符号和rsid。
addsyms =函数(x,EnsDb =EnsDb.Hsapiens.v75::EnsDb.Hsapiens.v75) {ensids =gsub("\ \. . *”,"", x$gene_id)#删除职位期限gns =基因(EnsDb)x$符号=gns [ensids]$象征x}s1 =addsyms(s1)
注意,可以通过地址检索snp的rsid。但这是一个涉及巨大SNPlocs包的缓慢操作,我们不希望在这个小插图中直接使用它。
> snpsByOverlaps (SNPlocs.Hsapiens.dbSNP144。GRCh37, s1b) UnstitchedGPos对象,265个位置和2个元数据列:seqnames pos strand | RefSNP_id alleles_as_ambig | [1] 17 38061054 * | rs36049276 R [2] 17 38062196 * | rs4795399 Y [3] 17 38062196 * | rs2305480 R [4] 17 38062217 * | rs2305479 Y [5] 17 38062503 * | rs35104165 Y ... ... ... ... . ... ...[261] 17 38149258 * | rs58212353 K [262] 17 38149350 * | rs8073254 V [263] 17 38149411 * | rs34648856 R [264] 17 38149724 * | rs3785549 Y [265] 17 38149727 * | rs3785550 H ------- seqinfo: 25序列(1循环)from GRCh37。p13基因组
的对象s1
以上计算可作为demo_eQTL_granges
.我们把它转换成一个图形
## ##附加包:'graph'
以下对象从'package:Biostrings': ## ## complement被屏蔽
##有向边的graphNEL图##节点数= 312 ##边数= 693
节点是snp和基因,当资源(在本例中是GTEx肺研究)声明关联(在本例中是snp -基因关联的FDR不超过0.10)时,就会出现边。的图库包含从图中创建关联矩阵的函数,反之亦然。
给定grange表示sbov
结果,我们可以使用重叠计算来方便地识别eQTL SNPs、基因和超敏性或脚印区域之间的关系。
我们使用sbov_output_HS
的持久实例s2
上面的计算。
## seqinfo中的警告。mergexy(x, y):两个组合的对象没有共同的序列级别。(使用## suppressWarnings()屏蔽此警告。)
##点击0次点击和0个元数据列的对象:## queryHits subjectHits ## ## ------- ## queryLength: 693 / subjectLength: 11
长度为0的GRangesList对象:## <0的元素>
这表明有两个DHS位点与snp重叠,显示与各种基因的eQTL关联。
对于足迹数据,我们有:
## seqinfo中的警告。mergexy(x, y):两个组合的对象没有共同的序列级别。(使用## suppressWarnings()屏蔽此警告。)
##命中对象,0个命中,0个元数据列:## queryHits subjectHits ## ## ------- ## queryLength: 693 / subjectLength: 107
长度为0的GRangesList对象:## <0的元素>
我们有少量的云驻留FIMO搜索结果通过TFutils包中。
图书馆(TFutils)数据(demo_fimo_granges)seqlevelsStyle(demo_eQTL_granges) =“加州”拉普兰人(demo_fimo_granges、拉普兰人函数(x)subsetByOverlaps(demo_eQTL_granges x))
## seqinfo中的警告。mergexy(x, y):两个组合的对象没有共同的序列级别。在. seqinfo中使用## suppressWarnings()来抑制此警告。mergexy(x, y):两个组合的对象没有共同的序列级别。(使用## suppressWarnings()屏蔽此警告。)
## $VDR ## $VDR$ ' chr17:38070000-38090000 ' # GRanges对象0范围和17元数据列:## seqnames range strand | gene_id variant_id tss_distance ma_samples ## | ## ma_count maf pval_名义坡度slope_se qvalue chr ## <数值> <数值> <数值> <数值> <数值> ## snp_pos A1 A2构建起源符号## <整数> <因子> <因子> <因子> <字符> <字符> # ------- ## seqinfo:1个hg19基因组序列## ## ## $POU2F1 ## $POU2F1$ ' chr17:38070000-38090000 ' ## GRanges对象,0范围,17元数据列:## seqnames ranges strand | gene_id variant_id tss_distance ma_samples ## | ## ma_count maf pval_名义坡度slope_se qvalue chr ## ## snp_pos A1 A2构建起源符号## # ------- ## seqinfo: hg19基因组的1个序列