亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3272 | 回復(fù): 2
打印 上一主題 下一主題

將匹配字符串的特定區(qū)段序列變成小寫 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2016-06-05 11:14 |只看該作者 |倒序?yàn)g覽
open(FILE1, "<Test.fasta") || die("Cannot open file Test.fasta");
open(FILE2, "<Repeat.gff") || die("Cannot open file Repeat.gff");
open(OUTFILE, ">Test3.txt") || die("Cannot create file Test3.txt");
my %hash;
while(<FILE1>) {
                chomp;
                if(/^>/){
                        $key=substr($_,1);     
                        }
                else {
                     $hash{$key}.=$_;
                     }
               }
               
while(<FILE2>){
              chomp;
              s/^\s+//g;
              my @temp=split(/\t|\;/,$_);
              my $ID=$temp[0];    # my $ID=substr($temp[0],0);      
              my $Start=$temp[3]-1;
              my $Len=($temp[4]-$temp[3]+1);

     while(my($key, $value)=each%hash){
                                if(exists $hash{$ID}) {
                                                                $hash{$ID} =~ s/^(.{$Start})(.{$Len})/$1.lc($2)/eg;                              
                                                                }
                                                            }
                      }

foreach my $k (keys %hash) {print OUTFILE "$k\t$hash{$k}";}
close FILE1;
close FILE2;
close OUTFILE;

這段腳本的執(zhí)行結(jié)果是:Quantifier in {,} bigger than 32766 in regex; marked by <-- HERE in m/^(.{ <-- HERE 32926})(.{195})/ at t41.pl line 27, <FILE2> line 60.
已知:GFF文件記錄的是每個(gè)ID不同區(qū)段的序列特征信息,每個(gè)ID縱列出現(xiàn)若干次; fasta文件記錄的是>ID\n 序列;
問題:首先讀取序列fasta文件,存入hash數(shù)列,key指定為:“>”后面的字符串,以便于對應(yīng)下面的GFF文件中的第一列$ID,便于在其中查找。$Start是要替換序列的起點(diǎn),$Len是要替換序列從$Start開始的長度。$ID 是序列的ID, 對每一個(gè)ID,查找是否存在于fasta文件中,有對話,對其相應(yīng)的序列坐標(biāo)片段進(jìn)行小寫替換。然后輸出結(jié)果。

本人剛剛開始寫perl腳本,請問大神,我那里寫錯(cuò)了????為什么運(yùn)行報(bào)錯(cuò),說正則表達(dá)式匹配超出范圍,我查找了相應(yīng)到Line27的序列,確認(rèn)沒有錯(cuò)誤。SOS~~~~~

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2016-06-05 11:17 |只看該作者
請問是否可以不用遍歷 hash數(shù)列來實(shí)現(xiàn)指定區(qū)段序列打小寫替換的 操作??

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2016-06-06 13:59 |只看該作者
已解決~~~~~
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP