640?wx_fmt=gif

640?wx_fmt=png

翻译 | Lemonbit

来源 | Plotly

责编 | 胡巍巍

 

640?wx_fmt=png

推荐一个牛逼的生物信息 Python 库 - Dash Bio

 

Dash Bio 是一个免费的开源 Python 库,用于生物信息学和药物开发应用。

要开始使用 Dash Bio,请使用 pip install dash_bio 安装,然后转到 Dash Bio 的文档: http://dash.plot.ly/dash-bio

如果您是 Dash 的新手,您可能需要从 Dash 的入门指南开始: https://dash.plot.ly/getting-started

自发布以来,Plotly 用于 Python 的开源应用程序构建软件 Dash 在生物信息学家和药物开发人员中一直在稳步上升。 交互式 Web 图形、Python 创作和易用性的结合使 Dash 成为生物信息学家工具箱的自然之选。

例如,麻省理工大学的吉福德实验室 (Gifford Lab)已经发布了一个完全用 Dash 编写的CRISPR 预测工具。 麻省理工大学的团队在 Nature 中详细介绍了他们的方法,并免费提供在线的 Dash 应用程序和 Python 代码。

640?wx_fmt=png

图片来源: theinDelphi CRISPR prediction app

同样,南卡罗来纳医科大学的 Hammer 实验室正在开发一种带有 Dash 的开源细胞显微镜工具,并在 bioRxiv 上发表了他们的方法:

640?wx_fmt=jpeg

去年夏天,Plotly 与加拿大研究机构 Canadian Research Chair Aïda Ouangraou 合作,利用 Dash 开发新的基因组数据可视化开源工具。 该研究尚未发布,但您可以在该机构网站上查看新闻。

今年,Plotly 正在利用 Dash Bio 重建其对生命科学的承诺 - Dash Bio 是一个用于在Python 中构建生物信息学和药物开发应用程序的开源工具包。

许多 Dash Bio 组件都建立在 JavaScript 库之上,这些库已经在全栈、生物信息学应用程序开发人员中流行。 

我们重新设计了这些 JavaScript 小部件,以便 Python 开发人员现在可以访问它们。 

换句话说,科学计算的 Python 开发人员现在可以将这些小部件工作,而无需了解 JavaScript 。 所有你需要知道的是 Python 和 Dash 。

生命科学软件的许多重量级工具都是基于 Java 的桌面程序 - PyMol 用于生物制剂开发, ImageJ 用于显微镜图像分析, IGV 用于基因组数据查看是一些例子。 

使用 Dash 可以为 Web 编写未来版本的应用程序,完全使用 Python ,在移动设备上工作,并根据特定的研究目标进行定制。 

由于 Dash 是开源的,因此整个软件应用程序的代码可以以同行评审的方式自由分发和发布。 CRISPR、NGS 和生物制剂在生命科学领域引发了新的创新和商业化浪潮-- Dash 是基于 Python 的分析库,可以跟上。

以下是 12 个 Dash 应用程序,这些应用程序显示了这种基于 Web、敏捷和交互式的生物信息学和药物开发分析方法。 有了 Dash Bio,我们希望尽可能扩大可能性。

 

640?wx_fmt=png

探索 3d 状态下的小分子

 

这个 Dash 应用程序从磁盘、数据库或 Python 中的 API 读取 PDB(“蛋白质数据库”)文件,然后在 Dash 中可视化 3d 结构。 

当您单击原子,旋转分子或更改结构时,Dash 会触发 Python 回调函数。 您还可以突出显示单个原子(如蛋白质的活性位点)。

  • 查看 Dash app:

    https://dash-bio.plotly.host/dash-molecule3d

  • 查看 Dash app 的 Python 代码:

    https://github.com/plotly/dash-bio/blob/master/tests/dashbio_demos/app_molecule3d.py

640?wx_fmt=png

用 Dash 3d 分子组分可视化的 DNA 螺旋

 

640?wx_fmt=png

分析显微镜图像中的细胞

 

这个 Dash 应用程序是由 “scikit-image” 背后的主要开发人员之一 Emma Gouillart 制作的。

 将鼠标悬停在图像中的白细胞上以突出显示相邻表格中的细胞属性。 您还可以使用该表来过滤具有特定属性的单元格(例如,面积小于 1500μm² 的单元格)。 

你需要安装 Dash Canvas https://dash.plot.ly/canvas 来运行这个应用程序。

  • Dash 程序地址:

    https://dash-canvas.plotly.host/object-properties/

  • Python 代码地址:

    https://github.com/plotly/canvas-portal/blob/master/apps/object-properties/app.py

  • Dash Canvas 程序地址:

    https://dash-canvas.plotly.host/Portal/

640?wx_fmt=gif

光学显微镜下的单核细胞 - 用Dash Canvas进行交互式探索

 

640?wx_fmt=png

进行药代动力学分析

 

此 Dash 应用程序旨在允许进行药代动力学研究的人员输入数据(手动或通过复制粘贴)。 然后显示浓度 - 时间曲线以及用 Python 计算的各种参数表。

  • 程序地址:

    https://dash-bio.plotly.host/dash-pk-calc/

  • Python 代码地址:

    https://github.com/plotly/dash-sample-apps/blob/master/apps/dash-pk-calc/app.py

640?wx_fmt=png

使用自定义的Dash应用程序简化了pk分析

 

640?wx_fmt=png

可视化FASTA数据

 

有许多非常好的、交互式的多序列比对(MSA)工具。 我们从这 3 个中获取灵感:

  • MATLAB 的 seqalignviewer 

    https://www.mathworks.com/help/bioinfo/ref/seqalignviewer.html

  • Seb Wilzbach’s JavaScript MSA :

    https://msa.biojs.net/

  • Jalview:

    http://www.jalview.org/

对于 Dash MSA Viewer,我们使用 WebGL 在浏览器中实现超快的交互式性能。 由于 Dash MSA Viewer 是 Dash 组件,因此您只需要知道 Python 即可使用它。 下面的 Dash 应用程序从 Python 中读取 FASTA 文件中的序列数据,然后使用 Dash MSA 查看器绘制数据。

  • Dash 应用程序:

    https://dash-bio.plotly.host/dash-alignment-viewer/

  • Python 代码:

    https://github.com/plotly/dash-bio/blob/master/tests/dashbio_demos/app_alignment_viewer.py

640?wx_fmt=png

使用 Dash MSA Viewer 以交互方式可视化 FASTA 数据

 

640?wx_fmt=png

突出基因组相似性

 

Circos 图通常用于比较基因组学。 在下面的 Dash 应用程序中,21 个染色体以圆圈绘制,并且它们的基因组区域之间的关系与线或带相关联。 

