- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程式语言-perl final project报告 k-means clustering for protein
程式語言-perl project報告
k-means Clustering forProtein Sequences
Student :陳維謙翁明靖
Adviser : 鍾翊方
Abstract
我們要以weblogo製圖,得知一段已知長度胺基酸序列的conserve程度。一開始我們得到兩筆原始資料,第一筆,是由13個胺基酸為一組的序列,共298筆,另一筆是胺基酸相對應位置的對照表。透過交叉比對的方式,我們將序列中的每一個胺基酸都對應到一個數值。接著我們將每一行胺基酸的數值互相比較,算出其k-means值並進行分群,分數相近的序列會被分到同一群,代表這些序列之間的性質彼此相近。最後我們將每群胺基酸序列以weblogo製圖,看出序列conserve的程度。
Introduction
k-means為一種將資料分群的方法,首先依照所要分的群數,在座標上隨機產生同樣數量的中心點,接著計算出中心點與各個資料點的距離,將距離相近的資料點暫時分為同一群,再來移動各個中心點,並再計算一次中心點與各個資料點的距離,再重新分群,然後重複進行著相同的步驟,直到中心點的距離不再移動為止。
但程式中k-means的算法有一些不同,程式是從現有的資料點中選擇中心點出來,而非隨機產生中心點,另外程式中是由一個計數來進行重複的移動中心點動作,而非以判別的方式看中心點是否不再移動。K-means可以用來計算多個維度的資料點,以我們的資料為例,進行的是13維的計算。
Weblogo是一個獨立的執行檔,用來幫助我們畫胺基酸或是核甘酸的序列分析圖,可以利用命令提示元來使用這個執行檔,將我們由程式所產生出的序列fasta檔轉換成PNG檔。
Method
首先我們將胺基酸相對應位置對照表的資料讀出,以胺基酸字母 + 對應數值1 + 對應數值2…依序下去這樣的方式存成名為lines的array。
接著我們將胺基酸的序列資料讀出,以所有序列連續排列的方式存成名為group的array。
再來我們將序列的位置與對照表交叉比對,將所有序列換成數值,存成名為points的array of array,並製作一個名為seq的array,以一行一行的方式來存所有的序列。
處理完所有資料後,要進行k-means的計算,我們使用了現成的module,將3個數據傳入名為k_means的module,第一是k_number,代表的是分群的數量,可由使用者決定分群數,第二是M_number,指的是座標的維度,以我們的資料為例,為13維度,第三是N_number指的是數據的數量,以我們的資料為例,有298個數據。這些資料由這個module計算完之後,將會回傳回來,由一個名為hash1的hash儲存,以數據數為keys,所分到的群數為values儲存
我們將回傳的hash資料針對keys做sorting,並將同一群的序列存成一個名為k_seq的array of array,第一層array指的是群數,而第二層array為各群的序列資料。
將分好群的各序列在程式中print出來。
可以根據使用者的需求,匯出指定群的序列txt檔。
程式執行完成後,會得到一個名為result的txt檔,之後我們開啟命令提示元,進到weblogo所在的目錄底下,打上perl seqlogo.pl -c -Y -n -s -6 -F PNG -f result.txt -o result指令,將序列文字檔製作成名為result的PNG圖檔。
Result
我們以圖片慢慢呈現程式執行的過程。
程式一開始執行,會要求使用者輸入想要分的群數,我們以分3群為例,按下Enter後開始分群。
程式會將分好群的結果print出來,13個為一行,將序列依序print出。
分完群後,程式會要求使用者輸入想要第幾群的序列文字檔。
在這裡以第2群為例,當文字檔輸出完成後,即可把程式關掉。
之後開啟命令提示元,先進入到weblogo所在的目錄之下。
打上weblogo的指令,將剛剛所輸出的序列文字檔result.txt製作成名為result的PNG圖檔。
這是製做完成的圖形。
Discussion
我覺得我們的程式還可以做很多的修正。
第一是從頭到尾我們都沒有使用到subroutine,也就是說事實上程式可以做很多的縮減。再來就是我們的程式其實寫得滿死的,最明顯的地方是在使用k_means module時所傳入的參數,為了方便我們用了直接打上數字的方式,其實是可以寫成可以因
您可能关注的文档
- 拉曼光谱和表面张力用于水质检测与分析 - 物理实验杂志.pdf
- 近期国际药物警戒 - 临邑县食品药品监督管理局.ppt
- 城市竞争力的国内外研究回顾与展望 - 华东经济管理.pdf
- 大功率全固化固体激光器的研究发布时间 - 武汉新特光电技术有限公司.pdf
- 城市竞争力评价的理论模型、体系与方法 - 武汉大学区域经济研究中心.pdf
- 二、煎膏剂的制法.ppt
- 温度对胶原蛋白结构影响的二维红外相关光谱的研究ξ.pdf
- 元胞自动机方法模拟微观组织演变的建模框架 - 材料工程.pdf
- 城市可持续发展评价方法及其应用 - 生态学报.pdf
- 温度和弹性应变能对ni75al215nb35 合金原子有序 - 应用昆虫学报.pdf
- 人教版数学六年级上册 第一单元 第5课时 分数乘小数.pptx
- 人教版数学六年级上册 第四单元 第3课时 比的应用.pptx
- 人教版数学六年级上册 第五单元 第5课时 圆的面积-2.pptx
- 人教版数学六年级上册 第一单元 第7课时 解决问题-1.pptx
- 人教版数学六年级下册 第二单元 第4课时 利率.pptx
- 人教版数学六年级上册 第一单元 第8课时 解决问题-2.pptx
- 人教版数学六年级下册 第五单元 第2课时 鸽巢问题的一般形式.pptx
- 人教版数学六年级下册 第四单元 整理和复习.pptx
- 人教版数学六年级上册 第一单元 第3课时 分数乘分数-1.pptx
- 人教版数学六年级下册 第六单元复习第2课时 可能性.pptx
文档评论(0)