999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Flask 的蛋白質(zhì)網(wǎng)絡(luò)分析平臺設(shè)計

2021-05-12 10:52:16胡振鑫李川蒲雪梅袁榕澳
現(xiàn)代計算機(jī) 2021年7期
關(guān)鍵詞:性質(zhì)可視化結(jié)構(gòu)

胡振鑫,李川,蒲雪梅,袁榕澳

(1.四川大學(xué)計算機(jī)學(xué)院,成都610065;2.四川大學(xué)化學(xué)學(xué)院,成都610065;3.四川大學(xué)吳玉章學(xué)院,成都610065)

0 引言

蛋白質(zhì)是生物體內(nèi)的一類重要的生物大分子,在生命體的活動中發(fā)揮著重要的功能。不同的氨基酸排列會導(dǎo)致蛋白質(zhì)具有不同的結(jié)構(gòu)及作用方式,最終導(dǎo)致蛋白質(zhì)表現(xiàn)出不同的功能。在現(xiàn)實生活中,很多真實存在的系統(tǒng)都可以通過網(wǎng)絡(luò)來進(jìn)行表示。如萬維網(wǎng)可以表征成由網(wǎng)頁通過超鏈接進(jìn)行連接的網(wǎng)絡(luò);基因調(diào)控網(wǎng)絡(luò)則可以看成是由基因之間存在調(diào)控與被調(diào)控所構(gòu)成的網(wǎng)絡(luò)。目前復(fù)雜網(wǎng)絡(luò)的概念已經(jīng)被運用到了工程科學(xué),數(shù)理科學(xué)以及生物科學(xué)等許多不同的領(lǐng)域。將蛋白質(zhì)表征成以氨基酸作為節(jié)點,氨基酸之間的距離作為邊的復(fù)雜網(wǎng)絡(luò)模型,可以從拓?fù)浣Y(jié)構(gòu)上對蛋白質(zhì)進(jìn)行分析,利用復(fù)雜網(wǎng)絡(luò)知識領(lǐng)域的網(wǎng)絡(luò)性質(zhì)等信息可以分析出表征蛋白質(zhì)結(jié)構(gòu)的氨基酸網(wǎng)絡(luò)中的重要節(jié)點信息,利用找到的重要節(jié)點信息可以輔助研究人員對蛋白質(zhì)結(jié)構(gòu)及功能做進(jìn)一步的分析。

Flask 框架是基于Python 進(jìn)行開發(fā)的“微框架”,可以在較短時間內(nèi)完成一個網(wǎng)站的構(gòu)建,基于利用復(fù)雜網(wǎng)絡(luò)知識表征蛋白質(zhì)結(jié)構(gòu)信息網(wǎng)絡(luò)的思路,我們結(jié)合了Flask 框架,ECharts 框架,基于WebGL 的Three.js,NGL Viewer 等技術(shù),實現(xiàn)了氨基酸網(wǎng)絡(luò)的構(gòu)建,并進(jìn)一步計算了網(wǎng)絡(luò)的重要節(jié)點性質(zhì),并同時實現(xiàn)了網(wǎng)絡(luò)的可視化以及網(wǎng)絡(luò)性質(zhì)的可視化,為研究蛋白質(zhì)結(jié)構(gòu)提供了一套較為完善的分析系統(tǒng)。

1 相關(guān)原理及工具

1.1 網(wǎng)絡(luò)構(gòu)建及分析原理

本文利用蛋白質(zhì)的三維結(jié)構(gòu)信息來構(gòu)建蛋白質(zhì)殘基相互作用網(wǎng)絡(luò)。該網(wǎng)絡(luò)中的節(jié)點用蛋白質(zhì)中的殘基來表征,兩個節(jié)點之間是否可以形成邊則通過兩個殘基之間的距離來進(jìn)行判斷,當(dāng)該值大于給定閾值,才定義該殘基對之間形成網(wǎng)絡(luò)的邊。

本文提供了3 類網(wǎng)絡(luò)特征的計算,分別是度中心度、中介中心度、接近中心度,具體的計算公式如表1所示。度中心性較為直觀地反映了一個節(jié)點在網(wǎng)絡(luò)中的重要程度,定義為與該節(jié)點連接的邊的數(shù)目;中介中心度表達(dá)了節(jié)點在全局網(wǎng)絡(luò)中的作用和影響力,定義為網(wǎng)絡(luò)中所有最短路徑經(jīng)過該節(jié)點的數(shù)量。

