Merge pull request #4106 from solgenomics/topic/wishlist
[sgn.git] / mason / feature / feature_data.mas
blob84ff02947a7ed65fd5fb44491646ae973049bba4
1 <%args>
2     $feature
3     $title   => 'Feature'
4     $description_from => [ $feature ]
5     $featurelocs
6 </%args>
9 <% info_table_html(
10     'Name'          => feature_link( $feature ),
11     ( $synonyms ? ( 'Synonyms / aliases' => $synonyms ) : () ),
12     'Type'          => cvterm_link( $feature->type, 'caps' ),
13     ( $length ? ( 'Length'        => $length ) : () ),
14     'Organism' => organism_link($feature->organism),
15      __border => 0,
16      __multicol => 4
17    )
20 <% info_table_html(
21     ( $description ? ( 'Description'   => $description || '<span class="ghosted">none</span>' ) : () ),
22     ( $featurelocs->count ? ( 'Location(s)'   => join('', map "<div>$_</div>\n", location_list( $feature, $featurelocs )) ) : () ),
23     ( $cvterms_html =~ /\S/ ? ( 'Ontology term(s)' => $cvterms_html ) : () ),
24      __border => 0,
25 )%>
27 <& /feature/dbxrefs.mas, dbxrefs => [ $feature->dbxref, $feature->secondary_dbxrefs ]  &>
29 <%once>
30     use SGN::View::Feature qw/
31         feature_link cvterm_link organism_link feature_length
32         get_descriptions
33         location_list_html
34         location_list
35         /;
36     use CXGN::Page::FormattingHelpers qw/info_table_html/;
37     use CXGN::Tools::Identifiers;
38     use CXGN::Tools::Text qw/commify_number/;
39 </%once>
40 <%init>
42     my $description  = join( '<br />', grep $_, map get_descriptions($_), @$description_from );
44     my $length = commify_number( feature_length( $feature, $feature->search_related('featureloc_features') ) );
46     my $cvterms_html = $m->scomp( '/feature/feature_cvterms.mas', feature => $feature );
48     my $synonyms =
49         join ', ',
50         map { s/(\S+)/my $id = $1; CXGN::Tools::Identifiers::link_identifier($id) || $id/ge; $_ }
51         map $_->synonym_sgml,
52         grep $_->name ne $feature->name,
53         $feature->synonyms;
55 </%init>