国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Docker Swarm集群的藥物基因組解讀及用藥指導(dǎo)軟件設(shè)計*

2020-07-20 08:31:54孫濤徐秀林丁瑞豐胡秀枋
生物醫(yī)學(xué)工程研究 2020年2期
關(guān)鍵詞:甲氨蝶呤集群位點

孫濤,徐秀林,丁瑞豐,胡秀枋

(上海理工大學(xué)醫(yī)療器械與食品學(xué)院,上海 200093)

1 引 言

藥物基因組學(xué)(pharmacogenomics,PGx)是研究藥物反應(yīng)與遺傳基因之間關(guān)系的一門學(xué)科。臨床上PGx通過藥物基因變異信息來指導(dǎo)用藥劑量,以實現(xiàn)個體化合理用藥,減少或者避免藥物的不良反應(yīng),改善患者預(yù)后,實現(xiàn)精準(zhǔn)治療[1]。

近年來,隨著人類基因組精準(zhǔn)醫(yī)學(xué)的發(fā)展,國內(nèi)外均有提出精準(zhǔn)醫(yī)學(xué)計劃和實踐應(yīng)用。2015年1月20日,美國國情咨文中宣布了“精準(zhǔn)醫(yī)學(xué)計劃”,旨在借助精準(zhǔn)醫(yī)學(xué)為臨床提供科學(xué)的治療依據(jù)[2]。同時依托先進(jìn)的計算機技術(shù),歐美國家率先建立了一系列重要的PGx數(shù)據(jù)庫和臨床信息系統(tǒng),如美國St.Jude兒童研究院建立了藥物基因警報系統(tǒng),該系統(tǒng)能及時添加患者高?;蚍中图皾撛诘乃幬锊涣挤磻?yīng),制定相應(yīng)藥物治療方案,輔助臨床決策[3]。2016年,我國頒布了“精準(zhǔn)醫(yī)學(xué)計劃”。之后,國家衛(wèi)生計生委推出了兩套藥物基因組學(xué)試行指南,以規(guī)范臨床用藥規(guī)則和精準(zhǔn)醫(yī)學(xué)行業(yè)市場[4]。當(dāng)前,通過利用先進(jìn)的計算機技術(shù)來整合PGx的相關(guān)指南,建立實時更新的臨床信息系統(tǒng),是廣大醫(yī)學(xué)工作者迫切關(guān)注的問題。

本研究開發(fā)了一種基于Docker Swarm集群的藥物基因組解讀及用藥指導(dǎo)軟件。該軟件采用國際權(quán)威的遺傳藥理學(xué)與藥物基因組學(xué)數(shù)據(jù)庫(PharmGKB)及美國食品藥品監(jiān)督管理局(FDA)藥物標(biāo)簽數(shù)據(jù)庫的數(shù)據(jù)作為PGx知識庫內(nèi)容[5];采用Docker Swarm集群負(fù)載均衡算法,實現(xiàn)藥物基因檢測位點的快速解讀,為臨床用藥提供快捷、有效的指導(dǎo)。

2 軟件總體設(shè)計

2.1 開發(fā)平臺構(gòu)建

本軟件開發(fā)平臺為Ubuntu 16.04 LTS系統(tǒng),前端Web頁面視圖使用超文本標(biāo)記語言5(HTML 5)[6]、層疊樣式表3(CSS 3)[7]、JavaScript腳本等實現(xiàn),使用MySQL5.7作為數(shù)據(jù)庫管理系統(tǒng),使用超文本預(yù)處理器5.6(PHP 5.6)和RScript作為服務(wù)器端腳本,使用Docker Swarm集群搭建集群環(huán)境。

2.2 軟件架構(gòu)

通過創(chuàng)建三個Docker Engine實例節(jié)點(Node):Manager Node、Worker1 Node和Worker2 Node來構(gòu)建Swarm集群。軟件設(shè)計框架見圖1,客戶端登錄瀏覽器,輸入Web域名向服務(wù)器端發(fā)送HTTP請求,域名指向服務(wù)器集群中的Manager Node。Manager Node將HTTP請求根據(jù)負(fù)載均衡算法下發(fā)至Worker Node,HTTP 代理服務(wù)器Nginx一旦接收到Manager Node下發(fā)的HTTP請求,立即處理靜、動態(tài)文件請求。其中PHP動態(tài)請求包括通過應(yīng)用程序函數(shù)接口(API)調(diào)用后臺MySQL數(shù)據(jù)庫中的藥物基因組數(shù)據(jù)庫,以及異步調(diào)用RScript基因組解讀腳本。靜、動態(tài)請求響應(yīng)結(jié)束后,Nginx再將數(shù)據(jù)返回到客戶端瀏覽器頁面。