1.2 Flask框架

Flask[1]是一種使用Python 開發(fā)的開源的Web 應(yīng)用框架,主要基于Werkzeug WSGI 工具箱和Jinja2 模板引擎。Flask 也被叫做“微框架”,因為與其他基于Python 開發(fā)的Web 應(yīng)用框架(例如Django)相比,它只使用了最簡單的核心,該核心只能提供基本的功能(例如模板系統(tǒng)、路由視圖等服務(wù)),但是可以使用其他插件來增加功能,如ORM、表單驗證工具,文件上傳工具和各種開放式的身份驗證技術(shù)等。Flask 在設(shè)計時就攜帶了擴(kuò)展模塊的接口,按照Flask 規(guī)范編寫的擴(kuò)展在結(jié)構(gòu)上和Flask 松耦合,在功能上能和Flask 本身完美結(jié)合,這種擴(kuò)展添加的方式可以使得開發(fā)方式更加靈活。

表1 3 種網(wǎng)絡(luò)特征的定義

1.3 ECharts框架

ECharts[2]是由百度推出的一款基于JavaScript 的開源的可視化框架,底層依賴于輕量級的Canvas 類庫ZRender,可以提供比較直觀,交互豐富,可高度個性化定制的數(shù)據(jù)可視化圖表,具有豐富的可視化圖表類型(包括如柱狀圖、折線圖,以及支持圖與圖之間的組合),支持對于二維表、key-value 等多種格式的數(shù)據(jù)支持,數(shù)據(jù)采用分塊加載、異步渲染,擁有多維數(shù)據(jù)及豐富的視覺編碼手段等特性,并且通過配置項的設(shè)置,可以控制數(shù)據(jù)呈現(xiàn)形式和視覺效果。使用ECharts 可以減少了數(shù)據(jù)可視化頁面的編寫,降低了系統(tǒng)設(shè)計開發(fā)的難度。

1.4 NGL Viewer

NGL Viewer[3]是一個蛋白質(zhì)和其他分子結(jié)構(gòu)的在線查看器。它是為Web 應(yīng)用程序(包括圖形界面)的用戶和希望在自己的項目中使用NGL Viewer 的開發(fā)人員設(shè)計的。它可用于交互地可視化分子結(jié)構(gòu),可以查看分子動力學(xué)軌跡數(shù)據(jù),支持從多種庫中讀取結(jié)構(gòu)和軌跡,包括biopython、ase、cctbx、mdanalysis、pyrosetta、pytraj、rdkit 等,也可以直接從PDB 數(shù)據(jù)庫中讀取數(shù)據(jù)。NGL Viewer 可以安裝在本地或?qū)S玫腤eb 服務(wù)器上,也可以嵌入到其他網(wǎng)頁中,并通過JavaScript API進(jìn)行控制。

1.5 WebGL與Three.js

WebGL 屬于一種3D 繪圖標(biāo)準(zhǔn),該標(biāo)準(zhǔn)允許將JavaScript 和OpenGL ES 2.0 結(jié)合在一起,通過基于OpenGL ES 2.0 實現(xiàn)了JavaScript 綁定,就可以為HTML5 Canvas 提供硬件3D 加速渲染,Web 開發(fā)人員就可以借助系統(tǒng)顯卡來在瀏覽器里更流暢地展示3D 場景和模型了,還能創(chuàng)建復(fù)雜的導(dǎo)航和數(shù)據(jù)視覺化。WebGL技術(shù)標(biāo)準(zhǔn)免去了開發(fā)網(wǎng)頁專用渲染插件的麻煩,可被用于創(chuàng)建具有復(fù)雜3D 結(jié)構(gòu)的網(wǎng)站頁面,甚至可以用來設(shè)計3D 網(wǎng)頁游戲,等等。

Three.js[4]底層實現(xiàn)了WebGL 規(guī)范,對WebGL 代碼進(jìn)行了簡單封裝,通過隱藏底層的一些繁瑣的實現(xiàn)細(xì)節(jié),減輕了開發(fā)者的開發(fā)負(fù)擔(dān)并提升了開發(fā)者的開發(fā)速率,在處理瀏覽器3D 效果方面有較好的表現(xiàn)。Three.js 可以支持多種渲染器(renderer)進(jìn)行場景繪制,并且提供了點、線、面、向量、矩陣等三維創(chuàng)建時所需的基本要素,并可以快速簡單地將鏡頭(Cameras)、物體(objects)、光線(lights)等對象添加到場景(Scene)中。Three.js 是開源的,提供了大量可用的實例源代碼,開發(fā)者可通過采用逆向工程,進(jìn)行充分深入的研究,進(jìn)行三維場景創(chuàng)建。

