【生信进阶练习1000days】day15-SRAdbV2包
文章目录
- 学习来源
- 1.Sequence Read Archive(SRA)
- 1.1 Scroller提供两种方法来存取数据
- 2. Query syntax
- 3. Using the raw API without R/Bioconductor
学习来源
- https://bioconductor.github.io/BiocWorkshops/public-data-resources-and-bioconductor.html#sequence-read-archive
1.Sequence Read Archive(SRA)
可以使用SRAdbV2获取SRA数据
- 安装SRAdbV2包
install.packages('BiocManager')
BiocManager::install('seandavi/SRAdbV2')
- 使用SRAdbV2 首先需要创建一个
R6类-Omicidx
oidx = Omicidx$new()
- 创建好
Omicidx
实例后,就可以使用oidx$search()
来进行数据检索
query=paste(paste0('sample_taxon_id:', 10116),'AND experiment_library_strategy:"rna seq"','AND experiment_library_source:transcriptomic','AND experiment_platform:illumina')
z = oidx$search(q=query,entity='full',size=100L
其中,entity
参数是指可以通过API获得的SRA实体类型, size
参数指查询结果返回的记录数
- 由于有时候返回的结果集数据量很会大,所以我们可以使用
Scroller
来对结果进行检索提炼
s = z$scroll()
s
s$count
s$count
可以让我们简单看一下返回数据的条数有多少
1.1 Scroller提供两种方法来存取数据
- 第一种方法,是把所有的查询结果都加载到R的内存中,但是这会很慢
res = s$collate(limit = 1000)
head(res)
然后使用 reset()
重新设置Scroller
s$reset()
s
- 第二种方法是,使用
yield
方法来迭代取数据
j = 0
## fetch only 500 records, but
## `yield` will return NULL
## after ALL records have been fetched
while(s$fetched < 500) {res = s$yield()# do something interesting with `res` here if you likej = j + 1message(sprintf('total of %d fetched records, loop iteration # %d', s$fetched, j))
}
如果没有获取到完整的数据集,Scroller对象的has_next()方法会报出 TRUE
使用 reset()
函数可以将光标移动到数据集的开头
2. Query syntax
见这里
https://bioconductor.github.io/BiocWorkshops/public-data-resources-and-bioconductor.html#query-syntax
3. Using the raw API without R/Bioconductor
可以不通过R/Bioconductor,而是用原生API获取数据
SRAdbV2封装了web的API,因此可以通过web API访问其中数据
sra_browse_API()
基于web的API为实验数据查询提供了一个有用的接口,基于json的可以用
sra_get_swagger_json_url()
【生信进阶练习1000days】day15-SRAdbV2包相关推荐
- 生信识图之 点图进阶-3(MA)
各位亲爱的土豪富婆,承蒙您慧眼识珠大驾光临大Y老师为您准备的小灶课堂. -----以下是日常碎碎念,日理万机的您,可以直接跳到图图图图分割线享用----- 对于"诈尸式"更新,大Y ...
- 生信分析之R语言常用R包一步下载
系列文章目录 生信分析第一步:R语言基础应用以及数据前处理 文章目录 R包下载 使用GEOquery包下载原始数据 芯片数据读取 GEOquery 下载并读取数据 提取GEO表达矩阵 提取GEO注释信 ...
- 生信识图之 点图进阶-6(UMAP)
各位亲爱的土豪富婆,见字如面. -----以下是日常碎碎念,日理万机的您,可以直接跳到图图图图分割线享用----- 春天来啦,又到了--考研计划的时候.大Y老师不是会把咱们公众号的更新陆续同步到知乎上 ...
- 生信识图之 点图进阶-4 (PCA下篇)
各位亲爱的土豪富婆,承蒙您慧眼识珠大驾光临大Y老师为您准备的小灶课堂. 近期有朋友说发现有人抄袭咱们的文章,自标为"原创".对此大Y老师有心理准备,咱们的每一篇文章都是大Y老师仔细 ...
- CancerSubtypes包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理)
CancerSubtypes包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理,感谢Jimmy老师!) 1. 引言 2. 数据处理 2.1 基本处理 2.1.1 通过检查数据分布来分 ...
- ProTICS包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理)
ProTICS包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理,感谢Jimmy老师!) 1.设置环境 2.Part1的结果 3.Part2的结果 4.Part3的结果 5.相关函数 ...
- 生信识图 之 点图进阶-1
各位亲爱的土豪富婆,承蒙您慧眼识珠大驾光临大Y老师为您准备的小灶课堂. -----以下是日常碎碎念,日理万机的您,可以直接跳到图图图图分割线享用----- 大Y老师做生信分析十多年了,在此期间结识很多 ...
- 生信软件5 - RIdeogram包绘制染色体密度图
该R包在全基因组测序WGS中可以通过用于描述突变位点在染色体上的分布,在转录组测序RNA-Seq中可用于描述差异表达基因在染色体上的分布,在WGBS中可用于描述DNA甲基化在染色体上的分布等. R包软 ...
- 生信和植物领域最新资讯合集
宏基因组/微生物组是当今世界科研最热门的研究领域之一,中科院科研人员创立"宏基因组"公众号,入选科研圈评选"2019年度学术媒体优质公众号联合海内外同行共同打造本领域纯干 ...
- camunda流程定义表无数据_[Python04] 学习snakemake,三步轻松搭建生信流程!
随着学习的不断深入,分析的数据越来越多.你会发现,日常生信分析不过是调用一些相同的函数或者包分析不同的数据,换汤不换药. 那么,如何把分析过程流程化,让数据像工厂的流水线一样自动被处理? 最简单的法子 ...
最新文章
- VIM打开shell脚本中文乱码解决
- softmax函数理解
- 数据导出到Excel
- 《走出软件作坊》读后感
- js 异步执行_JS异步执行机制——事件循环(Event Loop)
- ZOJ 3817Chinese Knot(The 2014 ACM-ICPC Asia Mudanjiang Regional First Round)
- mysql5.7.76安装,win7下mysql5.7.17安装配置方法图文教程
- stl变易算法(三)
- JQuery学习笔记 [Ajax] (6-1)
- RabbitMQ ACK 机制的意义是什么?
- server2008r2经常蓝屏或者自动重启
- 利用CodeBlocks创建C语言项目
- 被遗忘的艺术——图思维方式
- “(CRON) info (No MTA installed, discarding output)”
- RPGmaker MV EnemyBook 插件使用
- Ubuntu安装之,硬盘分区
- OSChina 周三乱弹 —— 生活终于对我这只小猫咪动手啦
- Spark first, last函数的坑
- gif一键抠图 在线_强力推荐!免费在线的一键抠图神器:AIpix
- 友邦千盛春雨计划:为每个孤寡老人点亮心中微心愿
热门文章
- MySQL中的LIMIT 关键字
- 看看这段代码有没有内存泄露?
- 一个素数,如果将其反转后仍然是一个素数,我们称这样的素数为反转素数。 例如13是一个素数,反转之后得到的31也是一个素数,那么13和31都是反转素数。
- 下两个网段转发的路由设置_一台路由器下如何实现多个网络互通
- 损失函数的意义和作用_BN究竟起了什么作用?一个闭门造车的分析
- NYOJ 588 Money
- 【CF1342D】Multiple Testcases(贪心+优先队列)
- 【Linux】Mac在VMware中安装ubuntu教程和安装时遇到键盘鼠标失效等问题的解决方案
- 信用评分卡 (part 3of 7)
- 容器技术Docker K8s 48 服务网格(ASM)-阿里云服务网格使用