生物信息学中的一个常见任务是创建可视化的基因组数据基因组坐标,连同必要的基因组注释功能基因和转录在同一坐标,为了理解这些数据。
通常情况下,这可以通过一个基于浏览器的基因组浏览器像UCSC基因组浏览器或进口,这就需要从R .导出数据也有R包开发解决这个问题但是使用静态图,如Gviz
和ggbio
。
虽然bioconductor包擅长代表和分析这样的基因组数据,缺乏有灵活的和互动的方式来查看它们。有时候没有必要是功能齐全的基因组浏览器但快速和方便的方式来查看数据通常是由R表示对象。还应该互动帮助探索,例如它可以拖动,可以启用工具提示迅速获得一个单独的功能的详细信息。
这仅仅是TnT的动机:它的目的是提供一个交互式的和灵活的方法来可视化基因数据在r .为了实现这一目标,TnT包装了TnT javascript库并提供绑定常见bioconductor类(例如农庄,TxDb)代表基因组数据。的TnT javascript库哪些R包是基于一组javascript库的可视化树track-based注释,可用于创建一个简单的基因组浏览器。
TnT是一个新的包,任何反馈或建议将感激,请邮件给总部位于马<马林-@gmx.cn>。你还可以找到源代码存储库https://github.com/marlin-na/TnT网站和文档http://tnt.marlin.pub。这个描述在未来也将扩展包含更多的细节。
你可以安装从Bioconductor TnT的稳定版本:
或者,从github安装猛击版本:
然后把包。
这个描述假设读者体验bioconductor常见的数据结构,尤其是农庄
类GenomicRanges
包中。
总的来说,包是通过构造跟踪从数据(农庄,TxDb EnsDb,等等),然后构造一个tnt董事会从歌曲的列表。
所以第一步是选择一个构造函数,用它来构造跟踪数据。不同的构造函数提供的包已经不同特性和数据类型。
作为一个简单的例子,从农庄组织构造块跟踪对象
gr < -GenomicRanges::农庄(“chr7”,范围=IRanges(开始=c(26549019 l, 26549019 l、26549019 l、26591772 l、26594192 l、26623835 l,26659284 l、26659284 l、26821518 l, 26821518 l),结束=c(26550183 l, 26550183 l、26550183 l、26593309 l、26594570 l、26624150 l,26660352 l、26660352 l、26823297 l, 26823297 l)),ID =1:10,Name =粘贴(“我的范围”,1:10))btrack < -三硝基甲苯::BlockTrack(gr)btrack
# # BlockTrack # # |标签:gr # # |背景:失踪,使用“白色”# # |高度:30 # # |数据:# # | seqnames开始结束宽度链工具提示。ID工具提示。名字# # | <因素> <整数> <整数> <整数> <因素> <整数> <人物> # # | 1 chr7 26549019 26550183 1165 * 1我的范围1 # # | 2 chr7 26564119 26564500 382 * 2我2 # # | 3 chr7 492 26586158 26585667 * 3我的范围3 # # | 4 chr7 26591772 26593309 1538 * 4我范围4 # # | 5 chr7 26594192 26594570 379 * 5我的范围5 # # | 6 chr7 26623835 26624150 316 * 6我范围6 # # | 7 chr7 26659284 26660352 1069 * 7我的射程7 # # | 8 chr7 26721294 26721717 424 * 8我范围8 # # | 9 chr7 26821518 26823297 1780 * 9我的范围9 # # | 10 chr7 26991322 26991841 520 * 10我范围10 # # |色彩键# # | <人物> <整数> # # | 1蓝色1 # # | 2蓝色2 # # | 3蓝色3 # # | 4蓝色4 # # | 5蓝色5 # # | 6蓝色6 # # | 7蓝色7 # # | 8蓝色8 # # | 9蓝色9 # # | 10蓝色10
如您所见,meta-columns农庄已经转换为工具提示列在跟踪数据。这是默认参数的行为,明白了
# #函数(范围、标签= deparse(替代(范围),提示= mcols(范围),# #颜色=“蓝色”,背景= NULL,身高= 30)# # NULL
的工具提示
可以作为一个数据帧数据平行,颜色
参数也可以是一个字符数据向量平行设置颜色为每个单独的范围。
为了查看跟踪,简单地说,追踪到一个TnTBoard / TnTGenome:
# #——失踪的论点的观点。范围:# #自动选择26493666 . .27047193在seqlevel chr7……
# #——coord缺失的论点。范围和seqlength未知:# #自动设置坐标限制到26454128 . .27086731……
你可以拖拽移动,滚动放大和点击功能看到工具提示。
同样,追踪与其他构造函数可以构造不同的特性。这是一个表显示这些构造函数和数据来源。链接到每个记录类型的例子也提供和你建议去。
构造函数 | 源 | 功能类型 | 例子 |
---|---|---|---|
BlockTrack | 农庄 | 块 | 块跟踪 |
VlineTrack | 宽为农庄 | vline | Vline跟踪 |
PinTrack | 宽为农庄与价值观 | 销 | 销跟踪 |
LineTrack | 宽为农庄与价值观 | 行 | 线和区域跟踪 |
AreaTrack | 宽为农庄与价值观 | 区域 | 线和区域跟踪 |
GeneTrackFromTxDb | TxDb | 基因 | 追踪和跟踪特性的基因 |
FeatureTrack | 农庄 | 基因 | 追踪和跟踪特性的基因 |
GroupFeatureTrack | GRangesList | tx | Tx跟踪和GroupFeatureTrack |
TxTrackFromTxDb | TxDb | tx | Tx跟踪和GroupFeatureTrack |
TxTrackFromGRanges | 农庄搭配“类型”和“tx_id” | tx | Tx跟踪和GroupFeatureTrack |
合并 | 两个或两个以上的跟踪 | 复合 | 复合跟踪 |
值得提到CompositeTrack:可以合并
多个轨道构造一个CompositeTrack这样可以显示不同类型的功能在一个轨道。看例子在这里。
给定一个构造跟踪,我们可能希望访问或修改其数据和选项。
有三种常见的选项为所有类型的跟踪背景
,高度
和标签
。这三个选项可以通过访问和修改trackSpec
和trackSpec < -
。例如:
# #空
btrack2 < -btrack三硝基甲苯::trackSpec(btrack2“背景”)< -“blanchedalmond”三硝基甲苯::trackSpec(btrack2“标签”)< -“我的范围”三硝基甲苯::trackSpec(btrack2“高度”)< -50
跟踪的数据通常存储在一个继承的类农庄
(除了CompositeTrack,跟踪的数据存储为一个列表),并可以通过访问或修改trackData
或trackData < -
。也有方便快捷键跟踪美元的名字
和跟踪美元名称< -值
为trackData(跟踪)美元的名字
和trackData(跟踪)名称< -美元价值
,分别。作为一个例子:
# #[1]“蓝色”“蓝”“蓝”“蓝”“蓝”“蓝”“蓝”“蓝”“蓝”“蓝”
作为一个例子,让我们也修改数据:
最后,我们一起把修改后的跟踪和原始记录看到的区别。
# #——失踪的论点的观点。范围:# #自动选择26504916 . .27045943在seqlevel chr7……
# #——coord缺失的论点。范围和seqlength未知:# #自动设置坐标限制到26451985 . .27098874……
我们可能想要修改的另一件事是工具提示。通过构建轨道通过构造函数(除了那些由TxDb),工具提示可以作为一个数据帧平行数据。跟踪构造后,工具提示可以通过访问工具提示(跟踪)
这是一个捷径trackData(跟踪)美元工具提示
。例如:
三硝基甲苯::工具提示(btrack2) < -cbind(TnT::工具提示(btrack2),as.data.frame(TnT::trackData(btrack2)))三硝基甲苯::TnTGenome(btrack2view.range=三硝基甲苯::trackData(btrack2) [4]*0。)
# #——coord缺失的论点。范围和seqlength未知:# #自动设置坐标限制到26464128 . .27096731……
试着点击块看到工具提示。
在前面的示例中,我们已经看到了如何显示跟踪TnTBoard或TnTGenome。TnTBoard存储歌曲的列表,显示相同的坐标。您可能已经注意到的区别TnTBoard TnTGenome: TnTGenome只是一个TnTBoard轴和位置标签。
在这一部分中,我将介绍一些参数,可以有选择地提供控制董事会。它们是:
view.range
范围:农庄,设置初始视图。coord.range
:IRanges或数值,设置cooordinate极限。zoom.allow
:IRanges或数值,设置缩放时的极限程度。allow.drag
:逻辑,如果错误,董事会将不能移动或缩放。在情况下,view.range
,coord.range
和zoom.allow
没有提供,TnT会猜。一些注意事项:
view.range
:尝试使用的seqlevel所有跟踪特性和尝试使用交叉范围的痕迹。coord.range
:如果seqinfo
跟踪的seqlengths
可用,然后使用1 seqlength坐标范围。如果不是,试图找到基于范围的特性(即seqlevel涵盖所有功能)。使用这些参数:一个例子