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

  免費注冊 查看新帖 |

Chinaunix

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

perl 比對,出不來結(jié)果,不知如何修改 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-01-26 10:42 |只看該作者 |倒序瀏覽
<IN1>:>AT1G50920.1 | [1-104] [403-416] | chr1:18870139-18870554 FORWARD LENGTH=118
GGTTGGGTCAGAAAACAGTCGACCGTCATTTGGTTGGGTCGGCTCGCTTCTCTTATCAGCTAACCCTAAGTACGCCGACTTTCAAATTCGC
CACTCCCGTTCATCTTTTCTCTGCATCGATAAGCGAAG
>AT1G15970.1 | [1-374] | chr1:5488495-5488868 REVERSE LENGTH=374
TCGTTTCGTCGTCGATCAGAAAAAGCTTCTTTCTTTCTTTTTTTTTTCTGGGTTTTTCTGAAGTCAAAAGCTTTTTTTTT
CTTCATTGTTCAAAGATTTTATTTTGTTGCTCGCTTGGGTCAACCTTGCTTTTCTCGTGAACACAGCAAGCAACTTGGTT
TAGTTTTACTAGAAGATTCCTAAAAATGAGATATTTAGCGGTGACAAAAAAGTTTCATTTTTGGTGCTAATGTAGCTGTA
AAGTCTAGGCCTTCCGATATATAATCTCTTGAAATAAGTTTCGAGACTGTTGGAAATAGCAATTTTGTTGTTGTTGTGTG
ATCCAGTGATAGATCTGTGAAATCAAAAAGCAGTTTTTTGTGAGAATCGGGTCA
>AT1G73440.1 | [1-55] | chr1:27611363-27611417 FORWARD LENGTH=55
ATTGAAAAGAAAACACATCCCAACTCTGGAGAAACAAATCCCTAATTAGCTAACA
>AT1G75120.1 | [1-146] | chr1:28198657-28198802 REVERSE LENGTH=146
CCGTGTTAAAAAACACGTTGGGTCAAAATCAATGGTGGGTGGGTCTTAACTTGCACTACTAGGATTTGATCACAGAAGAAA
GAAAGGGGTTTATTAATTTGGTTACTGTATCTTACTCTTTTTACTTTCGGATAACTTCAATTGGCA
<IN>:GGTTGGGTC
[ATC]GTTGGGTC
G[ATC]TTGGGTC
GG[ACG]TGGGTC
GGT[ACG]GGGTC
GGTT[ATC]GGTC
GGTTG[ATC]GTC
GGTTGG[ATC]TC
GGTTGGG[ACG]C
GGTTGGGT[AGT]
目的:將<IN>中的每行序列各自比對到<IN1>中所有基因序列上,將比對到的輸出,輸出位置信息及相應(yīng)的比對序列
我的程序:open IN1,"<seq_list.txt" ;
while (<IN1>
{
chomp;
my @aa1=split /\s+/,$_;
my $a=$aa1[0];
nn($a);
}
close IN1;
sub nn{
        my @a=$_;
open IN,"<test.fa" ;
open OUT,">>test_out.txt";
my %hash;
my $seq;
$/=">";
while (<IN>
{
chomp;
my @aa=split /\n/;
my $gene=(split /\s+/,shift @aa)[0];
$hash{$gene}=$_;
$seq=join('',@aa[0..$#aa]);
while ($seq =~ m/$a[0]/g)
{
my $pos = pos $seq;
push (@pos,$pos-;
pos($seq)=$pos-8;
if (pos($seq)){
print OUT "$gene\t", pos $seq, "\n";}
}
}
close IN;
}
出來的結(jié)果和我想要的不太一樣:AT1G50920.1        1        GGTTGGGTC
                                          AT1G50920.1        32        GGTTGGGTC
實際上還有結(jié)果沒有輸出

論壇徽章:
0
2 [報告]
發(fā)表于 2015-01-26 12:13 |只看該作者
額,沒有人會嗎

論壇徽章:
8
技術(shù)圖書徽章
日期:2013-08-22 11:21:28未羊
日期:2015-01-19 22:22:25巳蛇
日期:2014-08-11 16:53:08子鼠
日期:2014-05-29 09:04:44摩羯座
日期:2014-04-11 14:15:07丑牛
日期:2014-01-24 12:41:28金牛座
日期:2013-11-21 17:38:28射手座
日期:2015-01-21 08:50:32
3 [報告]
發(fā)表于 2015-01-26 13:14 |只看該作者
本帖最后由 huang6894 于 2015-01-26 13:20 編輯

回復(fù) 2# 1002279625

  1. my($fa, $seq) = @ARGV;

  2. my @all_seq;
  3. open IN,"< $seq" or die "$!";
  4. while(<IN>){
  5.     chomp;
  6.     if(/^\[([ATCG]+)\]([ATCG]+)$/){
  7.         map{push @all_seq,$_.$2}(split //,$1);
  8.     }elsif(/^([ATCG]+)\[([ATCG]+)\]([ATCG]+)$/){
  9.         map{push @all_seq,$1.$_.$3}(split //,$2);
  10.     }elsif(/^([ATCG]+)\[([ATCG]+)\]$/){
  11.         map{push @all_seq,$1.$_}(split //,$2);
  12.     }else{
  13.         push @all_seq,$_;
  14.     }
  15. }
  16. close IN;
  17. $/ = '>';
  18. open IN1,"< $fa" or die "$!";
  19. <IN1>;
  20. while(<IN1>){
  21.     chomp;
  22.     my ($key, @seq) = split /\n/;
  23.     my ($gene) = $key =~/^([^\|]+)(\s+)?|/;
  24.     my $s =  join("",@seq);
  25.     foreach my $key2(@all_seq){
  26.         my ($pos, $now) = (0, -1);
  27.         until ( $pos eq -1 ) {
  28.             $pos = index( $s, $key2, $now + 1 );
  29.             $now = $pos;
  30.             print $gene."\t".$pos."\t".$key2."\n" unless $pos < 0;
  31.         }
  32.     }
  33. }
  34. close IN2;
  35. $/ = "\n";
復(fù)制代碼
結(jié)果:
  1. AT1G50920.1     0       GGTTGGGTC
  2. AT1G50920.1     31      GGTTGGGTC
  3. AT1G15970.1     112     GCTTGGGTC
  4. AT1G75120.1     15      CGTTGGGTC
  5. AT1G75120.1     36      GGGTGGGTC
復(fù)制代碼
如果數(shù)據(jù)量小也就罷了,太大,可以考慮用kmp算法,或者直接blat

論壇徽章:
0
4 [報告]
發(fā)表于 2015-01-26 13:29 |只看該作者
回復(fù) 3# huang6894


    我是seq_list這個比較長,有116行,考慮到9bp中最多有兩個錯配。用過blat,但因為9bp太短,出不來結(jié)果,所以才自己寫程序比對。

論壇徽章:
0
5 [報告]
發(fā)表于 2015-01-26 16:02 |只看該作者
回復(fù) 3# huang6894
我發(fā)現(xiàn),這樣寫,有漏掉的


   

論壇徽章:
0
6 [報告]
發(fā)表于 2015-01-26 16:16 |只看該作者
回復(fù) 3# huang6894
留著以后慢慢研究大神程序~

   
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP