发布的瓦莱丽Obenchain2015年4月
4月17日,上映Bioconductor
3.1将标志着该软件的第24个版本。该项目于2001年开始,同年5月提交了第一个svn:
r3 rgentlem 2001-05-25 14:08:57 -0700(2001年5月25日星期五)r1(无作者)2001-05-25 08:28:31 -0700(2001年5月25日星期五)
在第一次正式发布的时候Bioconductor手稿2004年,该项目包括
“…80多个软件包,数百个元数据包和一些实验数据包……”
11年后(在超过100000个svn提交之后)Bioconductor
托管超过990个软件,900个注释和230个实验数据包。
2004年论文中的另一段引文表明,幸运的是,并不是所有的事情都改变了,
“…团队动力也是Bioconductor成功的一个重要因素。共同工作的意愿,看到软件开发中的合作和协调为开发人员和用户带来实质性的利益,并鼓励其他人加入并为项目做出贡献,也是我们成功的主要因素. ...”2021欧洲杯体育投注开户
这一期着眼于蛋白质组学在Bioconductor
使用web套接字来弥合工作空间数据和交互式可视化之间的差距。我们用包开发和管理系统管理任务中的用例重新访问Docker。我们也有一节关于最近添加到基础的新功能和值得注意的功能R
而且Bioconductor
.
蛋白质组学分析的多样性Bioconductor
继续稳步增长,devel分支现在拥有68个基于蛋白质组学的软件包。许多人以软件包、基于网络的工作流程和课程提供的形式为这一领域做出了贡献。剑桥蛋白质组学中心计算蛋白质组学组的负责人劳伦特·加托(Laurent Gatto)是一个非常活跃的成员。在日常工作中,他负责开发强大的蛋白质组学技术,适用于各种各样的生物学问题。
劳伦特是许多书的作者Bioconductor
包,包括新的ProtGenerics.在概念上与更一般的相似BiocGenerics
包,ProtGenerics
提供了一个中心位置,可以定义和重用特定于蛋白质组学的S4泛型。他制作了课程材料和工具,以帮助新人入门,包括详细的蛋白质组学的工作流在网站上又有两家刊物题为利用R和Bioconductor进行蛋白质组学分析而且使用R和Bioconductor可视化蛋白质组学数据.这些出版物都有配套的实验数据包,RforProteomics它说明了数据输入/输出,数据处理,质量控制,可视化和定量蛋白质组学分析在Bioconductor
框架。自第一次发布以来,RforProteomics
受益于其他开发人员的贡献。2021欧洲杯体育投注开户
的RforProteomics
数据包有4个小插图:
第一个小插图提供了一个当前的角度蛋白质组学Bioconductor
并且是海报形式。的概述Bioconductor
蛋白质组学基础结构和质谱分析。涵盖的主题包括原始数据操作,识别,定量,MS数据处理,可视化,统计学和机器学习。
同样是海报形式的RforProteomics BioC2013小插图是特定的利用R和Bioconductor进行蛋白质组学分析
出版。特别注意标签定量和无标签定量Bioconductor
提供这些方法的包。
利用R和Bioconductor进行蛋白质组学数据分析对象中执行的代码利用R和Bioconductor进行蛋白质组学分析
出版。
使用R和Bioconductor可视化蛋白质组学数据方法中的代码使用R和Bioconductor可视化蛋白质组学数据
出版。
许多蛋白质组学包是值得一提的Bioconductor
存储库。在这里,我们重点介绍几个在不断增长的基础设施中发挥了主要作用的公司。
包mzR
而且mzID
读取和解析原始和识别MS数据。前者是流行的c++的R接口proteowizard工具包。
鉴别方法在rTANDEM
而且MSGFplus
(及其闪亮的
接口MSGFgui
)和定量方法,可在MSnbase
而且等压线
(等压标记和谱线计数方法),synapter
,xcms
而且MALDIquant
包(label-free)。提供统计建模和机器学习MSnbase
,等压线
,MSstats
而且msmsTests
.
的rpx
包提供到ProteomeXchange基础设施,它协调基于ms的蛋白质组学数据的多个数据库。
的pRoloc
包包含空间蛋白质组学分析方法,例如,机器学习和分类方法,将蛋白质分配到细胞器。
相对较新的Pbase
包包含蛋白质
类,用于存储和操作感兴趣的蛋白质序列和范围。这个包有多个关于坐标映射的小插图。一种是在不同的基因组结构之间映射蛋白质,另一种是从蛋白质映射到基因组坐标。
随着我们生成大量测序数据的能力的增长,对有效可视化工具的需求也在增长。能够将大量信息总结为可消化的部分并快速识别独特特征或异常值的工具是任何分析管道中的重要步骤。在R
在世界范围内,我们已经看到越来越多的人使用web套接字来提供工作空间中的数据和浏览器中的探索之间的交互式链接。
的分析能力R
使其非常适合HTML5网页浏览器丰富的交互式图形。WebSocket协议支持浏览器和网站之间的更多交互,促进实时内容和实时图形的创建。
Web套接字通常被描述为“服务器和客户端通过单个TCP连接进行双向、全双工通信的标准”。这些特性相对于HTTP提供了几个优势:
“双向”是指客户端或服务器端都可以向另一方发送消息。HTTP是单向的,请求总是由客户端发起。
“全双工”允许客户端和服务器独立通话。在HTTP的情况下,在任何给定的时间,要么客户端在说话,要么服务器在说话。
Web套接字打开了一个“单一TCP连接”,客户端和服务器在Web套接字连接的生命周期中通过该连接进行通信。相反,HTTP通常为每次往返打开一个新的TCP连接;连接为请求发起,并在收到响应后终止。必须为每个请求/响应建立一个新的TCP连接。打开和关闭会产生开销,特别是在需要快速响应或实时交互的情况下。
对于那些感兴趣的人,这个博客提供了更深入的细节和REST基准测试。
闪亮的
而且epivizr
的闪亮的包由RStudio团队创建的web sockets在R
.Shiny能够在一个应用程序中构建交互式web应用程序R
会话。流行的应用程序是交互式绘图和地图,允许通过小部件进行实时操作。闪亮背后的主力是httpuv包,同样由RStudio撰写。httpuv提供了底层套接字和协议支持,用于处理HTTP和WebSocket请求R
.
httpuv基础结构也被epivizr包中。在此应用程序中,web套接字创建双向通信R
环境与Epiviz可视化工具.对象中可用的R
会话可以在Epiviz上显示为轨道或图。
BrowserViz
在新版本中采用了稍微不同的方法BrowserVizPaul Shannon设计的包装。此应用程序提供对浏览器和活动的R
提示。
的BrowserViz
包包含BrowserViz类,其主要目的是提供必要的R
, Javascript websocket和JSON基础架构进行通信。通过松散耦合R
而浏览器,这两个环境是链接的,但最大限度地保持彼此的无知;只有简单的JSON消息来回传递,没有HTML, CSS或Javascript。其结果是访问web浏览器的交互式图形与活动的R
会话。
相应的Javascript库BrowserViz.js也包含在这个包中。库和基类的组合为任何browserviz风格的应用程序提供了必要的基础结构。的BrowserVizDemo
而且RCyjs
包构建在BrowserViz
类中可用的Bioconductor
3.2版本。BrowserVizDemo
这是一个使用流行的d3.js库交互式绘制和选择xy点的最小示例。功能更全面的RCyjs提供了对Cytoscape.js的全部功能的交互式访问,这是一个功能丰富的基于浏览器的网络可视化库。
更多有关BrowserViz
类和应用程序可以在包小插图.
AnnotationHub
这个季度马克和索纳利继续他们的工作AnnotationHub
.添加了一些新的资源,显示方法和搜索导航进行了大量的重做。
新资源:
农庄
对象)biopax
对象)data.frame
对象)农庄
对象)ExpressionSet
对象)改进的显示方法和更灵活的数据检索使与18900+文件的交互更加简单。Sonali有一个新的AnnotationHub视频在那里,她为数据访问提供了提示和技巧的资源之旅。
下面的代码是用AnnotationHub
1.99.75版本。show方法现在列出了用于前面子集的通用字段,例如提供者、物种和类R
对象。
> library(AnnotationHub) > hub <- AnnotationHub() > hub AnnotationHub与18992记录# snapshotDate(): 2015-03-12 # $dataprovider: UCSC, Ensembl, BroadInstitute, NCBI, Haemcode, dbSNP, Inpar…# $物种:智人,小家鼠,牛牛,Pan troglodytes, Danio r…# $rdataclass: GRanges, FaFile, OrgDb, ChainFile, CollapsedVCF, in偏瘫8d…# additional mcols(): taxonomyid,基因组,描述,标签,sourceurl, # sourcetype #检索记录,例如,'object[["AH169"]]]'标题AH169 | meleagris_gallopvo . umd2.69 .cdna.all。fa AH170 | meleagris_gallopavo . umd2.69 .dna. topllevel。fa AH171 | meleagris_gallopavo . umd2 .69.dna_rm. topllevel。fa AH172 | meleagris_gallopavo . umd2 .69.dna_sm. topllevel。meleagris_gallopvo . umd2.69 .ncrna AH173 |。发... ...AH28575 | a500002_gr .csv AH28576 | a500005_gr .csv AH28577 | A500001_IgG.csv AH28578 | A500004_IgG.csv AH28579 | GSM730632_Runx1.csv
hub对象上的制表符补全列出了所有可用于子集设置的字段:
> hub$ hub$ah_id hub$dataprovider hub$taxonomyid hub$description hub$rdataclass hub$sourcetype hub$title hub$species hub$genome hub$tags hub$sourceurl
快速发现文件类型和提供程序:
>排序(表(中心sourcetype美元),减少= TRUE)床FASTA UCSC跟踪GTF NCBI / blast2GO 7855 3876 2208 1606 1145连锁CSV VCF大佬Inparanoid 1113 406 316 315 268 TwoBit BioPaxLevel2 RData BioPax掌握144 6 4 3 1 tar.gz邮政1 1 >排序(表(中心dataprovider美元),减少= TRUE) UCSC的运用8746 4590 BroadInstitute NCBI 3146 1145 Haemcode dbSNP 945 316 Inparanoid8 Pazar 268 91 NIH通路相互作用数据库EncodeDCC 9 5 RefNet ChEA 4 1 GEO NHLBI 1 1
考虑到中心中可用数据的数量和多样性,我们鼓励在创建自己的实验数据包之前使用这些文件作为示例数据。
例如,要从Ensembl获得可用的GRCh37 FASTA的概念:
> hub[hub$sourcetype=="FASTA" & hub$dataprovider=="Ensembl" & hub$genome=="GRCh37"]带42条记录的AnnotationHub # snapshotDate(): 2015-03-26 # $dataprovider: Ensembl # $species: Homo sapiens # $rdataclass: FaFile #其他mcols(): taxonomyid,基因组,描述,标签,sourceurl, # sourcetype #检索记录,例如,'object[["AH18924"]]'标题AH18924 | Homo_sapiens.GRCh37.73.cdna.all。fa AH18925 | homo_sapiens . grch37.73 .dna_rm. topllevel。fa AH18926 | homo_sapiens . grch37.73 .dna_sm. topllevel。fa AH18927 | homo_sapiens . grch37.73 .dna. topllevel。Homo_sapiens.GRCh37.73.ncrna. fa AH18928 | Homo_sapiens.GRCh37.73.ncrna。发... ...AH21181 | homo_sapiens . grch37.72 .dna_rm. topllevel。fa AH21182 | homo_sapiens . grch37 .72.dna_sm. topllevel。fa AH21183 | Homo_sapiens.GRCh37.72.dna.toplevel。Homo_sapiens.GRCh37.72.ncrna. fa AH21184 | Homo_sapiens.GRCh37.72.ncrna。hom_sapiens . grch37.72 .pep.all.fa AH21185 | Homo_sapiens.GRCh37.72.pep.all.fa
高级开发人员可能会2021欧洲杯体育投注开户对编写一个“食谱”来添加额外的在线资源感兴趣AnnotationHub
.这个过程包括编写函数来首先解析文件元数据,然后创建R
对象或这些元数据中的文件。详细的HOWTO步骤在AnnotationHubRecipes装饰图案.
Rhtslib
包内特最近完成了Rhtslib包,它包装htslib来自Samtools的C库。这个计划是为了Rhtslib
来替换里面的Samtools代码Rsamtools
.Rhtslib
包含直接来自Samtools的htslib的干净分支,包括所有单元测试。当新版本或bug修复可用时,这种方法简化了维护。干净的API还承诺使包的外包更直接Rsamtools
以及其他想要访问本机例程的人。
htslib是用“以linux为中心”的方法开发的,让这个库跨平台(特别是Windows)构建是一个挑战。为了解决这个问题,内特选择了Gnulib, GNU可移植性库。简单地说,Gnulib是一个模块的集合,它打包了可移植性代码,以透明的方式支持posix遵从性;其目标是提供通用的基础设施,使GNU软件能够在各种操作系统上运行。模块在源代码级别被合并到项目中,而不是作为构建、安装和链接的库。
合并Gnulib包括(至少)以下步骤:
# include“config.h”
源文件有关具体函数的更多信息,请参阅Rhtslib
看到Samtools文档或者包中的api类型头文件,faidx.h, hfile.h, hts.h, sam.h, tbx.h和vcf.h。头文件位于Rhtslib/src/htslib/htslib,如果包已经安装,
图书馆(Rhtslib)系统。文件(包= " Rhtslib”,“包括”)
的课程材料网页有一些资源的链接,包括幻灯片,演示文稿和包。最近Dan开始为使用它们的课程添加一个“AMI”链接。的包、样例数据和确切版本R
/Bioconductor
使用。这是一种方便、便携的方法,可以确保重现性。人们可以想象使用AMI或Docker容器来捕获研究项目或出版物的状态,从而可以轻松地与同事共享。
Elena Grassi是都灵大学遗传、生物学和生物化学系生物医学科学和肿瘤学博士生。她的研究重点是转录和转录后调控,特别对转录因子和选择性多聚腺苷酸现象感兴趣。
她拥有计算机科学背景,参与开发计算管道和工具,并著有Bioconductor
包咆哮(优先使用APA网站)和MatrixRider(结合蛋白与序列相互作用的倾向)。Elena是第一个尝试Docker容器的人之一,她发现Docker容器对包开发和系统管理任务都很有用。我就她的经历问了几个问题,得到了一些有趣的答案。
是什么促使您在开发时尝试DockerMatrixRider
?
去年我从一些朋友那里听说了docker,我很想尝试一下。在除夕夜假期期间,我决定开始使用它R
/Bioconductor
在我们的计算服务器上运行不同的版本,而不增加系统管理工作的负担。一开始,我只是好奇地摆弄摇椅,假期的懒惰缓解了我的想法,我停止了,开始做一些临时的工作R
\Bioconductor
集装箱。想象一下,当我在时事通讯中读到全新的Bioconductor码头容器时,我的快乐:它们已经为我准备好了:)。我决定使用它们来开发《MatrixRider》,只要我需要发行和开发的工作版本。我在不同的电脑上工作,使用Bioconductor
develop_sequencing容器将我从获取源代码、构建和安装所有所需包的过程中完全解放出来。除此之外,使用docker可以确保我正在开发的包对本地系统库没有任何依赖,而这些依赖在干净的安装中是不可用的。这是我的第一个包含C代码的包,很高兴能确定。
你用了哪个图像,基础,核心,排序,…?
主要从一个成熟的工作环境开始。我不得不安装一些其他包(TFBSTools和JASPAR2014),它完美地工作biocLite ()
.
在这些容器中开发有什么意想不到的优点/缺点吗?
不。我想我将继续使用devel容器来开发和维护包。
描述Docker如何用于管理多个R
计算服务器上的版本。这是针对多个用户还是仅针对您自己?
现在我是唯一一个需要devel的人,所以版本管理是我自己做的。最终,我想把它设置在我们的服务器上,让它为多个用户工作,但将它与我们的“管道管理系统”集成需要一些工作。
在过去,我们有三个不同的R
两个版本,一个来自我们发行版的包管理系统Debian,还有两个编译的临时版本。教新学生如何找到它们和相关的库路径是很困难的——我非常确定docker将在这些情况下提供巨大的帮助,还可以帮助跟踪哪些版本的包被用于执行某些分析。
添加了若干功能R
(3.2)和Bioconductor
(3.1)本季度具有广泛应用的潜力。我认为它们值得一提。
基地:长度()
计算元素a的长度列表
对象。在Bioconductor
, S4Vectors::elementLengths执行相同的操作列表
对象。(由Michael Lawrence贡献)
基地:trimws ()
从字符串中移除前导或尾随空格。(Kurt Hornik贡献)
跑龙套::方法()
此函数以前仅适用于S3泛型,现在已经过增强,可以处理S4。(由马丁·摩根加强)
>库(Rsamtools) >方法(“scanBam”)[1]scanBam,BamFile-method scanBam, bamsamler -method [3] scanBam,BamViews-method scanBam,character-method see '?警告信息:In findGeneric(generic.)'scanBam'是一个正式的泛型函数;S3方法将不太可能被发现>方法(class = "BamFile") [1] $ $<- asMates [4] asMates<- close coerb[7] countBam filterBam indexBam [10] initialize isIncomplete isOpen [13] obbeyqname obbeyqname <- open [16] path pileup qnamePrefixEnd [19] qnamePrefixEnd<- qnameSuffixStart qnameSuffixStart<- [22] quickBamFlagSummary scanBam scanBamHeader [25] seqinfo show sortBam [28] testPairedEndBam updateObject yieldSize [31] yieldSize<- see '?方法来访问帮助和源代码
GenomicFeatures: transcriptLengths ()
计算TxDb对象中的转录本长度,选项包括/排除编码和UTR区域。(由Hervé Pagès贡献)
BiocParallel: bpvalidate ()
标记用于并行分布式内存计算的函数中未定义的符号。(Martin Morgan, Valerie Obenchain贡献)
BiocInstaller: biocLite ()
现在能够安装git存储库。当' pkg '参数包含正斜杠时,例如," myRepo/myPkg ",它被假定为一个存储库,并使用devtools::install_github安装。(Martin Morgan贡献并增强)
以下是2015年第一季度(1月1日- 3月30日)与2014年第一季度的会话数和新用户数的比较。会议被新访客和回头客打断。新访问者对应新用户总数。
届:总 | 24.03% | (339,283对273,559) |
会议:回访 | 21.42% | (213,848 vs 176,128) |
会议:新访客 | 28.74% | (125,435对97,431) |
新用户 | 28.74% | (125,435对97,431) |
使用谷歌分析.
2015年1月、2月、3月软件包唯一IP下载量分别为31720、31956、38379。2014年同期,这一数字分别为29690、28993和34634。数字必须按月(vs sum)进行比较,因为有些ip在月份之间是相同的。有关的完整摘要,请参阅网站下载数据.
2015年第一季度共增加了55个软件包,使devel的软件包数量达到991个(Bioconductor
3.2)及936版本(Bioconductor
3.1)。
看到活动页面所有课程和会议的列表。
使用R / Bioconductor进行序列分析本中级水平课程于4月6日至7日在美国华盛顿州西雅图举行。
高级RNA-Seq和ChiP-Seq数据分析: 5月11日至14日在英国Hinxton举行。
CSAMA 2015 -基因组数据科学中的统计和计算: 6月14日至19日在意大利布雷萨纳-布里克森举行。
BioC2015今年7月20 - 22日在美国华盛顿州西雅图举行。
感谢Laurent Gatto, Elena Grassi和Paul Shannon对Proteomics, Docker和Web Sockets部分的贡献。还要感谢Bioconductor
团队在西雅图进行项目更新和编辑审查。
向瓦莱丽发送评论或问题vobencha@fredhutch.org.