2 系統(tǒng)架構(gòu)

2.1 系統(tǒng)功能設(shè)計

按照系統(tǒng)的功能需求,基于Flask 的氨基酸網(wǎng)絡(luò)分析平臺的總體結(jié)構(gòu)設(shè)計圖如圖1 所示。

圖1 系統(tǒng)功能設(shè)計框架

2.2 系統(tǒng)結(jié)構(gòu)設(shè)計[5]

項目整體采用了B/S(瀏覽器/服務(wù)器)架構(gòu)。

項目前端部分的開發(fā)采用了HTTP、CSS3、JavaScript、Bootstrap 框架和jinja2 模板語言,可視化部分則采用了ECharts 框架來對網(wǎng)絡(luò)性質(zhì)分析進(jìn)行圖表的繪制,服務(wù)端的開發(fā)采用了Flask 框架進(jìn)行搭建。從總體結(jié)構(gòu)設(shè)計來看可以分為兩部分,一部分是通過Flask 框架對前端、后端進(jìn)行設(shè)計,另一部分是數(shù)據(jù)的處理,包括數(shù)據(jù)的處理、分析、傳輸?shù)裙δ堋?/p>

圖2 系統(tǒng)結(jié)構(gòu)設(shè)計框架

后臺工作的主要流程(如圖2(a))為:首先使用Flask 自帶的request 模塊接收用戶所上傳的數(shù)據(jù),隨后對所上傳的PDB 文件進(jìn)行數(shù)據(jù)解析,利用Python 腳本networx.py 進(jìn)行網(wǎng)絡(luò)的構(gòu)建與分析,其中包括接收用戶指定的一些參數(shù)(包括距離閾值、是否加權(quán)等)的讀取,進(jìn)行網(wǎng)絡(luò)的構(gòu)建以及后續(xù)對于網(wǎng)絡(luò)的性質(zhì)的計算以及可視化,最終通過自定義可視化模塊進(jìn)行可視化展示,包括蛋白質(zhì)網(wǎng)絡(luò)的結(jié)構(gòu)信息可視化以及網(wǎng)絡(luò)性質(zhì)分析結(jié)果可視化,通過網(wǎng)頁的加載進(jìn)行結(jié)果的呈現(xiàn)。

軟件的整體計算流程(如圖2(b))為:首先得到用戶所輸入的PDB 文件信息以及用戶指定的一些可調(diào)控參數(shù),隨后將蛋白質(zhì)信息建模為網(wǎng)絡(luò)信息,其中,我們將每一個殘基當(dāng)做一個網(wǎng)絡(luò)的節(jié)點,進(jìn)行殘基間的距離計算,得到氨基酸網(wǎng)絡(luò)鄰接矩陣,通過查看殘基之間的距離是否超過閾值來判斷兩個殘基之間是否可以形成邊,后續(xù)的計算流程主要分成兩部分內(nèi)容,一部分是對網(wǎng)絡(luò)的重要性質(zhì)進(jìn)行計算,包括度中心度、接近中心度以及緊密中心度,我們利用Python 包中的networkx 包進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的存儲以及網(wǎng)絡(luò)性質(zhì)的計算,另一部分是進(jìn)行網(wǎng)絡(luò)的可視化分析,其中,蛋白質(zhì)結(jié)構(gòu)可視化部分我們采用WebGL,Three.js 以及NGL Viewer等技術(shù)進(jìn)行網(wǎng)絡(luò)的3D 結(jié)構(gòu)以及網(wǎng)絡(luò)結(jié)構(gòu)的展示,蛋白質(zhì)網(wǎng)絡(luò)性質(zhì)的可視化我們則采用了ECharts 框架所提供的技術(shù)來實現(xiàn),利用該技術(shù),我們可以較為輕松地實現(xiàn)出可交互式的折線圖、柱狀圖、餅狀圖等多種可視化分析結(jié)果,方便用戶更加直觀的進(jìn)行結(jié)果的分析,用戶可以通過點擊圖中的某一個節(jié)點便可以找到其對應(yīng)的殘基以及該殘基的性質(zhì)的具體值,極大地提升用戶體驗。

