【生信进阶练习1000days】day9-BSgenome和AnnotationHub

博客介绍了BSgenome包和AnnotationHub。BSgenome包包含物种/基因组版本序列信息,可获取序列数据。AnnotationHub是R包和通道,能不安装注释包就下载和查询注释对象,还介绍了查询方法、相关练习及使用时的报错解决参考网址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. BSgenome packages

  • BSgenome包包含了给定物种/基因组版本的序列信息。我们可以通过使用 available.genomes函数,获取可用的BSgenome系列包

library(BSgenome)
head(available.genomes())
#> [1] "BSgenome.Alyrata.JGI.v1"                 "BSgenome.Amellifera.BeeBase.assembly4"  
#> [3] "BSgenome.Amellifera.UCSC.apiMel2"        "BSgenome.Amellifera.UCSC.apiMel2.masked"
#> [5] "BSgenome.Athaliana.TAIR.04232008"        "BSgenome.Athaliana.TAIR.TAIR9"
  • 加载并检查BSgenome包
library(BSgenome.Hsapiens.UCSC.hg19)
Hsapiens
  • 使用 getSeq() 函数获取序列数据,或者通过传入GRanges对象来获取某个区域的数据
getSeq(Hsapiens, "chr1")
#>   249250621-letter "DNAString" instance
#> seq: NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN...NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
getSeq(Hsapiens, gns["5467",])
#>   A DNAStringSet instance of length 1
#>     width seq                                                                                       names               
#> [1] 85634 GCGGAGCGTGTGACGCTGCGGCCGCCGCGGACCTGGGGATTAA...ACTTTAAATAAATGGGAATTAAATATTTAAGAGCTGACTGGAA 5467

Biostrings包包含处理这些 *StringSet 对象的大部分代码—可以参阅Biostrings小片段和帮助页面以获得更多信息。

  • BSgenome 练习 Get the sequences for all transcripts of the TP53 gene

2. AnnotationHub

AnnotationHub是一个R包,也可以视作一个通道,我们可以在不安装相应注释包的情况下,通过它下载和查询多种不同的注释对象(annotation objects)

library(AnnotationHub)
hub <- AnnotationHub()
#> snapshotDate(): 2018-06-27
hub
2.1 查询AnnotationHub

想在AnnotationHub上找到“正确”的资源,就像使用谷歌一样,我们需要使用一个经过良好配置的查询检索方法,才能获得自己想要的信息。
AnnotationHub中进行高效的查询,需要注意根据以下规则分类检索:

  • Data provider
  • Data class
  • Species
  • Data source
names(mcols(hub))
#>  [1] "title"              "dataprovider"       "species"            "taxonomyid"         "genome"            
#>  [6] "description"        "coordinate_1_based" "maintainer"         "rdatadateadded"     "preparerclass"     
#> [11] "tags"               "rdataclass"         "rdatapath"          "sourceurl"          "sourcetype"
2.2 AnnotationHub Data providers, Data classes, Species, Data sources
## AnnotationHub Data providers
unique(hub$dataprovider)

## AnnotationHub Data classes
unique(hub$rdataclass)

## AnnotationHub Species
head(unique(hub$species))
length(unique(hub$species))

## Data sources
unique(hub$sourcetype)
2.3 AnnotationHub query
## AnnotationHub query
qry <- query(hub, c("granges","homo sapiens","ensembl"))
qry
qry$sourceurl

## Selecting AnnotationHub resource
whatIwant <- qry[["AH50377"]]
GRCh38TxDb <- makeTxDbFromGRanges(whatIwant)
GRCh38TxDb
2.4 AnnotationHub exercises
  • How many resources are on AnnotationHub for Atlantic salmon (Salmo salar)?
  • Get the most recent Ensembl build for domesticated dog (Canis familiaris) and make a TxDb
2.5 AnnotationHub使用的报错解决
<think>好的,我需要帮用户解决如何安装BSgenome.Hsapiens.1000genomes.hs37d5这个R包的问题。根据提供的引用息,用户遇到了安装问题,因为R提示找不到这个包。首先,我应该回忆Bioconductor的安装流程。 引用[3]提到,有些包不在CRAN上,而是在Bioconductor里,需要先安装BiocManager。用户之前的错误可能是因为直接使用install.packages()而没有通过BiocManager安装。所以第一步应该是确认用户是否安装了BiocManager,如果没有,需要先安装它。 接下来,引用[2]中提到用户安装过类似的基因组数据包,比如SNPlocs.Hsapiens.dbSNP144.GRCh37BSgenome.Hsapiens.1000genomes.hs37d5。正确的安装方法应该是通过BiocManager::install()函数来调用。因此,我应该指导用户使用BiocManager来安装目标包。 可能用户已经安装了BiocManager,但为了确保,步骤里还是需要包含安装BiocManager的部分。然后执行具体的安装命令。同时,可能用户需要更新Bioconductor到最新版本,尤其是如果他们的R版本比较旧的话,这可能会导致包安装失败,但用户的问题里没有提到版本问题,所以暂时先不加入,但可以放在注意事项里。 另外,引用[1]中的错误息显示用户尝试直接加载BSgenome包,但未安装成功。这可能是因为用户没有正确安装依赖包,或者安装过程中出现了网络问题。因此,在步骤中需要强调使用BiocManager的正确方法,并检查是否成功安装了依赖项。 总结下来,安装步骤应该是: 1. 安装BiocManager(如果尚未安装)。 2. 使用BiocManager安装目标包。 3. 加载包以验证安装。 此外,还要提醒用户注意RBioconductor的版本兼容性,以及可能的依赖问题。如果用户遇到问题,可以建议他们更新BiocManager或安装依赖包。</think>### 如何安装`BSgenome.Hsapiens.1000genomes.hs37d5` R包? #### 步骤说明 1. **安装`BiocManager`工具** `BSgenome.Hsapiens.1000genomes.hs37d5`属于Bioconductor仓库的包,需通过`BiocManager`安装。若未安装`BiocManager`,先运行以下代码: ```R if (!require("BiocManager", quietly = TRUE)) install.packages("BiocManager") ``` 2. **安装目标包** 直接通过`BiocManager::install()`函数安装: ```R BiocManager::install("BSgenome.Hsapiens.1000genomes.hs37d5") ``` 3. **验证安装并加载包** ```R library(BSgenome.Hsapiens.1000genomes.hs37d5) ``` #### 注意事项 - **依赖包**:安装时会自动安装依赖的包(如`BSgenome`基础包)[^2]。 - **版本兼容性**:若安装失败,检查RBioconductor版本是否匹配。可通过`BiocManager::valid()`验证。 - **网络问题**:部分包因体积较大可能下载失败,建议使用稳定网络环境。 #### 引用说明 Bioconductor的包需通过专用工具安装,直接使用`install.packages()`会提示“不存在叫‘xxx’的程辑包”[^1][^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值