Package Bio :: Package Emboss :: Module primersearch_format
[hide private]
[frames] | no frames]

Source Code for Module Bio.Emboss.primersearch_format

 1  """Martel format for primersearch output files, 
 2  """ 
 3  import Martel 
 4   
 5  blank_line = Martel.AnyEol() 
 6   
 7  # Primer name D1S2660 
 8  primer_name = Martel.Group("primer_name", 
 9                             Martel.ToEol()) 
10  primer_name_line = Martel.Str("Primer name ") + primer_name 
11   
12  # Amplimer 1 
13  amplifier = Martel.Group("amplifier", 
14                           Martel.Re("[\d]+")) 
15  amplimer_line = Martel.Str("Amplimer ") + amplifier + Martel.AnyEol() 
16   
17  # Sequence: AC074298 AC074298 
18  # Telomere associated sequence for Arabidopsis thaliana TEL1N 
19  # CCGGTTTCTCTGGTTGAAAA hits forward strand at 114 with 0 mismatches 
20  # TCACATTCCCAAATGTAGATCG hits reverse strand at [114] with 0 mismatches 
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