1樓:網友
我的思路:1、建立陣列,假設為 %hash,逐行讀小檔案,將小檔案每行字元作為陣列的key,而每個value均為1。
2、讀大檔案,將大檔案每行字元作為key帶入到 %hash 中,以檢查是否有對應的value,如果有,則說明該行在小檔案和大檔案中同時存在,如果沒有,那麼說明僅在大檔案中存在。
乙個簡單的例子:
大檔名為:;小檔名為:
的內容如下:ab
cdefgh的內容如下:ab
cd**:#!/usr/bin/perl
#my $file_big = ';
my $file_lite = ';# mod themmy %hash_lite =
open lite , file_lite or die $!
while ()1;
open all , file_big or die $!
while ()
print "string(or line) [key."]not in ".file_lite."";
執行結果:d:\>perl
string(or line) [e] not instring(or line) [f] not instring(or line) [g] not instring(or line) [h] not in
2樓:網友
見到過有這種寫法的。
open(in, "1") or die "open error: $
my @x =
close (in);
open(in, "2") or die "open error: $
my @y = close (in);
chomp(@y);
my $p = join('|map @y); print (grep /$p/, x);
把裡面的暑假, 通過| 之後 quotemeta連線成乙個正規表示式, 然後直接grep 過濾 裡面的資料。裡面的資料。
雖然簡潔 但太過浪費記憶體。
perl 6 裡有lazy這個特性, 說不定可以解決記憶體問題)
如果要實用點的, 就用最直接的方式 像樓上說的利用hash的特性。
只是 hash 是非常佔用記憶體的,和陣列不是乙個數量級的, 超出想像,w行以內的資料,應該還好,如果是十w行以上,估計2g記憶體都不夠的。
另外, 樓主 您寫的不是perl**吧。。。我怎麼都感覺是在寫shell
編寫perl程式實現雙序列比對的,要用順序比對演算法
3樓:
咯,確實沒懂,不過用perl排序還是比較容易的。如下:
如三行三列資料分別為id name age:
1 wang 20
2 zeng 21
3 cheng 18
比如資料的檔名為可以進行如下操作:
open (fh ,"") or die print "error $!" ;
my @all= ;
my @alldata;
foreach(0..$#all)
row[0];
rowdata = $row[1] ;
rowdata = $row[2] ;
alldata[$_= \%r;
alldata = <=>$rowdata}@alldata; #然後對得到雜湊陣列進行排序:
#然後輸出:
foreach(@alldata )
\t",$_"\t",$_"";
##或者參考下面。
my @line;
while(<>
foreach ( sort @line)
要用perl語言來比對兩條序列,請問這個程式**錯了?要怎麼改?
4樓:網友
尼瑪這麼長。
為什麼要自己寫兩條序列的比對軟體,不是有很多已經很成熟的序列比對軟體了嗎。
關於程式設計學習的方面,請達人幫忙。萬分感謝
5樓:網友
那就是三方面。
c# 基礎的語法,語句結構,迴圈體之類的,可以看《c#程式設計》 機械工業出版社的。
sql 建庫建表,表之間的關係三階正規化,以及觸發器,儲存過程等等。
參見 《sql技術與網路資料庫開發詳解》 清華大學出版社的基礎知識,比如常用控制項的使用方法 像資料顯示常用的控制項gridview datalist 等等,連線資料庫,xml,js,等等。
這個推薦你找找網上的教程,很多很多 買書不值得,每本書角度不同。
你要學大概就這三方面,重要的還是你要堅持。學習只能靠自己!
6樓:網友
兄弟 買本書 高階一點 如高階程式設計 設計思想 設計模式 慢慢的 你就成為能手 高手 骨灰級高手 擁有美好的前途 穩定的收入 成功的一生。
7樓:匿名使用者
1、早6點最好能早起溫書,俗話說溫故而知新嗎。
2、⑤覺起來複習,你不是說學的時c#和sql嗎?所以多買點這種型別的書啦。
3、晚自習有不懂問題儘量請教老師,不要怕,這也許會增加老師對你的好感。
根據blast結果,用perl或bioperl提取序列差異資訊
8樓:網友
做序列差異分析,最好用全域性比對,你可以先將query和subject的序列提取出來,然後用muscle或者clustalw去比對,然後再處理比對結果,至於後面的繪圖等,有這方面的服務可以私信我,免費的話估計沒有這閒人。
PERL檔案操作
函式大體如下。要寫完美要自己加工。my function bash my function begin functionname begin row my function end functionname end row our kuohaosu 0 my i 1 open out,檔案 whil...
perl中代表了什麼意思,請問在Perl語言裡面 代表什麼意思?
為輸入記錄分隔符,預設為換行符。該變數會影響 perl對 行 這一概念的理解。其功能類似於 awk 中的 rs變數,在被設定為空字串時同樣會將空白行作為終止標誌。空白行不能含有任何空格或製表符。你可以將其設定為含有多個字元的字串,以匹配多字元的終止標誌 也可以設為 undef 以便一直讀到檔案結束。...
perl解引用是什麼,關於perl中的類 物件 引用 方法分別都是什麼概念?
樓上的講得不錯 你記住一個基本原則就行了,perl在你需要什麼的時候就給你什麼。比如 ref array push 1 就相當於把該引用解析成一個陣列,因為用的是 符號 如果是一個變數就用 簡寫 ref 如果是一個雜湊,需要整個雜湊的時候,那就用 print scalar keys 如果要獲取複雜結...