Change picture:

Choose file:

regexdna


routine  main(  input  :  string)
{
     #input = '';
     seq  =  stdio.read(  input  );
     ilen  =  seq.size();

     t1  =  stdlib.time();
     seq.change('(>[^\n]*[\n]|[\n])',  '');
     clen  =  seq.size();
     stdio.println(  ilen,  clen  );
     #stdio.println( seq[:300] );
     t2  =  stdlib.time();

     variants  =  {
          'agggtaaa|tttaccct',
          '[cgt]gggtaaa|tttaccc[acg]',
          'a[act]ggtaaa|tttacc[agt]t',
          'ag[act]gtaaa|tttac[agt]ct',
          'agg[act]taaa|ttta[agt]cct',
          'aggg[acg]aaa|ttt[cgt]ccct',
          'agggt[cgt]aa|tt[acg]accct',
          'agggta[cgt]a|t[acg]taccct',
          'agggtaa[cgt]|[acg]ttaccct'
     };

     for(  f  in  variants  )stdio.println(  f,  seq.pfind('<I>'  +  f  ).size());
     t3  =  stdlib.time();

     subst  =  {
          'B'=>'(c|g|t)',  'D'=>'(a|g|t)',      'H'=>'(a|c|t)',  'K'=>'(g|t)',
          'M'=>'(a|c)',      'N'=>'(a|c|g|t)',  'R'=>'(a|g)',      'S'=>'(c|g)',
          'V'=>'(a|c|g)',  'W'=>'(a|t)',          'Y'=>'(c|t)'
     };
     #for( f in subst.key(); r in subst.value() ) seq.change( f, r );
     for(  it  in  subst  )  seq.change(  it[0],  it[1]);
     t4  =  stdlib.time();

     stdio.println(  t2  -  t1,  t3  -  t2,  t4  -  t3  );

     stdio.println();
     stdio.println(  ilen  );
     stdio.println(  clen  );
     stdio.println(  seq.size());

}

view count 543 times
created at 2009-02-20, 16:32 GMT

12 3
456789 10
111213141516 17
181920212223 24
2526272829 30 31

fu: Many thanks (Jul.04,04:29)

klabim: fixed Hi, great, now my test works now :- ). (Jun.30,17:51)

Nightwalker: Few suggestions (Jul.03,14:37)

This site is powered by Dao
Copyright (C) 2009,2010, daovm.net.
Webmaster: admin@daovm.net