推荐一个牛逼的生物信息 Python 库 - Dash Bio
翻譯 | Lemonbit
來源 |?Plotly
譯文出品 | Python數據之道
推薦一個牛逼的生物信息 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 代碼 (https://indelphi.giffordlab.mit.edu/single)。
圖片來源:theinDelphi CRISPR prediction app
同樣,南卡羅來納醫科大學的 Hammer 實驗室正在開發一種帶有 Dash 的開源細胞顯微鏡工具,并在 bioRxiv 上發表了他們的方法 (https://www.biorxiv.org/content/10.1101/746164v1.full):
去年夏天,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,我們希望盡可能擴大可能性。
1. 探索 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
用 Dash 3d 分子組分可視化的 DNA 螺旋
2. 分析顯微鏡圖像中的細胞
這個 Dash 應用程序是由 “scikit-image” 背后的主要開發人員之一 Emma Gouillart 制作的。將鼠標懸停在圖像中的白細胞上以突出顯示相鄰表格中的細胞屬性。您還可以使用該表來過濾具有特定屬性的單元格(例如,面積小于 1500μm2 的單元格)。你需要安裝?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/
光學顯微鏡下的單核細胞 - 用Dash Canvas進行交互式探索。
3. 進行藥代動力學分析
此 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
使用自定義的Dash應用程序簡化了pk分析
4. 可視化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
使用 Dash MSA Viewer 以交互方式可視化 FASTA 數據
5. 突出基因組相似性
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
使用 Dash Circos 突出基因組相似性
6. 可視化微陣列結果
集群圖是具有樹形圖的熱圖,其可視化分層數據聚類。它們通常與微陣列數據一起使用。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
使用 Dash Clustergram 可視化微陣列結果
7. 搜索和選擇序列
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
使用 Dash Sequence Viewer 搜索和選擇生物序列
8. 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
Dash Speck 顯示的比較優美的交互式 3D 分子
9. 使用 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
在 Dash 應用程序中嵌入交互式染色體可視化
10. 可視化基因突變
交互式針線圖現在可以在 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
11. 測量和注釋醫學圖像
成像和圖像分析是生命科學研究的基礎。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/
使用 Dash Canvas 在醫學圖像上注釋,保存和運行 Python 程序。
12. 構建系統發育樹和網絡圖
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
使用 Dash Cytoscape 構建交互式網絡圖和系統發育樹
Final
最后,如果你對上述內容有興趣,可以去訪問下述 Github 的內容:
?????https://github.com/plotly/dash-bio
?????https://github.com/plotly/dash-canvas
文章來源:
https://medium.com/@plotlygraphs/announcing-dash-bio-ed8835d5da0c
如果你也需要構建自己的平臺,歡迎與我們聯系,一些樣例見?這些數據庫很不錯,要不要看看?
專為生信的Python教程
Python極簡教程(一)
Python極簡教程(二)
Python極簡教程(三)
Python極簡教程(四)
Python極簡教程(五)
Python極簡教程(六)
Pandas,讓Python像R一樣處理數據,但快
Python解析psiBlast輸出的JSON文件結果
為啥我的Python這么慢 - 字符串連接 (一)
為啥我的Python這么慢 - 項查找 (二)
Python學習 - 可視化變量賦值、循環、程序運行過程
Python資源
關于Python中的main和編程模板
莫煩Python機器學習
編程新手入門踩過的25個“坑”,你犯過其中哪些錯誤?
Python文學化編程 - Jupyter notebook使用和插件拓展
Python3中正則表達式使用方法
Python3中BeautifulSoup的使用方法
我用Python開發了個SCI-HUB本地版
手把手?哇!用R也可以跑Python了
Bioconda軟件安裝神器:多版本并存、環境復制、環境導出
如果你也需要構建自己的平臺,歡迎與我們聯系,一些樣例見?這些數據庫很不錯,要不要看看?
總結
以上是生活随笔為你收集整理的推荐一个牛逼的生物信息 Python 库 - Dash Bio的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生信宝典周报 | 我们有可能会被44种动
- 下一篇: 史上最牛研究生已成院士,给出“维持科研创