+ # Split a primer pattern in the form of ATCG[3,2,1] into
+ # sequence and match descriptor, reverse complement the
+ # primer and append the match descriptor: CGAT[3,2,1].
+ def self.revcomp(pattern)
+ if pattern.match(/^(\w+)(\[.+\])?/)
+ primer = $1
+ descriptor = $2
+ else
+ raise "Failed splitting pattern: #{pattern}"
+ end
+
+ seq = Seq.new
+ seq.seq = primer
+ seq.type = :dna
+ seq.reverse!.complement!
+
+ descriptor ? seq.seq + descriptor : seq.seq
+ end
+