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

?

基于OpenCL的蛋白質(zhì)轉(zhuǎn)換算法

2016-09-10 08:23徐沛彥施慧彬
計算機與數(shù)字工程 2016年8期
關(guān)鍵詞:次數(shù)長度蛋白質(zhì)

徐沛彥 施慧彬,2

(1.南京航空航天大學計算機科學與技術(shù)學院 南京 211106)(2.軟件新技術(shù)與產(chǎn)業(yè)化協(xié)同創(chuàng)新中心 南京 211106)

?

基于OpenCL的蛋白質(zhì)轉(zhuǎn)換算法

徐沛彥1施慧彬1,2

(1.南京航空航天大學計算機科學與技術(shù)學院南京211106)(2.軟件新技術(shù)與產(chǎn)業(yè)化協(xié)同創(chuàng)新中心南京211106)

為了提高蛋白質(zhì)轉(zhuǎn)換算法的加速比,提出了基于OpenCL的蛋白質(zhì)轉(zhuǎn)換算法。通過研究笛卡爾積算法中的并行性,論文首先在CPU中實現(xiàn)了串行蛋白質(zhì)轉(zhuǎn)換算法,再使用OpenCL技術(shù)在GPU中實現(xiàn)并行蛋白質(zhì)轉(zhuǎn)換算法。測試結(jié)果表明,使用GPU平均加速比為1.42x。

蛋白質(zhì); 轉(zhuǎn)換算法; 笛卡爾積; OpenCL

Class NumberTP301.6

1 引言

蛋白質(zhì)在生物體和細胞的生命過程中占有相當重要的作用[1~2]。在治療疾病中,蛋白質(zhì)為藥物作用的靶標,將基因密碼知識和蛋白質(zhì)的結(jié)構(gòu)的相關(guān)信息結(jié)合在一起,藥物設(shè)計者可以設(shè)計出小分子化合物,抑制與疾病相關(guān)的蛋白質(zhì),進而達到治療疾病的目的[3~5]。而當我們知道并需要某些與抑制疾病相關(guān)的特定的蛋白質(zhì)時,蛋白質(zhì)水平的高效表達是相當重要的。如何有效地得到這些特殊蛋白質(zhì)將是我們需要考慮的問題。由分子生物學中心法則可知蛋白質(zhì)是從RNA翻譯而來。蛋白質(zhì)的結(jié)構(gòu)決定了蛋白質(zhì)表達的功能[6]。雖然在生物學上蛋白質(zhì)序列是不可能發(fā)生轉(zhuǎn)換成mRNA序列的過程。由于mRNA負責傳輸相關(guān)遺傳信息,且mRNA序列的排列順序決定了氨基酸的排列順序[7]。mRNA對蛋白質(zhì)的結(jié)構(gòu)起著重要的作用。因此從生物信息學的角度來說本文研究從蛋白質(zhì)序列轉(zhuǎn)換成mRNA序列可作為藥物設(shè)計或生物研究的參考的基礎(chǔ)工作且具有一定的意義。

目前可以得到的來自大量組織的完整的基因序列使得對所有基因產(chǎn)物的結(jié)構(gòu)化和功能化的分析有需求的目標[8]。然而由于宿主的翻譯系統(tǒng)和蛋白質(zhì)編碼基因序列之間的差異使得在替代的宿主上產(chǎn)生充足的目標蛋白質(zhì)是具有挑戰(zhàn)性的[9]。目前已經(jīng)有一些方法試圖獲取高產(chǎn)量,包括使用強轉(zhuǎn)錄啟動子[10],從宿主中刪除蛋白酶編碼基因[11],降低溫度促使蛋白質(zhì)折疊[12]。然而并沒有建立一個黃金標準,和對于優(yōu)化基因表達策略在不同基因之間是有差異的。往往是通過反復(fù)實驗決定的。在眾多被列出引出阻止有效地異源蛋白質(zhì)復(fù)制因素主要有偏好密碼子使用,基因產(chǎn)物毒性,溶解性,二級結(jié)構(gòu),mRNA穩(wěn)定性[13]。Jun Yin等針對原核生物大腸桿菌提出了一種可以提升大腸桿菌中的異源蛋白質(zhì)表達水平的轉(zhuǎn)換方法[14]。該文獻中簡化了遺傳密碼表從而降低了轉(zhuǎn)換的復(fù)雜度。該文獻是用串行方法實現(xiàn)且用于轉(zhuǎn)換的蛋白質(zhì)序列長度為10。目前沒有人基于笛卡爾積的思想并行的實現(xiàn)蛋白質(zhì)轉(zhuǎn)換方法。本文描述了如何在異構(gòu)平臺下實現(xiàn)并行蛋白質(zhì)轉(zhuǎn)換算法。實驗結(jié)果和傳統(tǒng)的CPU實現(xiàn)的串行蛋白質(zhì)轉(zhuǎn)換算法的運行時間做了對比。并行蛋白質(zhì)轉(zhuǎn)換算法的實現(xiàn)有利于算法的加速。

2 OpenCL編程

2.1OpenCL簡介

OpenCL(Open Computing Language)是一種工業(yè)標準框架。它用于在配備異構(gòu)計算設(shè)備的系統(tǒng)中開發(fā)可移植的并行應(yīng)用程序。OpenCL廣泛地支持各種平臺,如CPU(多核處理器)、AMD GPU(圖形處理器)、NVIDIA GPU(圖形處理器)、移動平臺。有關(guān)OpenCL的詳細介紹可參考文獻[15~18]。

2.2OpenCL編程步驟

1) 獲取可用平臺信息;

2) 獲取平臺上可用的設(shè)備列表;

3) 為GPU設(shè)備創(chuàng)建上下文環(huán)境;

4) 為GPU創(chuàng)建命令隊列,用于宿主機將命令發(fā)送到設(shè)備;

5) 確定設(shè)備所需處理數(shù)據(jù)的大小,根據(jù)這些參數(shù)創(chuàng)建所需的內(nèi)存對象;

6) 創(chuàng)建OpenCL程序?qū)ο?

7) 創(chuàng)建OpenCL內(nèi)核對象;

8) 設(shè)置內(nèi)核參數(shù);

9) 執(zhí)行內(nèi)核函數(shù);

10) 返回結(jié)果。

3 并行蛋白質(zhì)轉(zhuǎn)換算法

3.1算法設(shè)計

蛋白質(zhì)轉(zhuǎn)換算法是將蛋白質(zhì)序列中的每個氨基酸按照遺傳密碼表中相應(yīng)的三個核苷酸的組合替換,從而得到所有可能的mRNA序列。本文將基于笛卡爾積的思想進行并行蛋白質(zhì)序列轉(zhuǎn)換。首先將蛋白質(zhì)序列用于替換相應(yīng)氨基酸的密碼子看作一個集合,例如A={GCU,GCC,GCA,GCG},C={UGU,UGC},在蛋白質(zhì)數(shù)據(jù)庫GenBank[19~20]中截取了HTA1的蛋白質(zhì)序列片段為例,長度為10。蛋白質(zhì)序列片段為RITPRHLQLA。查詢遺傳密碼表并按照笛卡爾積算法,最終得到995328種不同的mRNA序列。比如mRNA序列CGUAUUACUCCUCGUCAUUUACAAUUAGCU。從得到的所有mRNA序列可以分析出蛋白質(zhì)序列并行轉(zhuǎn)換方法主要分為如下過程:

1) 集合中每個元素在每一次循環(huán)中重復(fù)出現(xiàn)的總次數(shù)p和位于該集合之后的每個集合總的元素個數(shù)有關(guān)。比如集合H中每個元素每一次重復(fù)的次數(shù)和集合L,集合Q,集合L,集合A有關(guān)。p的值為其后面四個氨基酸對應(yīng)的集合的總元素個數(shù)的乘積,即p的值為288。以此類推。

2) 在第1)個過程之后每個集合需要循環(huán)的總次數(shù)q為自身集合的總元素個數(shù)和該集合之前的所有集合的總元素個數(shù)有關(guān)。比如集合I的循環(huán)次數(shù)和自身集合,集合R有關(guān)。q的值為集合I和集合R的總元素個數(shù)的乘積,即q的值為18。以此類推。

從上述分析過程中可看出并行轉(zhuǎn)換方法的整個過程只需要兩層循環(huán)。在兩層循環(huán)之前只需要計算每次循環(huán)中集合中元素重復(fù)出現(xiàn)的次數(shù)p和每個集合需要循環(huán)的總次數(shù)q。而p和q的計算是完全并行的。最終可完成矩陣的填充。

3.2算法步驟

1) 并行計算集合i中每次循環(huán)中每個元素重復(fù)出現(xiàn)的次數(shù)p;

2) 并行計算集合i需要循環(huán)的總次數(shù)q;

3) 并行進行兩層循環(huán)操作,若最外層集合i需要循環(huán)的總次數(shù)不等于q且最里層集合i中每個元素重復(fù)出現(xiàn)次數(shù)不為p時,將集合i中元素填充到矩陣的相應(yīng)列中。

以長度為10的蛋白質(zhì)序列為例,可使用一維NDRange并行處理,若蛋白質(zhì)序列長度超過了用一維NDRange所能并行處理的大小,則可使用二維NDRange。工作組的大小為10,每個工作組包含一個工作項。每個工作項負責矩陣中一列的填充,矩陣中的每列的元素均來源于相應(yīng)的集合中的元素。

4 實驗結(jié)果

本文使用的測試平臺的CPU型號為A10-6800K,主頻為4.1GHz,內(nèi)存大小為32G,顯卡型號為HD 8670D。測試系統(tǒng)為Win7。用于測試的蛋白質(zhì)序列長度在5~40之間,本文對于不同長度的蛋白質(zhì)序列運用并行蛋白質(zhì)轉(zhuǎn)換算法在CPU中的運行時間和GPU中的運行時間進行了測試比對,測試結(jié)果如圖1所示。

圖1 測試結(jié)果

在上述測試中,圖1是在不同長度的蛋白質(zhì)序列下并行蛋白質(zhì)轉(zhuǎn)換算法在GPU上運行的時間和串行蛋白質(zhì)轉(zhuǎn)換算法在CPU上運行的時間。從圖1中可以看出隨著蛋白質(zhì)序列長度的增加,無論是在GPU上運行時間還是在CPU上運行時間都會隨之增加。對于并行蛋白質(zhì)轉(zhuǎn)換算法來說,蛋白質(zhì)序列長度的增加會使得所有可能的mRNA序列的總數(shù)目增加。因此也增加了并行計算的時間。雖然在GPU上是并行執(zhí)行轉(zhuǎn)換操作,但是最終傳回到主機內(nèi)存中的數(shù)據(jù)量也隨之在增加,這樣就增加了數(shù)據(jù)的傳輸開銷。因此在運行時間上會有一定的提升。對于串行蛋白質(zhì)轉(zhuǎn)換算法的運行時間的增加隨著蛋白質(zhì)序列長度的增加而增加是很顯然的。但是相比于串行蛋白質(zhì)轉(zhuǎn)換算法上的運行時間來說,已經(jīng)得到了加速。并行蛋白質(zhì)轉(zhuǎn)換算法在運行時間上明顯優(yōu)于串行蛋白質(zhì)轉(zhuǎn)換方法。并行蛋白質(zhì)轉(zhuǎn)換算法平均加速了1.42x。

5 結(jié)語

本文描述了使用OpenCL實現(xiàn)蛋白質(zhì)并行轉(zhuǎn)換算法。對串行蛋白質(zhì)轉(zhuǎn)換方法和并行蛋白質(zhì)轉(zhuǎn)換方法對不同的蛋白質(zhì)序列長度下的運行時間進行了比較。雖然在異構(gòu)平臺下會存在數(shù)據(jù)傳輸開銷等因素使得運行時間成本增加,但是通過測試結(jié)果依然可以看出使用OpenCL技術(shù)實現(xiàn)的轉(zhuǎn)換方法進一步提高了算法加速比。

[1] 于大釗.基于離散小波變換的蛋白質(zhì)相似性分析[D].長春:吉林大學,2013.

YU Dazhao. Proteins Similarities Analysis Base on Discrete Wavelet Transform[D]. Changchun: Jilin University,2013.

[2] 梁剛鋒.蛋白質(zhì)二級結(jié)構(gòu)的建模與預(yù)測[D].長沙:國防科技技術(shù)大學,2005.

LIANG Gangfeng. Research on the Models of Protein Secondary Structure Prediction[D]. Changsha: National University of Defense Technology,2005.

[3] 陳宇.一個蛋白質(zhì)去折疊可視化系統(tǒng)的設(shè)計與實現(xiàn)[D].蘇州:蘇州大學,2009.

CHEN Yu. The Design and Implementation of A Protein Unfolding Visualization System[D]. Suzhou: Soochow University,2009.

[4] 劉琨.近場表面增強拉曼散射實驗技術(shù)與血清分析的研究[D].大連:大連理工大學,2008.

LIU Kun. Near-field SERS technique and its analysis in serum[D]. Dalian: Dalian University of Technology,2008.

[5] 蘇潔.蛋白質(zhì)分子結(jié)構(gòu)的非真實感可視化研究[D].杭州:浙江大學,2006.

SU Jie. Non-photorealistic Visualization of Protein Molecules[D]. Hangzhou: Zhejiang University,2006.

[6] 陳俊.蛋白質(zhì)結(jié)構(gòu)預(yù)測中若干問題的研究[D].上海:上海交通大學,2013.

CHEN Jun. Studies on several problems of protein structure prediction[D]. Shanghai: Shanghai Jiao Tong University,2013.

[7] 向其林.基于結(jié)構(gòu)特征與偽氨基酸組成的蛋白質(zhì)結(jié)構(gòu)類預(yù)測研究[D].長沙:湖南大學,2012.

XIANG Qilin. Incorporating secondary features into the general form of Chou’s PseAAC for predicting protein structural class[D]. Changsha: Hunan University,2012.

