annotate variant_effect_predictor/Bio/SearchIO/chado.pm @ 3:d30fa12e4cc5 default tip

Merge heads 2:a5976b2dce6f and 1:09613ce8151e which were created as a result of a recently fixed bug.
author devteam <devteam@galaxyproject.org>
date Mon, 13 Jan 2014 10:38:30 -0500
parents 1f6dce3d34e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 # $Id: chado.pm,v 1.1 2002/12/03 08:13:55 cjm Exp $
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 # BioPerl module for Bio::SearchIO::chado
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 # Chris Mungall <cjm@fruitfly.org>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 # You may distribute this module under the same terms as perl itself
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 # POD documentation - main docs before the code
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 Bio::SearchIO::chado - chado sequence input/output stream
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 It is probably best not to use this object directly, but
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 rather go through the SearchIO handler system. Go:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20 $stream = Bio::SearchIO->new(-file => $filename, -format => 'chado');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 while ( my $seq = $stream->next_seq() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 # do something with $seq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 This object can transform Bio::Seq objects to and from chado flat
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 file databases. CURRENTLY ONLY TO
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 =head2 Optional functions
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 =over 3
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 =item _show_dna()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 (output only) shows the dna or not
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 =item _post_sort()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 (output only) provides a sorting func which is applied to the FTHelpers
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 before printing
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 =back
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 =head1 FEEDBACK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 =head2 Mailing Lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 User feedback is an integral part of the evolution of this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 and other Bioperl modules. Send your comments and suggestions preferably
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 to one of the Bioperl mailing lists.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 Your participation is much appreciated.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 bioperl-l@bioperl.org - General discussion
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 http://www.bioperl.org/MailList.shtml - About the mailing lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 =head2 Reporting Bugs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 Report bugs to the Bioperl bug tracking system to help us keep track
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 the bugs and their resolution.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 Bug reports can be submitted via email or the web:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 bioperl-bugs@bio.perl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 http://bio.perl.org/bioperl-bugs/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 =head1 AUTHOR - Chris Mungall
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 Email cjm@fruitfly.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 =head1 APPENDIX
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 # Let the code begin...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 package Bio::SearchIO::chado;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 use Bio::SearchIO;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 use Bio::SeqFeature::Generic;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 use Bio::Seq::SeqFactory;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 use Bio::Annotation::Collection;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 use Bio::Annotation::Comment;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 use Bio::Annotation::Reference;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 use Bio::Annotation::DBLink;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 use Bio::SeqIO::chado;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 use Data::Stag qw(:all);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 # should really inherit off of a chado helper...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 @ISA = qw(Bio::SearchIO Bio::SeqIO::chado);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 sub _initialize {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 my($self,@args) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 $self->SUPER::_initialize(@args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 my $wclass = $self->default_handler_class;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 $self->handler($wclass->new);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 $self->{_end_of_data} = 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 $self->handler->S("chado");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 return;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 sub DESTROY {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 $self->end_of_data();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 $self->SUPER::DESTROY();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 sub end_of_data {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 $self->{_end_of_data} = 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 $self->handler->E("chado");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 sub default_handler_class {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 return "Data::Stag::BaseHandler";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 =head2 write_result
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 Title : write_result
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 Usage : $stream->write_result($result)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 Function: writes the $result object (must be result) to the stream
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 Returns : 1 for success and 0 for error
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 Args : Bio::Result
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 sub write_result {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 my ($self,$result) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 if( !defined $result ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 $self->throw("Attempting to write with no result!");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 my $w = $self->handler;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 $w->S("result");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 # my $result_temp_uid = $self->get_temp_uid($result);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 my @stats =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 (map {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 [analysisprop=>[
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 [pkey=>$_],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 [pval=>$result->get_statistic($_)]]]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 } $result->available_statistics);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 my @params =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 (map {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 [analysisprop=>[
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 [pkey=>$_],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 [pval=>$result->get_parameter($_)]]]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 } $result->available_parameters);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 my $cid = $self->get_temp_uid($result);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 $w->ev(companalysis=>[
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 [companalysis_id=>$cid],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 [datasource=>$result->database_name],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 @stats,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 @params,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 ]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 while( my $hit = $result->next_hit ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 # process the Bio::Search::Hit::HitI object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 $self->write_hit($hit, $cid);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 $w->E("result");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 return 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 sub write_hit {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 my $hit = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 my $cid = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 my $w = $self->handler;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 my $hit_id = $self->get_temp_uid($hit);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 # we should determine the type by the type of blast;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 # eg blastx gives CDS for hit and CDS_exon for HSP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 my $fnode =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 [feature=> [
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 [feature_id=>$hit_id],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 [name=>$hit->name],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 [typename=>"hit"],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 [analysisfeature=>[
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 [rawscore=>$hit->raw_score],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 [significance=>$hit->significance],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 [analysis_id=>$cid]]]]];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 $w->ev(@$fnode);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 foreach my $hsp ( $hit->hsps) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 $self->write_hsp($hsp, $hit_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 return 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 sub write_hsp {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 my $hsp = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 my $hid = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 my $w = $self->handler;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 my $hsp_id = $self->get_temp_uid($hsp);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 my $order = 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 my @lnodes =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 map {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 my ($nbeg, $nend, $strand) =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 $self->bp2ib([$hsp->start($_),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 $hsp->end($_),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 $hsp->strand($_)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 ]);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 my $src = $_ eq 'query' ? $hsp->query->seq_id : $hsp->hit->seq_id;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 [featureloc=>[
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 [nbeg=>$nbeg],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 [nend=>$nend],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 [strand=>$strand],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 [srcfeature=>$src],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 [group=>0],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 [order=>$order++],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 ]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 ]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 } qw(query subject);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 my $fnode =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 [feature => [
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 [feature_id=>$hsp_id],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 [typename=>"hsp"],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 [analysisfeature=>[
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 [rawscore=>$hsp->score],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 [significance=>$hsp->significance],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 ]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 ],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 @lnodes,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 ]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 ];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 $w->ev(@$fnode);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245 $w->ev(feature_relationship=>[
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 [subjfeature_id=>$hsp_id],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247 [objfeature_id=>$hid]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248 ]
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 return 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 1;