2 package SGN
::Controller
::Genefamily
;
8 BEGIN { extends
'Catalyst::Controller'; }
10 sub genefamily_index
:Path
('/tools/genefamily') Args
(0) {
14 $c->stash->{template
} = '/tools/genefamily/index.mas';
18 sub search
: Path
('/tools/genefamily/search') Args
(0) {
23 # if (grep(/curator|genefamily_editor/, $c->user->get_object()->get_roles() )) {
25 $c->stash->{genefamily_id
} = $c->req->param("genefamily_id") || '';
26 $c->stash->{build
} = $c->req->param("build") || '';
27 $c->stash->{member_id
} = $c->req->param("member_id") || '';
28 $c->stash->{action
} = $c->req->param("action") || '';
30 $c->stash->{template
} = '/tools/genefamily/search.mas';
33 # $c->stash->{message} = "You do not have the necessary privileges to access this page.";
34 # $c->stash->{template} = "/generic_message.mas";
39 # $c->stash->{message} = "You need to be logged in to access this page.";
40 # $c->stash->{template} = "/generic_message.mas";
45 sub sequence_details
:Path
('/tools/genefamily/seq') Args
(3) {
52 my $gf = SGN
::Genefamily
->new(
55 files_dir
=> $c->config()->{genefamily_dir
},
58 print STDERR
"Trying to locate sequence $sequence\n";
60 my $seq_info = $gf->get_sequence($sequence);
62 my ($seq_id, $desc, $seq) = @
$seq_info;
63 $c->stash->{build
} = $build;
64 $c->stash->{family
} = $family;
65 $c->stash->{seq_id
} = $seq_id;
66 $c->stash->{desc
} = $desc || "[ no description provided ]";
67 $c->stash->{seq
} = $seq;
69 $c->stash->{template
} = '/tools/genefamily/sequence.mas';
74 sub get_family_fasta
:Path
('/tools/genefamily/fasta/') Args
(2) {
80 my $gf = SGN
::Genefamily
->new(
83 files_dir
=> $c->config()->{genefamily_dir
},
86 my $fasta_seq = $gf -> get_fasta
();
88 $c->stash->{build
} = $build;
89 $c->stash->{family
} = $family;
90 $c->stash->{fasta
} = $fasta_seq;
92 $c->stash->{template
} = '/tools/genefamily/fasta.mas';
95 sub genefamily_details
:Path
('/tools/genefamily/details') Args
(2) {
101 my $gf = SGN
::Genefamily
->new(
104 files_dir
=> $c->config()->{genefamily_dir
},
113 my $align_link_disabled = "";
114 my $fasta_link_disabled = "";
115 my $tree_link_disabled = "";
116 my $exp_link_disabled = "";
122 $c->stash->{template
} = '/generic_message.mas';
123 $c->stash->{message
} = 'Need a family to display!';
127 $c->stash->{genefamily_id
} = $family;
129 my $members = $gf->get_members($family);
131 print STDERR
"Members: ".Dumper
($members);
133 $c->stash->{member_count
} = scalar(@
$members);
134 $c->stash->{members
} = join(", ", @
$members);
138 $c->stash->{seq_data
} = $gf->get_alignment();
142 $errors .= "Alignment data not available. ";
144 $align_link_disabled="disabled";
148 $c->stash->{fasta_data
} = $gf->get_fasta();
153 $errors .= "Sequence data not available. ";
155 $fasta_link_disabled = "disabled";
158 $c->stash->{tree_data
} = $gf->get_tree();
161 $errors .= "Tree data not available. ";
162 $c->stash->{tree_link_disabled
} = "disabled"
165 $c->stash->{annot_data
} = $gf->get_annotation();
168 $errors .= "Annotation data not available. ";
169 $c->stash->{annot_data
} = "(No annotation data available)";
172 $errors .= "Expression data not available. ";
173 $c->stash->{exp_data
} = $gf->get_expression();
176 $c->stash->{exp_link_disabled
} = "disabled";
179 if ($big_errors > 0) {
180 $errors = "This family does not seem to exist!\n";
183 $c->stash->{template
} = '/tools/genefamily/details.mas';