On Jan 16, 2009, at 9:10 AM, Jes Gabriel y Gal wrote:
> On Fri, Jan 16, 2009 at 2:56 PM, George George
> <george.githinji / gmail.com> wrote:
>>>
>>> => nil
>>> irb(main):015:0> expand "ac[ta]cct"
>>> => ["actcct", "acacct"]
>>>
>>> It's probably overkill for your needs.
>>>
>>> Jesus.
>>
>> hi Jesus!
>> Thank you for referencing me to that quiz, its nice to study the  
>> code.
>> That exactly solves one of the problems that i had while looking  
>> for dna
>> motifs which are represented as regular expressions, but need to be
>> expanded if you gonna use them as possible dna primers. and then such
>> back and see which one gives the best predictive value ... blah  
>> blah ...
>> Sorry for the bio talk :)
>
> You are welcome. Just a comment on the above: I have realized that if
> each position of the sequence is just one character, then your
> original string is already a valid regexp for the problem, so no need
> to change [ta] to (t|a) as I was doing, cause [ta] is a character
> class with those two possibilities and those work too:
>
> irb(main):001:0> require 'quiz143'
> => true
> irb(main):002:0> /#{"ac[ta]cc"}/.generate
> => ["actcc", "acacc"]

No need to do the string interpolation there:
   /ac[ta]cc/.generate
Or if you have that in a string:
   x="ac[ta]cc"
   Regexp.new(x).generate

> :-)
>
> Jesus.


-Rob

Rob Biedenharn		http://agileconsultingllc.com
Rob / AgileConsultingLLC.com