6 /markers/rflp.mas - a Mason component displaying information about rflp (known function genes) markers
12 a CXGN::Marker object.
16 Robert Buels <rmb32@cornell.edu>
27 use CXGN::Page::FormattingHelpers qw/ info_table_html columnar_table_html /;
28 use CXGN::Tools::Identifiers qw/ link_identifier /;
29 use SGN::Controller::Marker;
33 or return '<span class="ghosted">not available</span>';
34 '<span class="sequence">'.CXGN::Page::FormattingHelpers::html_break_string($seq,90).'</span>'
36 sub fmt_rflp_image_link {
38 my $l = SGN::Controller::Marker->rflp_image_link( $c, $marker )
39 or return '<span class="ghosted">'.$marker->get_name.' image not available</span>';
40 return '<a href="/marker/SGN-M'.$marker->marker_id.'/rflp_image/view">'.$marker->get_name.' RFLP image</a>';
44 return sprintf('%d (%0.1f%% of RFLP seq)',$len,$len/length($seq)*100);
47 my $e_val_blast_cutoff = '1.0e-4';
50 % if( my $r = $marker->rflp_data() ) {
51 % my ($forward_unigene_matches, $reverse_unigene_matches) = $marker->rflp_unigene_matches( $r->{forward_seq_id}, $r->{reverse_seq_id} );
53 <&| /page/info_section.mas, title=>'RFLP details' &>
55 <% info_table_html( __border => 0, __multicol => 5,
56 'Insert size' => $r->{insert_size},
57 'Vector' => $r->{vector},
58 'Cutting Site' => $r->{cutting_site},
59 'Drug Resistance' => $r->{drug_resistance},
60 'Image' => fmt_rflp_image_link( $marker ),
62 <% info_table_html( __border => 0,
63 'Forward sequence' => fmt_sequence( $r->{forward_seq} ),
64 'Reverse sequence' => fmt_sequence( $r->{reverse_seq} ),
68 <&| /page/info_section.mas, title => 'RFLP sequence matches to unigenes' &>
69 % if( @$forward_unigene_matches || @$reverse_unigene_matches ) {
70 <% columnar_table_html(
71 headings => ['Unigene','e value','Match length (bp)','Strand'],
73 ( map [ link_identifier($_->[0]), $_->[1], len_pct($_->[2], $r->{forward_seq}), '+' ], @$forward_unigene_matches ),
74 ( map [ link_identifier($_->[0]), $_->[1], len_pct($_->[2], $r->{reverse_seq}), '-' ], @$reverse_unigene_matches ),