根据circos.ca [http://circos.ca/guide/genomic/img/circos-conservation.png],可以定义这些关系:

[基因组]位置之间的关系可以反映任何类型的对应关系。 例如,它可以根据相似性(序列或蛋白质)或类别(功能或结构)来定义

由于 Dash Circos 是一个 Dash 组件,它会在 Web 浏览器中显示,而您只需要知道 Python 即可使用它构建应用程序。

  • Dash 程序地址:

    https://dash-bio.plotly.host/dash-circos/

  • Python 代码:

    https://github.com/plotly/dash-bio/blob/master/tests/dashbio_demos/app_circos.py

640?wx_fmt=png

使用 Dash Circos 突出基因组相似性

 

640?wx_fmt=png

可视化微阵列结果

 

集群图是具有树形图的热图,其可视化分层数据聚类。 它们通常与微阵列数据一起使用。 Dash Clustergram 响应单击、悬停和缩放事件。

使用 Dash Clustergram 创建应用程序,你只需要了解 Python 即可。

  • Dash程序:

    https://dash-bio.plotly.host/dash-clustergram/

  • Python 代码:

    https://github.com/plotly/dash-bio/blob/master/tests/dashbio_demos/app_clustergram.py

640?wx_fmt=png

使用 Dash Clustergram 可视化微阵列结果

 

640?wx_fmt=png

搜索和选择序列

 

Dash 序列查看器简化了序列搜索和选择的UI。 该组件的核心是瑞士生物信息学研究所最初开发的 JavaScript 库。 我们为 Dash 重新设计了它,以便它可以在 Python 中轻松使用。

  • Dash应用程序:

    https://dash-bio.plotly.host/dash-sequence-viewer/

  • Python 代码:

    https://github.com/plotly/dash-bio/blob/master/tests/dashbio_demos/appsequence_viewer.py

640?wx_fmt=png

使用 Dash Sequence Viewer 搜索和选择生物序列

 

640?wx_fmt=png

3d 分子的环境遮挡

 

这个 3d 分子查看器使用 WebGL 和 环境遮挡来提供更好的深度感知。 最初的 JavaScript库 - Speck- 由 Rye Terrell 开发。 

我们为 Dash 重新设计了这个库,使构建分析应用程序的 Python 用户可以访问它。

  • 应用程序:

    https://dash-bio.plotly.host/dash-speck/

  • 代码:

    https://github.com/plotly/dash-bio/blob/master/tests/dashbio_demos/app_speck.py

640?wx_fmt=png

Dash Speck 显示的比较优美的交互式 3D 分子

 

640?wx_fmt=png

使用 Dash Ideogram 可视化染色体

 

Dash Ideogram 的核心是 Broad Institute 开发的 JavaScript 库。 我们将它重新设计为 Dash 组件,以便科学计算的 Python 开发人员可以轻松访问它。

  • 应用程序:

    https://dash-bio.plotly.host/dash-ideogram/

  • 代码:

    https://github.com/plotly/dash-bio/blob/master/tests/dashbio_demos/app_ideogram.py

640?wx_fmt=png

在 Dash 应用程序中嵌入交互式染色体可视化

 

640?wx_fmt=png

可视化基因突变

 

交互式针线图现在可以在 Python 中轻松组合并嵌入到 Dash 应用程序中。 这个 Dash 组件的设计灵感来自 Barcelona Biomedical Genomics Lab 的 JavaScript 库 “muts-needle-plot” 。

  • 应用程序:

    https://dash-bio.plotly.host/dash-needle-plot/

  • Python代码:

    https://github.com/plotly/dash-bio/blob/master/tests/dashbio_demos/app_needle_plot.py

640?wx_fmt=png

 

640?wx_fmt=png

测量和注释医学图像

 

成像和图像分析是生命科学研究的基础。 Dash Canvas 允许您以交互方式注释医学图像,并根据用户与图像的交互运行 Python 程序。 

此 Dash 应用程序显示如何使用 Dash Canvas 和 Python 计算 X射线 图像上的距离。

  • 应用程序:

    https://dash-canvas.plotly.host/measure-length/

  • Python 代码:

    https://github.com/plotly/canvas-portal/blob/master/apps/measure-length/app.py

  • Dash Canvas:

    https://dash-canvas.plotly.host/Portal/

640?wx_fmt=png

使用 Dash Canvas 在医学图像上注释,保存和运行 Python 程序

 

640?wx_fmt=png

构建系统发育树和网络图

 

BioJS 上最受欢迎的 JavaScript 库是 Cytoscape,一个高性能网络图库。 去年, Plotly 与 Cytoscape 作者密切合作,为 Dash 和 Python 用户提供了这个库。 与本文中的所有 Dash 组件一样, Dash Cytoscape 是免费的开源软件。

  • Dash Cytoscape 发布:

    https://medium.com/@plotlygraphs/introducing-dash-cytoscape-ce96cac824e4

  • Dash Cytoscape 文档:

    https://dash.plot.ly/cytoscape

640?wx_fmt=gif

使用 Dash Cytoscape 构建交互式网络图和系统发育树

 

640?wx_fmt=png

Final

 

最后,如果你对上述内容有兴趣,可以去访问下述 Github 的内容:

  • ? https://github.com/plotly/dash-bio

  • ? https://github.com/plotly/dash-canvas

文章来源:

https://medium.com/@plotlygraphs/announcing-dash-bio-ed8835d5da0c

作者:Lemonbit,气候变化及新能源领域从业者,跨界玩Python,秉承“让数据更有价值”的理念,希望能透过数据感知世界。

声明:本文为作者投稿,版权归其个人所有。

人工智能如何学?

https://edu.csdn.net/topic/ai30?utm_source=csdn_bw

 

【END】

作为码一代,想教码二代却无从下手:

听说少儿编程很火,可它有哪些好处呢?

孩子多大开始学习比较好呢?又该如何学习呢?

最新的编程教育政策又有哪些呢?

下面给大家介绍CSDN新成员:极客宝宝(ID:geek_baby)

戳他了解更多↓↓↓

640?wx_fmt=jpeg

 热 文 推 荐 

选择华为云,成就 AI 开发的不凡

开了个会:破局企业云通信,华为加速 Buff 开发者!

☞ Google 究竟是不是要用 Fuchsia OS 取代 Android?

☞ 最全 Python 算法实现资源汇总!

@程序员,不加班就滚吧 | 程序员有话说

独家! 币安被盗原因找到了! 7074枚比特币竟是这样丢掉的

用对方法,开发与部署深度学习原来如此简单……

什么叫云原生应用?| 技术头条

☞ 补偿100万?Oracle裁900+程序员,新方案已出!

640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