- 論壇徽章:
- 0
|
本帖最后由 tempo8 于 2014-12-22 15:39 編輯
回復(fù) 7# chenhao392 謝謝提醒!
1. 輸入數(shù)據(jù)奇怪,4樓左圖gene=LOC.. 在ID行,右側(cè)在序列行開始部分。
答:不好意思!右側(cè)是chomp過的(即line 5-8, 你把<IN> 的第一行拿出來,chomp了放進(jìn) <OUT> !
2. 沒有一行的數(shù)據(jù)滿足> 開始,并含有序列的,所以Perl的代碼應(yīng)該啥都match不上?
答:Perl代碼重新整理了!
3. line 5-8, 你把<IN> 的第一行拿出來,chomp了放進(jìn) <OUT>, 這是干嘛?
答:目的是刪除換行符,再搜模式
4. while loop 里,不匹配的line也會打印給OUT,這是你想要的?
答: 要的結(jié)果是圖左上半部分的fasta格式的序列!
附上能用多條件整理序列的代碼 )請斧正!謝謝- {local $/=">";
- while (<DATA>){
- if($_=~m/(.{26}).+?\*.+?(M[^*]+W[^*]M[^*][DE][FYW][^*]+?\*)/s){
- my $f=join ("\n",">".$1,$2);
- print $f,"\n";
- }
- }
- }
- __DATA__
- >TCONS_00008129Os01g15640_2
- FDR*VSFFYFLASFVCMPLGI*LCKLLMIFHITAKCDVPTQDNKWHFFAARDRKYPNGSRSNRATVAGY
- WKSTGKDRAIKMGKQTIGTKKTLVFHEGRPPTGRRTEWIMHEYYIDERECQACPDMKDAY
- VLCRITKRNDWIPGNGNELDNSDPHPEPYDAPPSVISTEQLNPAAEPVVGVEAAPVTVAE
- PDGVTTSAITANIPSPSDDINLDDWLNELFDPFFDPEQSLASADLSPDEQNVESSNVGAL
- APKVEQDYSSPNENVVDDTEYLLPEDVYNILHPGTDDFNMLQNPLDQYPIQYATDVWSGI
- QKEELWSPQANAEPSQSNEAADNGIIRRYRSMKTPETSVPQFKGKTQAKMRVGINKMATS
- SSESINQTIKFENSGRLVEHQKNQAHDVASTKRSDAGKPSTELSSNRGFLRGIRNAFAGC
- SDARWNMILVAGFAIGVAVVALHIGQRLGLSQRDQQHT*PLGLQVTGFLCFLQSGET*TN
- >TCONS_00008129Os01g15640_3
- QILGGFETRVMGIGCDPVEIRVDRSVGWLCEEMVFLK*FGIWGIRIAALPSVLQ*DDKSV
- NSRLFFLFPF*LAYNRISPHFSGGLM*NLELLPYSY*SF*NFLPCLL*T*NCQ*LERRKH
復(fù)制代碼 |
|