Filter ReverseComplement triggers from Reverse goodie
parent
403928232a
commit
4e8859748c
|
@ -17,6 +17,13 @@ triggers startend => "reverse";
|
|||
zci is_cached => 1;
|
||||
zci answer_type => "reverse";
|
||||
|
||||
handle remainder => sub { qq|Reversed "$_": | . scalar reverse };
|
||||
handle remainder => sub {
|
||||
|
||||
#Filter out requests for DNA/RNA reverse complements, handled
|
||||
# by the ReverseComplement goodie
|
||||
return if $_ =~ /^complement\s(of )?[ATCGURYKMSWBVDHN\s-]+$/i;
|
||||
|
||||
return qq|Reversed "$_": | . scalar reverse;
|
||||
};
|
||||
|
||||
1;
|
||||
|
|
|
@ -27,14 +27,14 @@ handle remainder => sub {
|
|||
|
||||
#Return nothing if sequence contains characters
|
||||
# other than DNA/RNA bases or standard IUPAC ambiguity codes
|
||||
return if $sequence =~ /[^ATCGURYKMSWBVDH]/;
|
||||
return if $sequence =~ /[^ATCGURYKMSWBVDHN]/;
|
||||
|
||||
#Return nothing if sequence contains both
|
||||
# thymine and uracil (more likely an error than a real molecule)
|
||||
return if $sequence =~ /T/ && $sequence =~ /U/;
|
||||
|
||||
#Complement
|
||||
$sequence =~ tr/ATUCGRYKMSWBVHD/TAAGCYRMKSWVBDH/;
|
||||
$sequence =~ tr/ATUCGRYKMBVHD/TAAGCYRMKVBDH/;
|
||||
|
||||
#Reverse
|
||||
$sequence = reverse($sequence);
|
||||
|
|
|
@ -14,7 +14,11 @@ ddg_goodie_test(
|
|||
)],
|
||||
'reverse bla' => test_zci('Reversed "bla": alb'),
|
||||
'reverse blabla' => test_zci('Reversed "blabla": albalb'),
|
||||
'reverse esrever' => test_zci('Reversed "esrever": reverse'),
|
||||
'reverse esrever' => test_zci('Reversed "esrever": reverse'),
|
||||
|
||||
#Should not trigger on a request for DNA/RNA reverse complement
|
||||
'reverse complement of ATG-CTA-GGG-GCT' => undef,
|
||||
'reverse complement gacuacgaucgagkmanscuag' => undef
|
||||
);
|
||||
|
||||
done_testing;
|
||||
|
|
Loading…
Reference in New Issue