版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
perl語(yǔ)1可以學(xué)到什僅僅是一 旅真正的學(xué)習(xí)只有靠自己去學(xué)23Perl4為什么選擇 5為什么選擇容易上手,容易6Perl Perl很容Perl處理生物數(shù)據(jù)具有優(yōu)勢(shì)——包(類(lèi)似R語(yǔ)言包7Windows記事本即Windows記事本即可,推薦使用編輯Notepad)運(yùn)行->cmdperltest.pl1test.pl:viusestrict;print 3:wq4、運(yùn)行perl8在window系統(tǒng)下,可以安裝安裝后可以選擇安 9“開(kāi)始”——“所有程序”——“附件—“命令提示或Perl運(yùn)行環(huán)境——運(yùn)安裝如下輸入(#號(hào)后的不輸入進(jìn)入D進(jìn)入PerlPerlPerl程序的基本結(jié)/usr/bin/pel,一般用于定義perusestrict;#若開(kāi)頭使用,一定要用my 相當(dāng)于要求你的 要嚴(yán)格按照格式規(guī)范撰寫(xiě);#每一個(gè)完整句子代碼要以;結(jié)尾,而R“\n”換行;“\t”制表符;“\s”空白與R類(lèi)似認(rèn)識(shí)組織數(shù)據(jù)——標(biāo)量、數(shù)組、哈挑選數(shù)據(jù)——正則表達(dá)批量處理數(shù)據(jù)——循環(huán)控Perl的標(biāo)量是單一元素的變變量命哈希:%開(kāi)
例如例如例如R和perl的比在ta標(biāo)量——單一元素變7.257.25×10-@array=("ab","cd"$c="ab@array=("ab","cd"$c="ab“標(biāo)量的比><lle數(shù)組——一系列元素的組my@array=(1,4,3);#一個(gè)包含(1,4,3)三個(gè)元素的數(shù)組;“my”是個(gè)變量有效范圍的,可以$array[0]==1;#結(jié)果應(yīng)該是“真”,@array這個(gè)數(shù)組——一系列元素的組頭,5
尾,3
my$number=@array;push@array,(1,2);unshift@array,9;
尾部加了兩個(gè)元素,@array變成my$a=pop@array#從尾部刪了一個(gè)元素$a==2;@arraymy$b=shift@array#從頭部刪一個(gè)元素$b=9@array變成print
#打印出某個(gè)元 變量與數(shù)“notepat++”編輯:use:useprint 輸入:perltest.pl 變量與數(shù) mymy@array=(1,4,3);print"@array\n";print"$array[0]\n"; 變量與數(shù) mymy@array=(1,4,3);print"@array\n";print"$array[0]\n"; 變量與數(shù)繼續(xù)編輯test.pl, 原有行后面繼續(xù)加入printprintmy$number=@array;試試不輸入"my保存,試運(yùn) m”,$nu#這一點(diǎn),perl比較R要強(qiáng),perl會(huì)明確告訴你“錯(cuò)哪里” 變量與數(shù) print"@array\n";unshift@array,9;print"@array\n";my$a=pop@array;print"$aand@array\n";my$b=shift@array;print"$band@array\n"特別一點(diǎn)的——哈所以,Perl其實(shí)很隨意(請(qǐng)不要在乎細(xì)節(jié)特別一點(diǎn)的——哈my%name=("Unigene1"=>"MGP","Unigene2"=>"APL");這 ke叫值()找到key,自然就找到例如:print“$name{Unigene1}\n”;找到1號(hào);,而不是{即特別一點(diǎn)的——哈myprintmy@kkeys% ID(key)存到數(shù)組printmy@vvalues 簡(jiǎn)稱(chēng)(值)存到數(shù)組$length= delete$name{"gene3"} exists foreach或while等 練習(xí)二:哈在D:\perl文件夾內(nèi),新建“test2.pl”,使用“notpat++”編輯,輸入一下 usemymy$length print"Thenumberofgenesis print"TheUnigene3is$b\n";
my@k=keys%name;# my@v=values print #打 練習(xí)二:哈print"######Thetableofprint"######Thetableoftargetprintprintprintprintprint"#######Theendof認(rèn)識(shí)組織數(shù)據(jù)——標(biāo)量、數(shù)組、哈挑選數(shù)據(jù)——正則表達(dá)批量處理數(shù)據(jù)——循環(huán)控好用---強(qiáng)大的正則表達(dá)好用---強(qiáng)大的正則表達(dá)使用格式查找(匹配)file: #查找文本中的“file”單查找與替換例子$string=
$string=~s/love/like/; 命令,此$stringeq"i:like:perl";好用---強(qiáng)大的正則表達(dá)$string=$string=~#\d代表數(shù)字,+代表一個(gè)或多個(gè),(\d+)$string中的一乘以2的操作,/eg的變成了"www44gene88"。
gie替換字符串作為表達(dá)式,比mosx練習(xí)三:正則表達(dá)usemy$string=usemy$string=print"Theoldsentenceis$stringprint"Thenewsentenceis認(rèn)識(shí)組織數(shù)據(jù)——標(biāo)量、數(shù)組、哈挑選數(shù)據(jù)——正則表達(dá)批量處理數(shù)據(jù)——循環(huán)控Perl的常用控制結(jié) 被成功克隆Unless(你發(fā)了>4分 ifmyif($x==5){ 如果$x等于5….print"Xmustbe5\n";}elsif$x4 print"Xmustbe}else{ print"Xisnot4or5\n";}mywhile($num10#只要$num<10$num2;給$numprint #2468}while1理論上會(huì)反復(fù)循環(huán),因?yàn)?if($num10lastlast:$num+=print #2468 整個(gè)哈while(my($key,$value)=eachprint"$key=>}each:依次%name中的成對(duì)while(while(my($key,$value)=each%name){print"$key=>$value\n";lastif($keyeq}#則遇到keygene2foreachkeysforeachkeys%name)print"$_=>}#備注:加入sortforeach(keys%name)print"$_=>}#備注:如果不設(shè)定的目標(biāo),變量的值就會(huì)到$_;練習(xí)四:循環(huán)與控 usestrict;my$num=0;while($num<10$num+=print #2468}練習(xí)四:循環(huán)與控usemy%name=('gene1'=>2838,'gene2'=>2344,while(my($key,$value)=each%name){print"$key=>$value\n";}#注意:輸出結(jié)果是亂序隨機(jī)練習(xí)四:循環(huán)與控usemy%name=('gene1'=>2838,'gene2'=>2344,foreach(sort keys%name){print"$_=>$name{$_}\n";}#例子介例如計(jì)算data.txt文件中每條 按行區(qū)不分大小寫(xiě),匹配堿基 何時(shí)輸出結(jié)usemy($number,$count,$print_flag)=(0)x3;my($line,$chr);
#(0)x3等同于(0,0open(IN,dir/data.txt讀入data.txt,一個(gè)fastawhileunless($line){
#自動(dòng)循環(huán),因?yàn)?是yes讀入一行到$linechomp#unless的邏輯和if相反,如果讀到?jīng)]有行了,就print$chr\t$number\n}if($line=~ #匹配“>chr_1”這樣 序列開(kāi)頭if($print_flag){#讀第一 id并激發(fā),因?yàn)檫@時(shí)print"$chr\t$number\n";#輸出上一 信 #$number歸零,留著記錄新 信} #$1和$2$1(^$2}$count$line=~s/c/c/ig);##記錄替換的次數(shù)/i不區(qū)分大小寫(xiě)/g$count #累積每一行的計(jì)算結(jié)}警惕小錯(cuò)文字符包括空格、標(biāo)點(diǎn)符號(hào)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版購(gòu)銷(xiāo)雙方產(chǎn)品交易協(xié)議3篇
- 2025年度倉(cāng)儲(chǔ)信息化系統(tǒng)建設(shè)與運(yùn)營(yíng)服務(wù)合同3篇
- 2024版裝修樣板間保密協(xié)議
- 2024融資租賃合作協(xié)議書(shū)范本適用于二零二四年度3篇
- 多媒體技術(shù)與應(yīng)用知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋廣東警官學(xué)院
- 2024版挖掘機(jī)承包工程合同
- 自愿解除婚姻協(xié)議范本
- 醫(yī)院建筑彩鋼瓦維修合同
- 北京市攝影器材購(gòu)銷(xiāo)合同
- 美甲店門(mén)頭改造協(xié)議
- 2025年考研政治全套復(fù)習(xí)題庫(kù)及答案(全冊(cè)完整版)
- 3《歡歡喜喜慶國(guó)慶》說(shuō)課稿-2024-2025學(xué)年道德與法治二年級(jí)上冊(cè)統(tǒng)編版
- 蓄勢(shì)聚能籌遠(yuǎn)略揚(yáng)帆破浪啟新航-在2025年務(wù)虛會(huì)上的講話(huà)提綱
- 先進(jìn)集體發(fā)言稿
- 學(xué)生寒假心理健康教育心理調(diào)試過(guò)健康寒假課件
- 八年級(jí)地理(下冊(cè)星球版)復(fù)習(xí)提綱
- 新建3000只肉羊養(yǎng)殖基地建設(shè)項(xiàng)目可行性研究報(bào)告
- 山東省濟(jì)南市2023-2024學(xué)年高二上學(xué)期期末考試生物試題 附答案
- DB32T 3292-2017 大跨徑橋梁鋼橋面環(huán)氧瀝青混凝土鋪裝養(yǎng)護(hù)技術(shù)規(guī)程
- GB/T 44819-2024煤層自然發(fā)火標(biāo)志氣體及臨界值確定方法
- 《MATLAB編程及應(yīng)用》全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論