谷歌基因组学实现了GA4GHvariant API和这个R包可以从该实现中检索数据。有关详细信息,请参见https://cloud.google.com/genomics/v1beta2/reference/variants
这个小插图在包加载时从env变量GOOGLE_API_KEY进行验证。#交互运行时,调用authenticate方法。# ?进行身份验证
默认情况下,此函数从数据库中检索小基因组区域的变体1000人基因组阶段1的变体。
variables <- getvariables ()
##获取变量页面。
##变种现在可用。
长度(变异)
## [1]
我们可以看到返回了4个单独的变量,JSON响应被反序列化为一个R列表对象:
类(变异)
##[1]“列表”
模式(变异)
##[1]“列表”
顶级字段名是:
名称(变异[[1]])
##[1]“variantSetId”“id”“names”“created”##[5]“referenceName”“start”“end”“referenceBases”##[9]“alternateBases”“quality”“filter”“info”##[13]“calls”
变体包含嵌套调用:
长度(变异[[1]]美元调用)
## [1] 1092
顶级调用字段名:
名称(变异[[1]]调用美元[[1]])
##[1]“callSetId”“callSetName”“基因型”##[4]“phaseset”“genotypelkelihood”“info”
检查一个特定变体的调用:
变异[[1]]referenceName美元
##[1]“22”
变异[[1]]美元开始
##[1]“16051452”
变异[[1]]alternateBases美元
##[[1]] ##[1]“c”
变异[[1]]调用美元[[1]]
# # # # $ callSetId[1]“10473108253681171589 - 0”callSetName美元# # # # # #[1]“HG00261”# # # # $基因型# # $基因型([1])# #[1]0 # # # # $基因型[[2]]# # [1]0 ## ## ## $ phaseset # # (1 ] "*" ## ## $ genotypeLikelihood # # $ genotypeLikelihood[[1]] # # # # # #[1] -0.1美元genotypeLikelihood[[2]] # # # # # #[1] -0.67美元genotypeLikelihood [[3]] # # -3.3 [1] ## ## ## $ 信息# #信息DS # #美元信息DS美元[[1]]# #[1]“0.000”
这很好,但是这个数据变得多在转换为Bioconductor数据类型时更有用。例如,我们可以将此列表表示中的变量转换为vrangeVariantAnnotation:
variantsToVRanges(变异)
VRanges对象,包含4个范围和2个元数据列:链ref alt # # # # seqnames范围< Rle > < IRanges > < Rle > <人物> < characterOrRle > # # rs143503259 chr22 16051453 * C # # rs192339082 chr22 16051477 * C # # rs79725552 chr22 16051480 * T C # # rs141578542 chr22 16051497 * G # # totalDepth refDepth altDepth sampleNames # # < integerOrRle > < integerOrRle > < integerOrRle > < factorOrRle > # # rs143503259 < NA > < NA > < NA > < NA > # # rs192339082 < NA > < NA > < NA > < NA > # # rs79725552 < NA > < NA > < NA > < NA > # # rs141578542 < NA > < NA > < NA > < NA > # # softFilterMatrix |qal FILTER ## <矩阵> | <数字> <字符> ## rs143503259 | 100 PASS ## rs192339082 | 100 PASS ## rs79725552 | 100 PASS ## rs141578542 | 100 PASS ## ------- # seqinfo: 1个来自未指定基因组的序列;no seqlength# # hardFilters: NULL
接下来让我们使用packageVariantAnnotation来注释特定的1000个基因组第一阶段变异。
库(VariantAnnotation)
请注意参数开始
而且结束
根据GA4GH规范,以0为基础的坐标表示,但Bioconductor数据类型转换器在GoogleGenomics,默认情况下,将返回的数据转换为基于1的坐标。
granges <- getvariables (variantSetId="10473108253681171589",染色体="22",start=50300077, end=50303000, converter=variantsToGRanges)
##获取变量页面。
使用nextPageToken继续变量查询:CIWK_hcQ_Nr-8ZGlk78i
##获取变量页面。
使用nextPageToken继续变量查询:CIaM_hcQvM_un46SmcJ0
##获取变量页面。
使用nextPageToken进行变体查询:CJGN_hcQiYna3cSwse_RAQ
##获取变量页面。
使用nextPageToken继续变量查询:CMKQ_hcQr9OUpKu4n_xz
##获取变量页面。
使用nextPageToken的继续变体查询:CMKS_hcQn-nIneaph7WJAQ
##获取变量页面。
使用nextPageToken的继续变量查询:CKOU_hcQ2eCCwsmBysdd
##获取变量页面。
使用nextPageToken的继续变体查询:CLWV_hcQmo-n-tX08uPyAQ
##获取变量页面。
使用nextPageToken继续变量查询:CMqX_hcQ__3H4KKV9tUR
##获取变量页面。
使用nextPageToken继续变量查询:CKuZ_hcQ9pHXwa742bKgAQ
##获取变量页面。
使用nextPageToken继续变量查询:CLqa_hcQ-6zjo_Dc86gy
##获取变量页面。
使用nextPageToken的继续变体查询:CLSb_hcQ3vrDo5XJwsB_
##获取变量页面。
使用nextPageToken继续变量查询:CKOd_hcQ6IPgk-PVjskK
##获取变量页面。
使用nextPageToken继续变量查询:CPGe_hcQ-8Saw6Ojg8yXAQ
##获取变量页面。
使用nextPageToken继续变量查询:CPGf_hcQuKDdodiCvLUm
##获取变量页面。
##变种现在可用。
现在定位每种蛋白质编码变体:
库(TxDb.Hsapiens.UCSC.hg19.knownGene)
txdb <- txdb . hsapiens . ucsc .hg19。knownGene granges_locations <- locateVariants(granges, txdb, codingvariables ())
##有效的警告。seqinfo (x,建议。GRanges对象包含一个位于序列## 75253的超出边界范围。请注意,位于长度为##未知(NA)的序列上的范围或位于循环序列上的范围不会被认为是##越界(使用seqlength()和isCircular()来获得底层序列的长度##和循环标志)。您可以使用## trim()来修剪这些范围。参见“trim,GenomicRanges-method”获取更多信息。
## 'select()'返回键和列之间的many:1映射
granges_locations
GRanges对象,包含7个范围和9个元数据列:# # seqnames范围链|位置LOCSTART LOCEND QUERYID # # < Rle > < IRanges > < Rle > | <因素> <整数> <整数> <整数> # # [1]chr22 50301422 - |编码939 939 24 # # [2]chr22 25 # # 50301476 - 885 |编码885 [3]chr22 50301488 - |编码873 873 26 # # [4]chr22 50301494 - 867 |编码867 27 # # [5]chr22 50301584 - 777 |编码777 28 # # [6]chr22 50302962 - 698 |编码698 57 # # [7]chr22 50302995 - 665 |编码665 58 # # TXID CDSID GENEID PRECEDEID FOLLOWID # # <人物> ## [1] 75253 218562 79087 [2] 75253 218562 79087 # [3] 75253 218562 79087 # [5] 75253 218562 79087 # [6] 75253 218563 79087 # [7] 75253 218563 79087 ## seqinfo: 1个来自未指定基因组的序列;没有seqlengths
并预测蛋白质编码变体的影响:
库(BSgenome.Hsapiens.UCSC.hg19)
granges_coding <- predictCoding(rep(granges, elementNROWS(granges$ALT)), txdb, seqSource=Hsapiens, varAllele=unlist(granges$ALT, use.names=FALSE))
##有效的警告。seqinfo (x,建议。GRanges对象包含一个位于序列## 75253的超出边界范围。请注意,位于长度为##未知(NA)的序列上的范围或位于循环序列上的范围不会被认为是##越界(使用seqlength()和isCircular()来获得底层序列的长度##和循环标志)。您可以使用## trim()来修剪这些范围。参见“trim,GenomicRanges-method”获取更多信息。
granges_coding
## GRanges对象有7个范围和16个元数据列:# # seqnames范围链| REF ALT # # < Rle > < IRanges > < Rle > | < DNAStringSet > < DNAStringSetList > # # rs114335781 chr22 50301422 - G | # # rs8135963 chr22 50301476 - | T C # # rs200080075 chr22 50301488 - | C T # # rs147801200 chr22 50301494 - G | # # rs138060012 chr22 50301584 - | C T # # rs114264124 chr22 50302962 - | C T # # rs149209714 chr22 50302995 - | C G # #定性筛选varAllele CDSLOC PROTEINLOC # # <数字> <人物> < DNAStringSet > < IRanges > < IntegerList > # # rs114335781 100通过T 939313 # # rs8135963 100 G 885 295 # # rs200080075 100传球873 291 # # rs147801200 100 T 867 289 # # rs138060012 100传球777 259 # # rs114264124 100 100 698 233 # # rs149209714传球C 665 222 # # QUERYID TXID CDSID GENEID结果# # <整数> <人物> < IntegerList > <人物> <因素> 24 75253 218562 79087的# # # # rs114335781 rs8135963 25 75253 218562 79087的# # rs200080075 26 75253 218562 79087的# # rs147801200 27 75253 218562 79087 # #同义rs138060012 28 75253 218562 79087的# # rs114264124 57 75253 218563 79087产生的# # rs149209714 58 75253 218563 79087产生的# # REFCODON VARCODON REFAA VARAA # # < DNAStringSet > < DNAStringSet > < AAStringSet > < AAStringSet > # # rs114335781 ATC ATT我# # rs8135963 GCA GCG # # rs200080075 20 CCA P P # # rs147801200 CAC猫H H # # rs138060012 20 CCA P P # # rs114264124 CGG CAG R问# # rs149209714 GGA GCA G ## ------- ## seqinfo: 1从一个未指明的基因组序列;没有seqlengths
最后,添加基因信息:
库(org.Hs.eg.db)
注释<- select(org. hs . e.g. .db, keys=granges_coding$GENEID, keytype="ENTREZID", columns=c("SYMBOL", "GENENAME","ENSEMBL"))
## 'select()'返回键和列之间的many:1映射
cbind (elementMetadata (granges_coding)、annots)
与7 # # DataFrame行和20列# # REF ALT定性筛选varAllele # # < DNAStringSet > < DNAStringSetList > <数字> <人物> < DNAStringSet > # # 1 G 100通过T # # 2 T C 100 G # # 3 C T 100传球# # 4 G 100 T # # 5 C T 100传球# # 6 C T 100 # # 7 C G 100传球C # # CDSLOC PROTEINLOC QUERYID TXID CDSID GENEID # # < IRanges > < IntegerList > <整数> <人物> < IntegerList > <人物> # # 1 939 313 24 75253 218562 79087 # 25 # 885 295 75253 218562 79087 26 # # 3 873 291 75253218562 79087 ## 4 867 289 27 75253 218562 79087 ## 5 777 259 28 75253 218562 79087 ## 6 698 233 57 75253 218563 79087 ## 7 665 222 58 75253 218563 79087 ## CONSEQUENCE REFCODON VARCODON REFAA VARAA ## ## 1 synonymous ATC ATT I I ## 2 synonymous GCA GCG A A ## 3 synonymous CCG CCA P P ## 4 synonymous CAC CAT H H ## 5 synonymous CCG CCA P P ## 6 nonsynonymous CGG CAG R Q ## 7 nonsynonymous GGA GCA G A ## ENTREZID SYMBOL GENENAME ## ## 1 79087 ALG12 ALG12, alpha-1,6-mannosyltransferase ## 2 79087 ALG12 ALG12, alpha-1,6-mannosyltransferase ## 3 79087 ALG12 ALG12, alpha-1,6-mannosyltransferase ## 4 79087 ALG12 ALG12, alpha-1,6-mannosyltransferase ## 5 79087 ALG12 ALG12, alpha-1,6-mannosyltransferase ## 6 79087 ALG12 ALG12, alpha-1,6-mannosyltransferase ## 7 79087 ALG12 ALG12, alpha-1,6-mannosyltransferase ## ENSEMBL ## ## 1 ENSG00000182858 ## 2 ENSG00000182858 ## 3 ENSG00000182858 ## 4 ENSG00000182858 ## 5 ENSG00000182858 ## 6 ENSG00000182858 ## 7 ENSG00000182858
sessionInfo ()
## R版本3.5.0(2018-04-23)##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 16.04.4 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.7-bioc/R/lib/libRblas。/home/biocbuild/bbs-3.7-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]stats4并行统计图形grDevices utils数据集##[8]方法基础## ##其他附加包:# # # # [1] org.Hs.eg.db_3.6.0 [2] BSgenome.Hsapiens.UCSC.hg19_1.4.0 # # [3] BSgenome_1.48.0 # # [4] rtracklayer_1.40.0 # # [5] TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2 # # [6] GenomicFeatures_1.32.0 # # [7] AnnotationDbi_1.42.0 # # [8] GoogleGenomics_2.2.0 # # [9] VariantAnnotation_1.26.0 # # [10] GenomicAlignments_1.16.0 # # [11] Rsamtools_1.32.0 # # [12] Biostrings_2.48.0 # # [13] XVector_0.20.0 # # [14] SummarizedExperiment_1.10.0 # # [15] DelayedArray_0.6.0 # # [16] BiocParallel_1.14.0 # # [17][21] IRanges_2.14.0 ## [22] S4Vectors_0.18.0 ## [23] BiocGenerics_0.26.0 ## [24] knitr_1.20 ## [25] BiocStyle_2.8.0 ## ##通过命名空间加载(并且没有附加):## [4] htmltools_0.3.6 yaml_2.1.18 blob_1.1.1 ## [7] XML_3.98-1.11 DBI_0.8 bit64_0.9-7 ## [10] GenomeInfoDbData_1.1.0 string_1 .3.0 zlibbioc_1.26.0 ## [13] evaluate_0.10.1 memoise_1.1.0 biomaRt_2.36.0 ## [19] jsonlite_1.5 bit_1.1-12 rjson_0.2.15 ## [22] digest_0.6.15 stringi_1.1.7 bookdown_0.7 ## [25] grid_3.5.0 rprojroot_1.3-2 tools_3.5.0 ## [28] bitops_1.0-6 magrittr_1. 1.5 RCurl_1.95-4.10 ## [31]RSQLite_2.1.0 pkgconfig_2.0.1 Matrix_1.2-14 ## [34] prettyunits_1.0.2 assertthat_0.2.0 rmarkdown_1.9 ## [37] httr_1.3.1 R6_2.2.2 compiler_3.5.0