1 """Martel format for primersearch output files,
2 """
3 import Martel
4
5 blank_line = Martel.AnyEol()
6
7
8 primer_name = Martel.Group("primer_name",
9 Martel.ToEol())
10 primer_name_line = Martel.Str("Primer name ") + primer_name
11
12
13 amplifier = Martel.Group("amplifier",
14 Martel.Re("[\d]+"))
15 amplimer_line = Martel.Str("Amplimer ") + amplifier + Martel.AnyEol()
16
17
18
19
20
21 seq_indent = Martel.Str("\t")
22
23 sequence_id = Martel.Group("sequence_id",
24 Martel.ToEol())
25 sequence_descr = Martel.Group("sequence_descr",
26 Martel.ToEol())
27 sequence_info = sequence_id + sequence_descr
28 forward_strand_info = Martel.Group("forward_strand_info",
29 Martel.ToEol())
30 reverse_strand_info = Martel.Group("reverse_strand_info",
31 Martel.ToEol())
32 amplifier_sequence = Martel.Group("amplifier_sequence",
33 sequence_info +
34 forward_strand_info +
35 reverse_strand_info)
36 amplifier_sequence_lines = seq_indent + Martel.Str("Sequence: ") + \
37 amplifier_sequence
38
39 amplifier_length = Martel.Group("amplifier_length",
40 Martel.Re("[\d]+"))
41 amplifier_length_line = seq_indent + Martel.Str("Amplimer length: ") + \
42 amplifier_length + Martel.Str(" bp") + \
43 Martel.AnyEol()
44
45 record = Martel.Group("primersearch_record",
46 Martel.Rep1(blank_line + primer_name_line +
47 Martel.Rep(amplimer_line +
48 amplifier_sequence_lines +
49 amplifier_length_line)))
50