




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、成績表考核作業(yè)成績(70%)回答問題成績(30%)總成績Perl程序設(shè)計課程考核院 系 部 門: 學(xué) 生 專 業(yè): 學(xué) 生 學(xué) 號: 學(xué) 生 姓 名: 2012年1月課程大作業(yè)內(nèi)容第一題:請問Bioperl怎樣安裝和配置,請結(jié)合文字圖表概述Bioperl的安裝、配置與測試,并簡述該過程中出現(xiàn)問題解決經(jīng)歷(10分)。 1、 安裝過程:Bioperl的安裝(1):安裝好active perl 10.1。(2) 、打開ppm,得到如下界面:3:,選擇Edit Preferences。得到如下界面:4:在Preferences添加下面的站點Repositories to addNameperl 5.8
2、perl 5.10BioPerl-Regular ReleasesBioPerl-Release CandidatesKobesBribestcoolNA5:選擇View All Packages;6:在搜索框輸入bioperl得到如下界面:7:,選擇最新版本,右鍵安裝(需要安裝:bioperl;bioperl-db;bioperl-network;bioperl-run)。8:查看安裝是否成功:查看目錄PerllibBio中是否存在Biblio.pm文件,存在則表明安裝成功二:測試 測試代碼:建立一個PL文件:寫入以下內(nèi)容,然后雙擊文件,會在同目錄下生成一個testseq.fsa文件use
3、Bio:Seq;use Bio:SeqIO;# create a sequence object of some DNAmy $seq = Bio:Seq-new(-id = testseq, -seq = CATGTAGATAG);# print out some details about itprint seq is , $seq-length, bases longn;print revcom seq is , $seq-revcom-seq, n; # write it to a file in Fasta format my $out = Bio:SeqIO-new(-file =
4、 testseq.fsa, -format = Fasta);$out-write_seq($seq);雙擊bioperltest.pl,得到或者在命令處理程序中:輸入: C:Perlperldoc Bio:Biblio得到如下:3、 簡述該過程中出現(xiàn)問題解決經(jīng)歷 第二題:結(jié)合圖形和程序回答下面問題1、編程實現(xiàn)一個DNA序列文件的酶切位點的分析(包括酶切位點統(tǒng)計、酶切位點的標(biāo)記和計數(shù),以及可視化輸出等,不準(zhǔn)用模式匹配知識)(10分)。2、對1中編寫的程序采用子程序進(jìn)行優(yōu)化,并闡述子程序輸入輸出和內(nèi)部算法實現(xiàn)的理由和心得(10分)。3、進(jìn)一步完善上面的程序,編寫的系列酶切酶管理程序,實現(xiàn)酶切酶信
5、息的添加、刪除和修改,并簡述理由和心得(20分)。 由于第一問、第二問和第三問是緊密聯(lián)系的,所以將其聯(lián)合在一起編輯優(yōu)化得到以下程序:具體程序代碼如下:system cls;&choose;my $slect=;chomp($slect); if ($slect eq search) &search; if($slect eq add) &add; if($slect eq estimate) &estimate; if($slect eq quit) &quit; sub choose$=heading;write;format heading = 運行程序選擇= 在酶切位點中添加新的酶切位點
6、請輸人add =* 計算整個序列中各堿基所占比例請輸入estimate * 尋找基因的酶切位點請輸入search *= 退去此程序請輸入quit =.printnn 請在這里輸入你的選項:;sub search system cls; print nn=你已進(jìn)入酶切位點查找程序=n; print=nn; print請在這里輸入目的基因序列:nn; my $string=;printn請輸入酶切位點序列:n;my $dian=;chop($dian);#將找到的酶切位點的位置賦值到句柄$positions中 printn基因序列的酶切位點:n;my $foundAt = 0;my $offset
7、 = 0;my $label = 1;my %positions; while ( ( $foundAt = index( $string, $dian, $offset ) ) -1 ) $positions $foundAt = $label+; $offset = $foundAt + 1;#將$string中的基因序列按每10個一組輸出my $n=0;my $number=0; my $c=0;while($clength($string) my $n=0;while($n0 & (length($string)-$c100) last; my $f=$c;foreach($c.len
8、gth($string)-1) #110my $str2;$str2=substr($string,$c,1);print $str2; $c+; if($c%10=0) print ; print n;foreach($f.length($string)-1) print $positions$f?$positions$f: ; print if($f%10=0);$f+;print n ; sub add system cls;print nn=你已進(jìn)入添加酶切位點程序=n; print=nn;print 請依次輸入酶的名稱 其識別的序列 酶切的前半部分序列 酶切的后半部分序列,輸完后請按
9、Ctrl+Zn;chomp(my enzyme=);open(FILE,C:myperl酶切位點.txt);print (FILE enzymen);close (FILE);print n此序列以保存到C:myperl酶切位點.txtnn;print 下面輸出的是數(shù)據(jù)庫中所保存的所有的酶切位點:nn;open(FILE,C:myperl酶切位點.txt);my array=;close(FILE);print array; print=n; print=; sub estimate system cls; print=你已進(jìn)入基因序列各堿基比例統(tǒng)計程序=n; print=nn;print 請
10、在這里輸入基因序列所在的文件位置(如C:myperlgene.pl.txt)n序列存放位置:;$file=;chomp($file);open(FILEHANDLE,$file);$string=;close(FILEHANDLE);#將array中的每一個元數(shù)中的內(nèi)容都賦值到$string中,形成一個字符串 printn從文件中讀出的基因序列為:n $string;print nnn=此基因序列堿基分析結(jié)果如下=nnn; ($a,$c,$t,$g,$n1)=(0,0,0,0,0); print 基因序列: $stringn;#用while循環(huán)進(jìn)行統(tǒng)計while ($n1(length($st
11、ring)-1) $y=substr($string,$n1,1); if($y eqA) $a+; elsif($y eq C) $c+; elsif($yeqT) $t+; elsif($y eq G) $g+; $n1+;$n=length($string);#分別計算出a,t,c,g在所給基因中所占的百分比$ap=$a/$n;$cp=$c/$n;$tp=$t/$n;$gp=$g/$n;print n A堿基所占的百分比為 $apn C堿基所占的百分比為 $cpn T堿基所占的百分比為 $tpn G堿基所占的百分比為 $gpn; sub quit printn 你已退出了該程序!; 第一
12、步 運行改程序會出現(xiàn)如下選擇界面:第二步 輸入add 進(jìn)入在酶切位點文件中添加新酶切位點的程序,界面如下:依次輸入酶的名稱,識別序列,酶切割的前半部分序列,酶切割的后半部分序列,回車后,Ctrl+Z進(jìn)行酶切位點添加,輸出文件中已有的酶切位點。界面如下:第三步 在程序選擇窗口中輸入estimate,進(jìn)入基因序列堿基分析程序,界面如下:輸入自己電腦上存放基因序列文件的位置,回車。得到基因序列原文和對其進(jìn)行堿基分析的結(jié)果。界面如下:第四步 在程序選擇窗口中輸入search,進(jìn)入在基因序列上尋找酶切位點的程序,界面如下:輸入目的基因序列和要尋找酶切序列,回車,運行程序得到酶切位點標(biāo)記和記數(shù)結(jié)果。界面如
13、下:第五步 在程序選擇窗口中輸入quit,跳出本程序。界面如下:4、 編程實現(xiàn)采用滑動窗口技術(shù)實現(xiàn)DNA序列的四種堿基含量變化并可視化輸出,并簡述理由和心得(10分)。理由和心得: 可以利用滑動窗口這個結(jié)構(gòu),很快的找到從第幾位開始,接下來的窗口大小內(nèi)的數(shù)據(jù)是什么,在研究DNA堿基序列中可以很方便,只需從窗口中取出堿基序列就可以做相應(yīng)的事情,如果不行,可以將窗口向前移動繼續(xù)查找。具體程序代如下:use warnings;use strict;open(FILEHANDLE,C:gene.txt);my array=;close(FILEHANDLE);my $lengt=array;my $a;
14、my $string;for($a=0;$a9)my $subseq=substr($string,$nu1,10);my arrayseq=split/,$subseq;foreach(arrayseq)$d-$_-$nu+;$nu+;$nu1+;#system cls;my $m=();&stats(A);print nnnn A基因的統(tǒng)計結(jié)果如下圖n;&pri;&stats(G);print nn nn G基因的統(tǒng)計結(jié)果如下圖n;&pri;&stats(C);print nnnn C基因的統(tǒng)計結(jié)果如下圖n;&pri;&stats(T);print nn nn T基因的統(tǒng)計結(jié)果如下圖n;&
15、pri;sub statsmy $sn;my $sn1;for ( $sn=0;$sn=($nu-1);$sn+)for( $sn1=0;$sn1$_0-$sn)$d-$_0-$sn=0;if($sn1 = $d-$_0-$sn)$m-$sn1-$sn=*;else$m-$sn1-$sn=qq ; sub priprint nn n |n;for(my $sn4=10;$sn4=0;$sn4-)print $sn4| ;for(my $sn=0;$sn$sn4-$sn;print n; print -x ($nu+5),;運行此程序得到存放在C盤gene.text文本文檔中的基因序列各個基因的
16、統(tǒng)計圖形結(jié)果,如下圖所示:A基因統(tǒng)計結(jié)果:G基因的統(tǒng)計結(jié)果:G基因的統(tǒng)計結(jié)果:T基因的統(tǒng)計結(jié)果:第三題:結(jié)合圖形和程序回答下面問題:編程實現(xiàn)DNA序列向蛋白質(zhì)序列轉(zhuǎn)換,并可視化輸出(20)。具體程序代碼如下:use warnings;use strict;use package1;BEGINunshift(INC,.);package1:mypackage1;my $file=;chomp($file);my $geneseq=&fileopen($file);printn文件中基因序列為:n $geneseqn;for (my $j=0;$j3;)my ac;my $i=0;my $ai=0
17、;$ai=$ai+$j;while(1)$ac$i+=substr($geneseq,$ai,3);$ai=$ai+3;last if(length($geneseq)-$ai3);my $f=0;foreach(ac) for(my $u=0;$u3;$u+)if(A eq substr($_,$u,1)substr($ac$f,$u,1)=T;elsif(T eq substr($_,$u,1)substr($ac$f,$u,1)=A;elsif(G eq substr($_,$u,1)substr($ac$f,$u,1)=C;elsif(C eq substr($_,$u,1)subst
18、r($ac$f,$u,1)=G;$f+;$j+;print n此基因序列的第$j種密碼子可能為:n acn;my $code;foreach(ac)if($_=/TC|AGTC/)$code .= S;elsif($_=/CT|TTAG/) $code .= L;elsif($_=/CG|AGAG/)$code .= R;elsif($_=/GG/)$code .= G;elsif($_=/CC/)$code .= P;elsif($_=/AC/)$code .= T;elsif($_=/GC/)$code .= L;elsif($_=/GT/)$code .= V;elsif($_=/ATT
19、CA/)$code .= I;elsif($_=/TTTC/)$code .=F;elsif($_=/TGTC/)$code .= Celsif($_=/CATC/)$code .=H;elsif($_=/TATC/)$code .= Y;elsif($_=/CAAG/)$code .= Q;elsif($_=/AATC/)$code .= N;elsif($_=/AAAG/)$code .= K;elsif($_=/GATC/)$code .= D;elsif($_=/GAAG/)$code .= E;elsif($_ eq ATG)$code .= M;elsif($_ eq TGG)$code .= W;print 這種密碼子得到的蛋白質(zhì)序列如下:n $codennn;sub fileopenmy $geneseq
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 油氣田開發(fā)項目全過程咨詢、管理與技術(shù)服務(wù)模式創(chuàng)新考核試卷
- 燈具行業(yè)服務(wù)標(biāo)準(zhǔn)化建設(shè)考核試卷
- 建筑材批發(fā)商市場風(fēng)險管理考核試卷
- 印刷過程中的環(huán)保措施考核試卷
- 小學(xué)教具趣味性研究考核試卷
- 植物園節(jié)能減排技術(shù)與環(huán)境保護(hù)考核試卷
- 勞務(wù)合同范例范例制作
- 產(chǎn)品長期采購合同范例
- 停止裝修合同標(biāo)準(zhǔn)文本
- 冰箱使用合同標(biāo)準(zhǔn)文本
- FMEA手冊新中文版(第五版)
- 2024年10月自考03709馬克思主義基本原理概論試題及答案含解析
- 中南林業(yè)科技大學(xué)《工程力學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- DB4101T 64-2023 智慧養(yǎng)老服務(wù)平臺建設(shè)規(guī)范
- 2023年國家藥品監(jiān)督管理局特殊藥品檢查中心招聘考試真題
- 安全(HSE)監(jiān)督檢查的方法和技巧
- 第七章-生物醫(yī)學(xué)工程的倫理問題
- 儀表常見故障分析及解決方法
- 五上數(shù)學(xué)簡便運算500道及答案
- 工貿(mào)企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化定級評分標(biāo)準(zhǔn)(2023版)
- 卜算子-送鮑浩然之浙東課件
評論
0/150
提交評論