圖1 軟件設(shè)計框架圖Fig.1 Software design framework

3 關(guān)鍵技術(shù)

3.1 基于LNMP的服務(wù)器端設(shè)計與實現(xiàn)

服務(wù)器端是通過Linux+Nginx+MySQL+PHP的組合方式實現(xiàn)的,設(shè)計與實現(xiàn)見圖2。前端表單數(shù)據(jù)提交至服務(wù)器端,由PHP通過MySQLi連接數(shù)據(jù)庫來處理表單,同時PHP調(diào)用RScript位點解讀腳本進(jìn)行基因位點與數(shù)據(jù)庫進(jìn)行比對計算,計算流程見圖3,首先計算測序深度(Depth)和變異質(zhì)量值(QUAL),將位點測序深度(Depth)小于5或大于100以及位點變異質(zhì)量值小于20的SNP位點過濾,得到可靠性較高的SNP位點,然后與藥物基因組數(shù)據(jù)庫比對計算,得到藥物作用的基因突變位點信息,再將此突變位點與藥物數(shù)據(jù)庫比對計算,得到用藥指導(dǎo)方案,實現(xiàn)藥物基因位點的解讀。其中位點解讀結(jié)果及用藥指導(dǎo)方案等信息可在患者報告中獲得并提供PDF格式文件的下載,患者報告見圖4。

圖2 服務(wù)器端設(shè)計與實現(xiàn)圖Fig.2 Server-side design and implementation diagram

圖3 藥物基因位點解讀流程圖Fig.3 Drug gene locus interpretation flow chart

圖4 患者報告圖Fig.4 Patient report diagram of software system

3.2 基于Docker Swarm的服務(wù)器集群設(shè)計與實現(xiàn)

由于藥物基因庫內(nèi)數(shù)據(jù)種類繁多、數(shù)量龐大,利用單主機架構(gòu)的軟件系統(tǒng)存在響應(yīng)時間長、請求隊列排隊時序久,導(dǎo)致位點解讀效率較低。本軟件使用Docker Swarm搭建服務(wù)器集群,實現(xiàn)了軟件系統(tǒng)負(fù)載均衡,提高了位點解讀效率。

Docker是一種輕量級的虛擬容器技術(shù)[8],具有啟動快,資源占用少,擴展性強,管理方便等優(yōu)點。Swarm是一款Docker集群管理工具[9],它將多臺部署有Docker服務(wù)的主機抽象成一個虛擬集群,提高了Docker的跨主機能力,減少了Docker與主機的耦合。

3.2.1基于IPVS的動態(tài)負(fù)載均衡算法 IPVS(IP virtual server,IPVS)是Linux虛擬服務(wù)器實現(xiàn)負(fù)載均衡的關(guān)鍵技術(shù)[10]。本軟件使用的負(fù)載均衡算法是IPVS的加權(quán)最小鏈接動態(tài)負(fù)載均衡算法,通過計算服務(wù)器節(jié)點連接數(shù)與服務(wù)器節(jié)點權(quán)重的比值,將新請求分配給比值最小的服務(wù)器節(jié)點來實現(xiàn)動態(tài)負(fù)載均衡。服務(wù)器節(jié)點連接數(shù)計算公式,見式(1):

AC=ac×K+Iac

(1)

其中,AC表示服務(wù)器節(jié)點連接數(shù),ac表示Swarm負(fù)載均衡器上記錄的活動連接數(shù),Iac表示Swarm負(fù)載均衡器上記錄的非活動連接數(shù),K為連接系數(shù),一般取256。

最小比值計算公式見式(2):

(2)

其中,AC(Ni)表示當(dāng)前服務(wù)器節(jié)點連接數(shù),W(Ni)表示當(dāng)前服務(wù)器節(jié)點權(quán)重,Pi表示分配請求的服務(wù)器節(jié)點。在本軟件的集群設(shè)計中,由于兩個Work Node均為性能相同的Docker Machine,故設(shè)置兩個Work Node的節(jié)點權(quán)重值相等。加權(quán)最小鏈接動態(tài)負(fù)載均衡算法實現(xiàn)過程見圖5,Swarm集群共有兩個工作節(jié)點,分別為Worker1 Node和Worker2 Node,在圖5中分別表示為S0和S1,Wm表示第m個服務(wù)器節(jié)點的權(quán)重值,Cm表示第m個服務(wù)器節(jié)點的連接數(shù)。