[8] Xiaoqiu Wu, Hans Jornvall, Kurt D. Berndt, et al. Codon optimization reveals critical factors for high level expression of two rare codon genes in Escherichia coli: RNA stability and secondary structure but not tRNA abundance[J]. Biochemical & Biophysical Research Communications,2004,313(1):89-96.

[9] Miyuki T, Kentaro M. Directed evolution study unveiling key sequence factors that affect translation efficiency in Escherichia coli[J]. Journal of Bioscience and Bioengineering,2013,116(5):540-545.

[10] William F S. Use of bacteriophage T7 lysozyme to improve an inducible T7 expression system[J]. Journal of Molecular Biology,1991,219(1):37-44.

[11] Grodberg J, Dunn J J. ompT encodes the Escherichia coli outer membrane protease that cleaves T7 RNA polymerase during purification[J]. Journal of Bacteriology,1988,170(3):1245-1253.

[12] Schein C H. Production of Soluble Recombinant Proteins in Bacteria[J]. Nature Biotechnology,1989,7(11):1141-1149.

[13] Jana S, Deb J K. Strategies for efficient production of heterologous proteins in Escherichia coli[J]. Applied Microbiology & Biotechnology,2005,67(3):289-298.

[14] Jun yin, Hong Tian, Lichen Bao, et al. An alternative method of enhancing the expression level of heterologous protein in Escherichia coli[J]. Biochemical and Biophysical Research Communications,2014,455:198-204.

[15] 詹云,趙新燦,譚同德.基于OpenCL的異構(gòu)系統(tǒng)并行編程[J].計算機工程與設(shè)計,2012,33(11):4191-4195.

ZHAN Yun, ZHAO Xincan, TAN Tongde. Parallel programming of heterogeneous system based on OpenCL[J]. Computer Engineering And Design,2012,33(11):4191-4195.

[16] Benedict R G, Howes L, Kaeli D, et al. OpenCL異構(gòu)計算[M].張云泉,張先軼,龍國平,等譯.北京:清華大學出版社,2012:15-149.

Benedict R G, Howes L, Kaeli D, et al. Heterogeneous Computing with OpenCL[M]. Zhang Yunquan, Zhang Xianyi, Long Guoping, et al. Beijing: Tsinghua University Press,2012:15-149.

[17] Scarpion M. OpenCL in Action[M]. USA: Manning Publications,2011:3-234.

[18] Munshi A, Gaster B, Mattson T G, et al. OpenCL Programming Guide[M]. Boston: Addison-Wesley Professional,2011:8-12.

[19] Baxeyanis D A, Francis B F.生物信息學-基因和蛋白質(zhì)分析的實用指南[M].李衍達,孫之榮,譯.北京:清華大學出版社,2000:16-32.

Baxeyanis D A, Francis B F. Bioinformatics: a practical guide to the analysis of genes and proteins[M]. Li Yanda, Sun Zhirong. Beijing: Tsinghua University Press,2000:16-32.

[20] 王哲.生物信息學概論[M].西安:第四軍醫(yī)大學出版社,2002:2-104.

WANG Zhe. Fundamental Concepts of Bioinformatics[M]. Xi’an: The Fourth Military Medical University Press,2002:2-104.

Alternative Algorithm of Protein Based on OpenCL
XU Peiyan1SHI Huibin1,2
(1. College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing211106)

(2. Collaborative Innovation Center of Novel Software Technology and Industrialization, Nanjing211106)

In order to accelerate the alternative algorithm of protein, this thesis proposes the alternative algorithm of protein based on OpenCL. Through researching the potential parallel of Cartesian product, this thesis firstly realizes the alternative algorithm of protein on CPU, then realizes parallel alternative algorithm of protein on GPU. Test results show that the average speedup of using GPU is 1.42x.

protein, alternative algorithm, Cartesian product, OpenCL

2016年2月15日,

2016年3月20日

徐沛彥,女,碩士,研究方向:計算機系統(tǒng)結(jié)構(gòu)。施慧彬,男,博士,副教授,研究方向:計算機系統(tǒng)結(jié)構(gòu),可重構(gòu)計算,編譯優(yōu)化技術(shù)。

TP301.6

10.3969/j.issn.1672-9722.2016.08.006

猜你喜歡
次數(shù)長度蛋白質(zhì)
蛋白質(zhì)自由
機場航站樓年雷擊次數(shù)計算
人工智能與蛋白質(zhì)結(jié)構(gòu)
2020年,我國汽車召回次數(shù)同比減少10.8%,召回數(shù)量同比增長3.9%
一類無界算子的二次數(shù)值域和譜
繩子的長度怎么算
1米的長度
愛的長度
怎樣比較簡單的長度
依據(jù)“次數(shù)”求概率