1
# -*-Perl-*- Test Harness script for Bioperl
2
# $Id: epost.t 15112 2008-12-08 18:12:38Z sendu $
11
test_begin(-tests => 130,
12
-requires_module => 'XML::Simple');
14
use_ok('Bio::Tools::EUtilities');
15
use_ok('Bio::Tools::EUtilities::EUtilParameters');
18
# check -correspondence => 0 (default) - this is set up to return the
19
# exact same thing as correspondece = 1, tested below)
20
my $eutil = Bio::Tools::EUtilities->new(
22
-file => test_input_file('eutils','elink_acheck.xml'));
24
isa_ok($eutil, 'Bio::Tools::EUtilities::Link');
25
is(join(',',$eutil->get_databases), 'LinkOut,cdd,gene,genome,genomeprj,'.
26
'nuccore,pmc,protein,proteinclusters,pubmed,structure,taxonomy');
28
# for elinks, IDs are globbed together when called from the parser unless a database is specified
29
is(join(',',$eutil->get_ids('cdd')), '730439,68536103,1621261,20807972', 'get_ids');
30
is(join(',',$eutil->get_ids('LinkOut')), '730439,1621261,20807972', 'get_ids');
31
my @ls = $eutil->get_LinkSets;
32
is(scalar(@ls), 4, 'uncorrelated LinkSets lump everything together');
33
is(join(',',$ls[1]->get_databases), 'cdd,gene,genome,genomeprj,nuccore,pmc,'.
34
'protein,proteinclusters,pubmed,structure,taxonomy');
35
isa_ok($ls[0], 'Bio::Tools::EUtilities::EUtilDataI');
36
isa_ok($ls[0], 'Bio::Tools::EUtilities::Link::LinkSet');
38
# check data in LinkSets
39
is(join(',',$ls[0]->get_ids), '730439');
40
is(join(',',$ls[0]->get_databases), 'LinkOut,cdd,pmc,protein,pubmed,structure,'.
42
is(join(',',$ls[0]->get_submitted_ids), '730439');
43
is($ls[0]->get_dbfrom, 'protein');
44
is(join(',',$ls[0]->get_link_names), 'protein_cdd,protein_cdd_concise_2,'.
45
'protein_cdd_summary,protein_pmc,protein_protein,'.
46
'protein_protein_cdart_summary,protein_protein_identical,protein_pubmed,'.
47
'protein_structure_related,protein_taxonomy,ExternalLink');
48
is($ls[0]->has_scores, 0);
49
is($ls[0]->has_linkout, 1);
50
is($ls[0]->has_neighbor, 0);
51
my @info = $ls[0]->get_LinkInfo;
52
is(scalar(@info), 11);
53
is($info[1]->get_database, 'cdd');
54
is($info[1]->get_dbfrom, 'protein');
55
is($info[1]->get_link_name, 'protein_cdd_concise_2');
56
is($info[1]->get_link_description, undef);
57
is($info[1]->get_link_menu_name, 'Concise Conserved Domain Links');
58
is($info[1]->get_priority, 128);
59
is($info[1]->get_html_tag, undef);
60
is($info[1]->get_url, undef);
62
is($info[10]->get_database, 'LinkOut');
63
is($info[10]->get_dbfrom, 'protein');
64
is($info[10]->get_link_name, 'ExternalLink');
65
is($info[10]->get_link_description, undef);
66
is($info[10]->get_link_menu_name, 'LinkOut');
67
is($info[10]->get_priority, 255);
68
is($info[10]->get_html_tag, 'LinkOut');
69
is($info[10]->get_url, undef);
72
my @urls = $ls[0]->get_UrlLinks;
76
is($ls[0]->get_webenv, undef);
77
is($ls[0]->get_query_key, undef);
79
is(join(',',$ls[1]->get_ids), '68536103');
80
is(join(',',$ls[1]->get_databases), 'cdd,gene,genome,genomeprj,nuccore,pmc,'.
81
'protein,proteinclusters,pubmed,structure,taxonomy');
82
is(join(',',$ls[1]->get_submitted_ids), '68536103');
83
is(join(',',$ls[1]->get_link_names), 'protein_cdd,protein_cdd_concise_2,'.
84
'protein_cdd_summary,protein_gene,protein_genome,protein_genomeprj,'.
85
'protein_nuccore,protein_pmc,protein_protein,protein_protein_cdart_summary,'.
86
'protein_protein_identical,protein_proteinclusters,protein_pubmed,'.
87
'protein_pubmed_refseq,protein_structure_related,protein_taxonomy');
88
is($ls[1]->get_dbfrom, 'protein');
89
is($ls[1]->has_scores, 0);
90
is($ls[1]->has_linkout, 0);
91
is($ls[1]->has_neighbor, 0);
92
@info = $ls[1]->get_LinkInfo;
93
is(scalar(@info), 16);
94
is($info[1]->get_database, 'cdd');
95
is($info[1]->get_dbfrom, 'protein');
96
is($info[1]->get_link_name, 'protein_cdd_concise_2');
97
is($info[1]->get_link_description, undef);
98
is($info[1]->get_link_menu_name, 'Concise Conserved Domain Links');
99
is($info[1]->get_priority, 128);
100
is($info[1]->get_html_tag, undef);
101
is($info[1]->get_url, undef);
102
is($info[14]->get_database, 'structure');
103
is($info[14]->get_dbfrom, 'protein');
104
is($info[14]->get_link_name, 'protein_structure_related');
105
is($info[14]->get_link_description, undef);
106
is($info[14]->get_link_menu_name, undef);
107
is($info[14]->get_priority, 128);
108
is($info[14]->get_html_tag, 'Related Structure');
109
# Note the UID tag at end
110
is($info[14]->get_url, 'http://structure.ncbi.nlm.nih.gov/Structure/cblast/'.
111
'cblast.cgi?client=entrez&query_gi=<@UID@>');
114
@urls = $ls[1]->get_UrlLinks;
115
is(scalar(@urls), 0);
118
is($ls[1]->get_webenv, undef);
119
is($ls[1]->get_query_key, undef);
121
# check -correspondence => 1
122
$eutil = Bio::Tools::EUtilities->new(
124
-file => test_input_file('eutils','elink_acheck.xml'));
126
isa_ok($eutil, 'Bio::Tools::EUtilities::Link');
127
is(join(',',$eutil->get_databases), 'LinkOut,cdd,gene,genome,genomeprj,'.
128
'nuccore,pmc,protein,proteinclusters,pubmed,structure,taxonomy');
130
# for elinks, IDs are globbed together when called from the parser unless a database is specified
131
is(join(',',$eutil->get_ids('cdd')), '730439,68536103,1621261,20807972', 'get_ids');
132
is(join(',',$eutil->get_ids('LinkOut')), '730439,1621261,20807972', 'get_ids');
133
@ls = $eutil->get_LinkSets;
134
is(scalar(@ls), 4, 'correlated LinkSets separate ID data');
135
is(join(',',$ls[1]->get_databases), 'cdd,gene,genome,genomeprj,nuccore,pmc,'.
136
'protein,proteinclusters,pubmed,structure,taxonomy');
137
isa_ok($ls[0], 'Bio::Tools::EUtilities::EUtilDataI');
138
isa_ok($ls[0], 'Bio::Tools::EUtilities::Link::LinkSet');
140
# check data in LinkSets
141
is(join(',',$ls[0]->get_ids), '730439');
142
is(join(',',$ls[0]->get_databases), 'LinkOut,cdd,pmc,protein,pubmed,structure,'.
144
is(join(',',$ls[0]->get_submitted_ids), '730439');
145
is(join(',',$ls[0]->get_link_names), 'protein_cdd,protein_cdd_concise_2,'.
146
'protein_cdd_summary,protein_pmc,protein_protein,'.
147
'protein_protein_cdart_summary,protein_protein_identical,'.
148
'protein_pubmed,protein_structure_related,protein_taxonomy,ExternalLink');
149
is($ls[0]->get_dbfrom, 'protein');
150
is($ls[0]->has_scores, 0);
151
is($ls[0]->has_linkout, 1);
152
is($ls[0]->has_neighbor, 0);
153
@info = $ls[0]->get_LinkInfo;
154
is(scalar(@info), 11);
155
is($info[1]->get_database, 'cdd');
156
is($info[1]->get_dbfrom, 'protein');
157
is($info[1]->get_link_name, 'protein_cdd_concise_2');
158
is($info[1]->get_link_description, undef);
159
is($info[1]->get_link_menu_name, 'Concise Conserved Domain Links');
160
is($info[1]->get_priority, 128);
161
is($info[1]->get_html_tag, undef);
162
is($info[1]->get_url, undef);
164
is($info[10]->get_database, 'LinkOut');
165
is($info[10]->get_dbfrom, 'protein');
166
is($info[10]->get_link_name, 'ExternalLink');
167
is($info[10]->get_link_description, undef);
168
is($info[10]->get_link_menu_name, 'LinkOut');
169
is($info[10]->get_priority, 255);
170
is($info[10]->get_html_tag, 'LinkOut');
171
is($info[10]->get_url, undef);
174
@urls = $ls[0]->get_UrlLinks;
175
is(scalar(@urls), 0);
178
is($ls[0]->get_webenv, undef);
179
is($ls[0]->get_query_key, undef);
181
is(join(',',$ls[1]->get_ids), '68536103');
182
is(join(',',$ls[1]->get_databases), 'cdd,gene,genome,genomeprj,nuccore,pmc,'.
183
'protein,proteinclusters,pubmed,structure,taxonomy');
184
is(join(',',$ls[1]->get_submitted_ids), '68536103');
185
is($ls[1]->get_dbfrom, 'protein');
186
is(join(',',$ls[1]->get_link_names), 'protein_cdd,protein_cdd_concise_2,'.
187
'protein_cdd_summary,protein_gene,protein_genome,protein_genomeprj,'.
188
'protein_nuccore,protein_pmc,protein_protein,protein_protein_cdart_summary,'.
189
'protein_protein_identical,protein_proteinclusters,protein_pubmed,'.
190
'protein_pubmed_refseq,protein_structure_related,protein_taxonomy');
191
is($ls[1]->has_scores, 0);
192
is($ls[1]->has_linkout, 0);
193
is($ls[1]->has_neighbor, 0);
194
@info = $ls[1]->get_LinkInfo;
195
is(scalar(@info), 16);
196
is($info[1]->get_database, 'cdd');
197
is($info[1]->get_dbfrom, 'protein');
198
is($info[1]->get_link_name, 'protein_cdd_concise_2');
199
is($info[1]->get_link_description, undef);
200
is($info[1]->get_link_menu_name, 'Concise Conserved Domain Links');
201
is($info[1]->get_priority, 128);
202
is($info[1]->get_html_tag, undef);
203
is($info[1]->get_url, undef);
204
is($info[14]->get_database, 'structure');
205
is($info[14]->get_dbfrom, 'protein');
206
is($info[14]->get_link_name, 'protein_structure_related');
207
is($info[14]->get_link_description, undef);
208
is($info[14]->get_link_menu_name, undef);
209
is($info[14]->get_priority, 128);
210
is($info[14]->get_html_tag, 'Related Structure');
211
# Note the UID tag at end
212
is($info[14]->get_url, 'http://structure.ncbi.nlm.nih.gov/Structure/cblast/'.
213
'cblast.cgi?client=entrez&query_gi=<@UID@>');
216
@urls = $ls[1]->get_UrlLinks;
217
is(scalar(@urls), 0);
220
is($ls[1]->get_webenv, undef);
221
is($ls[1]->get_query_key, undef);