3 結(jié)語

氨基酸網(wǎng)絡(luò)模型為研究蛋白質(zhì)結(jié)構(gòu)提供了嶄新的視角。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中的度中心度、接近中心度、中介中心度等性質(zhì),反映了單個氨基酸與蛋白質(zhì)整體結(jié)構(gòu)的關(guān)系。本 文利用HTML、JavaScript、NGL Viewer、ECharts、WebGL 和Three.js 等技術(shù)模塊搭建了一個氨基酸網(wǎng)絡(luò)分析及可視化平臺。用戶可以利用蛋白質(zhì)結(jié)構(gòu)信息搭建網(wǎng)絡(luò)結(jié)構(gòu),并計算接近中心性等網(wǎng)絡(luò)的拓?fù)湫畔ⅰA硗猓摲治銎脚_還可以進(jìn)行蛋白質(zhì)結(jié)構(gòu)以及網(wǎng)絡(luò)性質(zhì)的可視化。結(jié)果表明,基于Flask 構(gòu)建的氨基酸網(wǎng)絡(luò)分析平臺對于從拓?fù)浣Y(jié)構(gòu)角度分析蛋白質(zhì)有重要的幫助。

猜你喜歡
性質(zhì)可視化結(jié)構(gòu)
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
《形而上學(xué)》△卷的結(jié)構(gòu)和位置
隨機(jī)變量的分布列性質(zhì)的應(yīng)用
完全平方數(shù)的性質(zhì)及其應(yīng)用
基于CGAL和OpenGL的海底地形三維可視化
論結(jié)構(gòu)
中華詩詞(2019年7期)2019-11-25 01:43:04
九點圓的性質(zhì)和應(yīng)用
“融評”:黨媒評論的可視化創(chuàng)新
傳媒評論(2019年4期)2019-07-13 05:49:14
厲害了,我的性質(zhì)
主站蜘蛛池模板: 亚洲伊人天堂| 国产成人精品2021欧美日韩| 国产精品视频a| 欧美天天干| 激情视频综合网| 久操线在视频在线观看| 91原创视频在线| 国产99精品久久| 久久亚洲国产最新网站| 强奷白丝美女在线观看| 欧美精品啪啪| 四虎国产精品永久在线网址| 国产丝袜丝视频在线观看| 国产成人AV大片大片在线播放 | 国产欧美性爱网| 亚洲国产欧美自拍| 亚洲国产成人精品无码区性色| 亚洲综合精品香蕉久久网| 亚洲日韩日本中文在线| 欧美色亚洲| 国产swag在线观看| 国产午夜人做人免费视频中文| 国产精品手机视频| 亚洲浓毛av| 真实国产乱子伦高清| 狠狠色综合网| 国产肉感大码AV无码| 久草青青在线视频| 久久综合九色综合97网| 亚洲国产精品无码久久一线| 国产成人乱无码视频| 欧美日韩资源| 国产剧情一区二区| 久久 午夜福利 张柏芝| 久久亚洲美女精品国产精品| 日韩无码黄色| 国产成人精品18| 成人一区专区在线观看| 五月丁香在线视频| 高清色本在线www| 欧美成一级| 日本黄色a视频| 婷婷色狠狠干| 福利视频一区| 欧日韩在线不卡视频| 99精品久久精品| a毛片免费观看| 秋霞一区二区三区| 亚洲 日韩 激情 无码 中出| 国产菊爆视频在线观看| 欧美日韩成人在线观看| 狠狠做深爱婷婷久久一区| 欧美精品二区| 一本久道久久综合多人| 国产高清免费午夜在线视频| 色网站免费在线观看| 99热在线只有精品| 538国产视频| 凹凸国产分类在线观看| 欲色天天综合网| 视频二区中文无码| 亚洲欧美日韩成人在线| 精久久久久无码区中文字幕| 国内精品91| 国产一区二区网站| 国产视频一二三区| 九九这里只有精品视频| 国产成人综合网| 71pao成人国产永久免费视频| 国产精品播放| 网友自拍视频精品区| 日本免费新一区视频| 国产精品永久久久久| www中文字幕在线观看| аⅴ资源中文在线天堂| 久久精品免费国产大片| 国产无码精品在线播放 | 欧美日本视频在线观看| 日韩欧美视频第一区在线观看 | 伊人久久婷婷| 欧洲高清无码在线| 欧美一级色视频|