3.2.2Swarm集群設(shè)計與實現(xiàn) 利用Docker Machine創(chuàng)建一個Manager Node以及Worker1 Node、Worker2 Node構(gòu)建Swarm集群,見圖6。 其中Manager Node負(fù)責(zé)管理整個Swarm集群的容器資源,Worker1 Node和Worker2 Node負(fù)責(zé)接收并執(zhí)行Manager Node下發(fā)的任務(wù)。集群使用docker compose.yml配置文件創(chuàng)建了兩個Stack實例:My_web和Monitor。My_web包含三個服務(wù)項,分別為PHP-R、MySQL、Nginx服務(wù),是軟件的Web實例服務(wù)。Monitor包含三個服務(wù)項,分別為Cadvisor、Grafana、Influx服務(wù),是軟件的監(jiān)控實例服務(wù)。集群內(nèi)部還創(chuàng)建了Overlay網(wǎng)絡(luò)(Overlay Network),通過Overlay Network,不同的Node之間以及容器之間可以實現(xiàn)通信交互。

圖5 IPVS加權(quán)最小鏈接動態(tài)負(fù)載均衡算法實現(xiàn)圖Fig.5 Implementation diagram of IPVS weighted minimum link dynamic load balancing algorithm

4 軟件有效性分析與測試

4.1 有效性分析

甲氨蝶呤(methotrexate,MTX)是一種抗葉酸類抗腫瘤化療藥物,它在多聚谷氨酸合成酶(FPGS)的作用下轉(zhuǎn)化為甲氨蝶呤多聚谷氨酸鹽(MTXPGs),可使DNA合成受阻,促進(jìn)細(xì)胞凋亡[11]。較大劑量的MTX在抗腫瘤治療中雖有較好的療效,但不同基因位點的基因多態(tài)性會導(dǎo)致不同個體產(chǎn)生不同程度的藥物不良反應(yīng),例如亞甲基四氫葉酸還原酶(MTHFR)基因型已被證實與MTX不良反應(yīng)中的白細(xì)胞減少、骨髓抑制等密切相關(guān)[12]。

王軼睿等[12]在未通過藥物基因解讀用藥的基礎(chǔ)上,利用大劑量甲氨蝶呤對112名惡性腫瘤患者進(jìn)行化療,并按照2009年公布的常見不良反應(yīng)事件評價標(biāo)準(zhǔn)4.0版,統(tǒng)計了患者在化療后7 d內(nèi)出現(xiàn)的各類不良反應(yīng)在5種不同等級水平上的不良反應(yīng)率,其中骨髓抑制在2級及2級以上的不良反應(yīng)率為52.7%,白細(xì)胞減少的不良反應(yīng)率為74.1%。

圖6 Swarm集群設(shè)計與實現(xiàn)圖Fig.6 Swarm cluster design and implementation diagram

經(jīng)過華山醫(yī)院倫理委員會(編號為KY-2015-256)批準(zhǔn),采用本軟件對9例臨床腫瘤患者進(jìn)行研究。針對甲氨蝶呤藥物,對比經(jīng)過本軟件藥物基因解讀用藥與文獻(xiàn)[12]未通過藥物基因解讀用藥(以下簡稱文獻(xiàn))的不良反應(yīng)統(tǒng)計結(jié)果,進(jìn)行有效性驗證?;颊咝畔⑷缦拢耗行?名,女性4名;年齡均大于18周歲;已確診為左腺肺癌1例,乙狀結(jié)腸癌1例,肝癌1例,甲狀腺癌1例,肺癌1例,胃腸道間質(zhì)瘤2例,胃癌2例;均無甲氨蝶呤嚴(yán)重過敏史、骨髓抑制等MTX不良反應(yīng)病史,白細(xì)胞數(shù)正常;未因其他惡性腫瘤接受過較大劑量甲氨蝶呤化療。將患者基因測序文件上傳至本軟件得到解讀結(jié)果,見表1。9例患者的MTHFR基因在rs1476413、rs4846051、rs1801131、rs1801133四個位點上均存在基因型突變。對不同突變,采用解讀結(jié)果提供的用藥指導(dǎo)方案為患者提供化療?;熃Y(jié)束后,將9例患者7 d內(nèi)的不良反應(yīng)隨訪信息統(tǒng)計結(jié)果與文獻(xiàn)結(jié)果進(jìn)行對比,見表2。結(jié)果表明,經(jīng)過本軟件藥物基因解讀進(jìn)行用藥指導(dǎo)后,患者均未發(fā)生骨髓抑制、白細(xì)胞數(shù)減少等不良反應(yīng),與未經(jīng)藥物基因解讀用藥的結(jié)果比較,兩種不良反應(yīng)率差異均具有統(tǒng)計學(xué)意義(P<0.05),證明本軟件具有良好的有效性。

表1 甲氨蝶呤藥物基因位點解讀結(jié)果Table 1 Interpretation results of MTIX drug gene loci

表2 甲氨蝶呤化療不良反應(yīng)率對比Table 2 Comparison of adverse reaction rate of methotrexate in chemotherapy

4.2 軟件測試

