1Ace::Sequence::Multi(3)User Contributed Perl DocumentatioAnce::Sequence::Multi(3)
2
3
4
6 Ace::Sequence::Multi - Combine Feature Tables from Multiple Databases
7
9 use Ace::Sequence::Multi;
10
11 # open reference database
12 $ref = Ace->connect(-host=>'stein.cshl.org',-port=>200009);
13
14 # open some secondary databases
15 $db1 = Ace->connect(-host=>'stein.cshl.org',-port=>200010);
16 $db2 = Ace->connect(-path=>'/usr/local/acedb/mydata');
17
18 # Make an Ace::Sequence::Multi object
19 $seq = Ace::Sequence::Multi->new(-name => 'CHROMOSOME_I,
20 -db => $ref,
21 -offset => 3_000_000,
22 -length => 1_000_000);
23
24 # add the secondary databases
25 $seq->add_secondary($db1,$db2);
26
27 # get all the homologies (a list of Ace::Sequence::Feature objs)
28 @homol = $seq->features('Similarity');
29
30 # Get information about the first one -- goes to the correct db
31 $feature = $homol[0];
32 $type = $feature->type;
33 $subtype = $feature->subtype;
34 $start = $feature->start;
35 $end = $feature->end;
36 $score = $feature->score;
37
38 # Follow the target
39 $target = $feature->info;
40
41 # print the target's start and end positions
42 print $target->start,'-',$target->end, "\n";
43
45 Ace::Sequence::Multi transparently combines information stored about a
46 sequence in a reference database with features tables from any number
47 of annotation databases. The resulting object can be used just like an
48 Ace::Sequence object, except that the features remember their database
49 of origin and go back to that database for information.
50
51 This class will only work properly if the reference database and all
52 annotation databases share the same cosmid map.
53
55 You will use the new() method to create new Ace::Sequence::Multi
56 objects. The arguments are identical to the those in the Ace::Sequence
57 parent class, with the addition of an option -secondary argument, which
58 points to one or more secondary databases from which to fetch
59 annotation information.
60
61 -source
62 The sequence source. This must be an Ace::Object of the "Sequence"
63 class, or be a sequence-like object containing the SMap tag (see
64 below).
65
66 -offset
67 An offset from the beginning of the source sequence. The retrieved
68 Ace::Sequence will begin at this position. The offset can be any
69 positive or negative integer. Offets are 0-based.
70
71 -length
72 The length of the sequence to return. Either a positive or
73 negative integer can be specified. If a negative length is given,
74 the returned sequence will be complemented relative to the source
75 sequence.
76
77 -refseq
78 The sequence to use to establish the coordinate system for the
79 returned sequence. Normally the source sequence is used to
80 establish the coordinate system, but this can be used to override
81 that choice. You can provide either an Ace::Object or just a
82 sequence name for this argument. The source and reference
83 sequences must share a common ancestor, but do not have to be
84 directly related. An attempt to use a disjunct reference sequence,
85 such as one on a different chromosome, will fail.
86
87 -name
88 As an alternative to using an Ace::Object with the -source
89 argument, you may specify a source sequence using -name and -db.
90 The Ace::Sequence module will use the provided database accessor to
91 fetch a Sequence object with the specified name. new() will return
92 undef is no Sequence by this name is known.
93
94 -db This argument is required if the source sequence is specified by
95 name rather than by object reference. It must be a previously
96 opened handle to the reference database.
97
98 -secondary
99 This argument points to one or more previously-opened annotation
100 databases. You may use a scalar if there is only one annotation
101 database. Otherwise, use an array reference. You may add and
102 delete annotation databases after the object is created by using
103 the add_secondary() and delete_secondary() methods.
104
105 If new() is successful, it will create an Ace::Sequence::Multi object
106 and return it. Otherwise it will return undef and return a descriptive
107 message in Ace->error(). Certain programming errors, such as a failure
108 to provide required arguments, cause a fatal error.
109
111 Most methods are inherited from Ace::Sequence. The following
112 additional methods are supported:
113
114 secondary()
115 @databases = $seq->secondary;
116
117 Return a list of the secondary databases currently in use, or an
118 empty list if none.
119
120 add_secondary()
121 $seq->add_secondary($db1,$db2,...)
122
123 Add one or more secondary databases to the list of annotation
124 databases. Duplicate databases will be silently ignored.
125
126 delete_secondary()
127 $seq->delete_secondary($db1,$db2,...)
128
129 Delete one or more secondary databases from the list of annotation
130 databases. Databases not already in use will be silently ignored.
131
133 Ace, Ace::Object, Ace::Sequence,Ace::Sequence::Homol,
134 Ace::Sequence::FeatureList, Ace::Sequence::Feature, GFF
135
137 Lincoln Stein <lstein@w3.org> with extensive help from Jean Thierry-
138 Mieg <mieg@kaa.crbm.cnrs-mop.fr>
139
140 Copyright (c) 1999, Lincoln D. Stein
141
142 This library is free software; you can redistribute it and/or modify it
143 under the same terms as Perl itself. See DISCLAIMER.txt for
144 disclaimers of warranty.
145
146
147
148perl v5.32.0 2020-07-28 Ace::Sequence::Multi(3)