為了驗證本軟件的高并發(fā)處理能力,使用Apache Jmeter壓力測試工具模擬并發(fā)情況,以95%用戶響應(yīng)時間(ms)、吞吐量(請求數(shù)/s)兩種性能指標(biāo)比較本研究開發(fā)的基于Swarm集群架構(gòu)的系統(tǒng)與基于單主機架構(gòu)的系統(tǒng)在處理高并發(fā)時的性能差異,其中Swarm集群系統(tǒng)與單主機系統(tǒng)的CPU能力資源均為3 GHz,內(nèi)存能力資源均為3 GB。設(shè)定用戶在線并發(fā)數(shù)為100,藥物基因大數(shù)據(jù)分析解讀任務(wù)的并發(fā)數(shù)以100、150、200、250、300的序列遞增,每個過程執(zhí)行50次迭代,測試結(jié)果見表3、表4。

由表3、表4可知,在相同并發(fā)壓力下,Swarm架構(gòu)的軟件響應(yīng)時間較單主機架構(gòu)的軟件縮短了一半左右,吞吐量明顯高于單主機架構(gòu)的軟件,說明對于單主機架構(gòu),由于多個并發(fā)項處于相同進(jìn)程,任務(wù)并發(fā)請求和用戶并發(fā)請求爭搶主機資源,出現(xiàn)請求進(jìn)入隊列等待,響應(yīng)時間過長,并發(fā)請求數(shù)量受限。而Swarm架構(gòu)通過內(nèi)部IPVS動態(tài)負(fù)載均衡算法由多個節(jié)點服務(wù)器并行響應(yīng),響應(yīng)時間較單主機架構(gòu)明顯縮短,顯著提高了軟件解讀基因位點任務(wù)的吞吐量。

表3 相同并發(fā)情況下的Swarm集群與單主機軟件系統(tǒng)95%用戶響應(yīng)時間對比Table 3 The 95% user′s response time comparison of Swarm cluster and single host system under the same concurrency

表4 相同并發(fā)情況下的Swarm集群與單主機吞吐量對比Table 4 Throughput comparison of Swarm with single host architectures under the same concurrency situation

5 總結(jié)與討論

目前,由于PGx數(shù)據(jù)龐大且更新速度快,采用先進(jìn)的計算機技術(shù)整合PGx數(shù)據(jù)庫,建立具有快速數(shù)據(jù)處理能力的臨床信息系統(tǒng)是十分迫切的。本研究提出的基于Docker Swarm集群的藥物基因組解讀及用藥指導(dǎo)軟件以多主機網(wǎng)絡(luò)形式快速部署Web服務(wù),在應(yīng)對高并發(fā)壓力時具有良好的負(fù)載均衡能力。同時,臨床測試研究證明本軟件具有良好的有效性。

然而,本研究設(shè)計的系統(tǒng)仍然存在一些不足。受硬件設(shè)備條件限制,集群服務(wù)器節(jié)點未采用實體物理機來搭建集群。另外,在軟件系統(tǒng)微服務(wù)方面還需要分析優(yōu)化,盡量減少Manger Node參與實例服務(wù),充分發(fā)揮Manger Node管理容器資源的優(yōu)勢,這些均有待于下一步研究。

猜你喜歡
甲氨蝶呤集群位點
鎳基單晶高溫合金多組元置換的第一性原理研究
上海金屬(2021年6期)2021-12-02 10:47:20
CLOCK基因rs4580704多態(tài)性位點與2型糖尿病和睡眠質(zhì)量的相關(guān)性
雷公藤多苷片聯(lián)合甲氨蝶呤治療類風(fēng)濕性關(guān)節(jié)炎的療效
海上小型無人機集群的反制裝備需求與應(yīng)對之策研究
二項式通項公式在遺傳學(xué)計算中的運用*
一種無人機集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計
電子制作(2018年11期)2018-08-04 03:25:40
Python與Spark集群在收費數(shù)據(jù)分析中的應(yīng)用
勤快又呆萌的集群機器人
米非司酮聯(lián)合甲氨蝶呤治療異位妊娠的效果觀察
甲氨蝶呤治療異位妊娠的效果觀察
平昌县| 云霄县| 峡江县| 舒兰市| 信阳市| 绥阳县| 会东县| 长岛县| 都兰县| 神池县| 延川县| 固镇县| 仁怀市| 阜康市| 杨浦区| 古交市| 凌云县| 蕲春县| 孝感市| 刚察县| 新晃| 孟连| 巴马| 高台县| 宁蒗| 丹棱县| 云安县| 四会市| 安阳市| 会昌县| 乌恰县| 兴义市| 武宁县| 万宁市| 文山县| 交城县| 香港 | 尚志市| 馆陶县| 雅江县| 宽城|