1 | There is a need to facilitate batch upload, creation, and modification
|
---|
2 | of items in BASE. Some batch tools already exists such as
|
---|
3 |
|
---|
4 | - batch upload of files using zip files
|
---|
5 | - batch creation of array slides
|
---|
6 | - batch addition/deletion of reporters
|
---|
7 | - import of annotations
|
---|
8 | - list views offer an import button but which view do actually offer
|
---|
9 | a plug-in that does anything?
|
---|
10 |
|
---|
11 | For a single or few experiment setting there is not so urgent need for
|
---|
12 | batch tools but for a microarray facility where many experiments are
|
---|
13 | prepared by facility staff the need is eminent. At a facility site
|
---|
14 | many experiments are conducted by few people and all data upload is
|
---|
15 | done by these staff members. To ease the upload of data to BASE we
|
---|
16 | suggest to create one or several plug-ins that can create or modify
|
---|
17 | several items in a batch by reading information from tab separated
|
---|
18 | files. The idea here is not to create one single monolithic plug-in
|
---|
19 | that imports a complete experiment and creates all necessary items,
|
---|
20 | but rather imports, creates, or modifies items for a given context and
|
---|
21 | makes the proper associations to parents. The word 'import' is used in
|
---|
22 | this document but it could just as well be create or modify depending
|
---|
23 | on user requirements.
|
---|
24 |
|
---|
25 | There is ongoing work on a full experiment import from tab2mage
|
---|
26 | formatted files, see
|
---|
27 | http://baseplugins.thep.lu.se/wiki/uk.ac.ebi.Tab2MageImporter.
|
---|
28 |
|
---|
29 | The plug-in requirements outlined here is to be used in a context
|
---|
30 | where the user ideally works interactively with BASE in a step-by-step
|
---|
31 | procedure. The idea is that the interaction with BASE starts on some
|
---|
32 | level and data is added from this level down. Here a sample work
|
---|
33 | session is outlined where RNA is extracted and labeled starting from
|
---|
34 | some source of biomaterial. In BASE this follows the path of biosource
|
---|
35 | - sample - extract - labeled extract, and the continuing with
|
---|
36 | hybridization - scan - raw bioassay - bioassay - bioassay sets -
|
---|
37 | analysis.
|
---|
38 |
|
---|
39 | Starting at the bio source level, the user must make an initial import
|
---|
40 | of biosource information or use the BASE web interface for adding
|
---|
41 | biosource items. Samples are created from these biosources, in BASE
|
---|
42 | context this means that sample information needs to be added. In this
|
---|
43 | example we want to associate the samples to their parents, changing
|
---|
44 | sample properties follows a similar path but the import files do not
|
---|
45 | require parent information. The import of sample data is started with
|
---|
46 | selecting the biosources associated with the samples in BASE, and then
|
---|
47 | exporting this information to a file. This file is used as a template
|
---|
48 | for entering sample data to be stored in BASE. The reason for using
|
---|
49 | this template is to ensure that the correct biosource identifiers are
|
---|
50 | used for the samples. (A user can of course create the file without the
|
---|
51 | export from BASE but has to make sure that items are properly
|
---|
52 | referenced.) The biosource identifiers are required for making
|
---|
53 | parent-child association within BASE. When the samples are added to
|
---|
54 | this file, the file is imported into BASE. After this import, the
|
---|
55 | sample information is exported to a file again, and this file is used
|
---|
56 | as a template for the extracts information. Again, the reason for this
|
---|
57 | is to make sure that proper BASE identifiers are used. Extract
|
---|
58 | information is added to the template and imported back to BASE. This
|
---|
59 | procedure is performed for each level of data entry.
|
---|
60 |
|
---|
61 | The information optionally exported to be used as templates above are
|
---|
62 | simple tab separated files with a few columns of information about the
|
---|
63 | items. The columns exported have a two-fold purpose; i) make sure that
|
---|
64 | BASE can make the proper associations when importing data, ii) guide
|
---|
65 | the users when adding information to the template file, i.e.,
|
---|
66 | descriptive names for human interpretation.
|
---|
67 |
|
---|
68 | Items that should be supported by the item importer(s) are:
|
---|
69 |
|
---|
70 | - Biosources: top level, currently no parent items to associate
|
---|
71 |
|
---|
72 | - Samples: biosource (or pooled samples) to associate. Create sample
|
---|
73 | events for pools to decrease pooled samples.
|
---|
74 |
|
---|
75 | - Extracts: samples (or pooled extracts) and protocols to
|
---|
76 | associate. Create sample events to decrease sample amounts and
|
---|
77 | extract events to decrease extract amounts for pooled extracts.
|
---|
78 |
|
---|
79 | - Labeled extracts: extracts (or pooled labeled extracts) and
|
---|
80 | protocols to associate. Create extract events to decrease extract
|
---|
81 | amounts and labeled extract events to decrease pooled amounts.
|
---|
82 |
|
---|
83 | - Hybridizations: multiple lableled extracts, ... more to come
|
---|
84 | - scan: ...
|
---|
85 | - Raw bioassays: ...
|
---|
86 | - Experiments: ...
|
---|
87 | + bioassay
|
---|
88 | + bioassay sets
|
---|
89 | + analysis
|
---|
90 |
|
---|
91 |
|
---|
92 | A detailed discussion on the different export/import steps, sample
|
---|
93 | files for the different item types are available as attachements to
|
---|
94 | ticket 1028 (http://base.thep.lu.se/ticket/1028) at the BASE web site.
|
---|
95 |
|
---|
96 | Sample files based on trunk revision 4301 were exported and modified
|
---|
97 | for items from biosource level down to the labeled extracts level. An
|
---|
98 | OpenOffice.org spreadsheet (batchimport_sample.ods) that contain
|
---|
99 | format information with explanations in one document is also
|
---|
100 | available. A tentatiove aim is that the spreadsheet may be used by
|
---|
101 | laborative staff to fill information to be used in import to BASE.
|
---|
102 |
|
---|
103 | Dry-run that explain what will be done during import should be
|
---|
104 | supported. Potential dangers and errors should be reported. This will
|
---|
105 | allow the user to check that the import will behave as expected.
|
---|
106 |
|
---|
107 |
|
---|
108 | Biosource
|
---|
109 |
|
---|
110 | This is currently the top level of associations. No association are
|
---|
111 | needed except for the optional reference to an external item (a
|
---|
112 | property of the biosource). The import is a straightforward tab
|
---|
113 | separated import to fill the item properties.
|
---|
114 |
|
---|
115 | Fields to import are: 'Name', 'Description', 'External id'
|
---|
116 |
|
---|
117 | Mandatory columns for imports: 'Name'
|
---|
118 |
|
---|
119 | Sample export file: biosource_out.txt
|
---|
120 | Sample import file: biosource_in.txt
|
---|
121 |
|
---|
122 |
|
---|
123 | Sample
|
---|
124 |
|
---|
125 | The import of item properties is a straightforward tab separated
|
---|
126 | import. Compared to biosource items there are additional columns for
|
---|
127 | associations to other items (the parent biosource and protocol). There
|
---|
128 | is one parent only if the parent is a biosource, pooled samples may
|
---|
129 | have multiple parents (other samples) defined using multiple lines.
|
---|
130 |
|
---|
131 | Pooled samples create 'Event's that decrease the parent amount.
|
---|
132 |
|
---|
133 | Fields to import are: 'Name', 'Original quantity (µg)', 'Description',
|
---|
134 | 'External id', 'Protocol', 'Created', 'Pooled'
|
---|
135 |
|
---|
136 | Items to make associations to: Biosource
|
---|
137 |
|
---|
138 | Mandatory columns for imports: 'Name'
|
---|
139 |
|
---|
140 | The important difference compared with biosource items is the possible
|
---|
141 | associations to bioassays and protcols.
|
---|
142 |
|
---|
143 | Sample export file: sample_out.txt
|
---|
144 | Sample import file: sample_in.txt
|
---|
145 |
|
---|
146 |
|
---|
147 | Extract
|
---|
148 |
|
---|
149 | The import of item properties is a straightforward tab separated
|
---|
150 | import. There are additional columns for associations to the parent
|
---|
151 | item and other items. There is one parent only if the parent is a
|
---|
152 | sample, pooled extracts may have multiple parents (other extracts)
|
---|
153 | defined using multiple lines.
|
---|
154 |
|
---|
155 | Extracts and pooled extracts create 'Event's that decrease the parent
|
---|
156 | amount.
|
---|
157 |
|
---|
158 | Fields to import are: 'Name', 'Original quantity (µg)', 'Description',
|
---|
159 | 'External id', 'Protocol', 'Created', 'Pooled'
|
---|
160 |
|
---|
161 | Items to make associations to: Sample (also decrease quantity),
|
---|
162 | Protocol
|
---|
163 |
|
---|
164 | Mandatory columns for imports: 'Name'
|
---|
165 |
|
---|
166 | Extract export file: extract_out.txt
|
---|
167 | Extract import file: extract_in.txt
|
---|
168 |
|
---|
169 |
|
---|
170 | Labeled Extract
|
---|
171 |
|
---|
172 | The import of item properties is a straightforward tab separated
|
---|
173 | import. There are additional columns for associations to the parent
|
---|
174 | item and other items. There is one parent only if the
|
---|
175 | parent is an extract, pooled labeled extracts may have multiple
|
---|
176 | parents (other labeled extracts) defined using multiple lines.
|
---|
177 |
|
---|
178 | There is an additional column as compared to the extract items, Label.
|
---|
179 |
|
---|
180 | Fields to import are: 'Name', 'Label', 'Original quantity (µg)',
|
---|
181 | 'Description', 'External id', 'Protocol', 'Created', 'Pooled'
|
---|
182 |
|
---|
183 | Items to make associations to: Extract (also decrease quantity),
|
---|
184 | Protocol, Label
|
---|
185 |
|
---|
186 | Mandatory columns for imports: 'Name'
|
---|
187 |
|
---|
188 | Labeledextract export file: labeledextract_out.txt
|
---|
189 | Labeledextract import file: labeledextract_in.txt
|
---|
190 |
|
---|
191 |
|
---|
192 | Hybridization (To be written)
|
---|
193 | Below text is just copy/pasted.
|
---|
194 |
|
---|
195 | The import of item properties is a straightforward tab separated
|
---|
196 | import. There are additional columns for associations to the parent
|
---|
197 | item and other items. There is one parent only if the
|
---|
198 | parent is an extract, pooled labeled extracts may have multiple
|
---|
199 | parents (other labeled extracts) defined using multiple lines.
|
---|
200 |
|
---|
201 | There is an additional column as compared to the extract items, Label.
|
---|
202 |
|
---|
203 | Fields to import are: 'Name', 'Label', 'Original quantity (µg)',
|
---|
204 | 'Description', 'External id', 'Protocol', 'Created', 'Pooled'
|
---|
205 |
|
---|
206 | Items to make associations to: Extract (also decrease quantity),
|
---|
207 | Protocol, Label
|
---|
208 |
|
---|
209 | Mandatory columns for imports: 'Name'
|
---|
210 |
|
---|
211 | Hybridization export file: hybridization_out.txt
|
---|
212 | Hybridization import file: hybrdidization_in.txt
|
---|
213 |
|
---|
214 |
|
---|
215 | Scan (To be written)
|
---|
216 | Below text is just copy/pasted.
|
---|
217 |
|
---|
218 | The import of item properties is a straightforward tab separated
|
---|
219 | import. There are additional columns for associations to the parent
|
---|
220 | item and other items. There is one parent only if the
|
---|
221 | parent is an extract, pooled labeled extracts may have multiple
|
---|
222 | parents (other labeled extracts) defined using multiple lines.
|
---|
223 |
|
---|
224 | There is an additional column as compared to the extract items, Label.
|
---|
225 |
|
---|
226 | Fields to import are: 'Name', 'Label', 'Original quantity (µg)',
|
---|
227 | 'Description', 'External id', 'Protocol', 'Created', 'Pooled'
|
---|
228 |
|
---|
229 | Items to make associations to: Extract (also decrease quantity),
|
---|
230 | Protocol, Label
|
---|
231 |
|
---|
232 | Mandatory columns for imports: 'Name'
|
---|
233 |
|
---|
234 | Scan export file: scan_out.txt
|
---|
235 | Scan import file: scan_in.txt
|
---|
236 |
|
---|
237 |
|
---|
238 | Raw bioassay (To be written)
|
---|
239 | Below text is just copy/pasted.
|
---|
240 |
|
---|
241 | The import of item properties is a straightforward tab separated
|
---|
242 | import. There are additional columns for associations to the parent
|
---|
243 | item and other items. There is one parent only if the
|
---|
244 | parent is an extract, pooled labeled extracts may have multiple
|
---|
245 | parents (other labeled extracts) defined using multiple lines.
|
---|
246 |
|
---|
247 | There is an additional column as compared to the extract items, Label.
|
---|
248 |
|
---|
249 | Fields to import are: 'Name', 'Label', 'Original quantity (µg)',
|
---|
250 | 'Description', 'External id', 'Protocol', 'Created', 'Pooled'
|
---|
251 |
|
---|
252 | Items to make associations to: Extract (also decrease quantity),
|
---|
253 | Protocol, Label
|
---|
254 |
|
---|
255 | Mandatory columns for imports: 'Name'
|
---|
256 |
|
---|
257 | rawbioassay export file: rawbioassay_out.txt
|
---|
258 | rawbioassay import file: rawbioassay_in.txt
|
---|
259 |
|
---|
260 |
|
---|
261 | Experiment (To be written)
|
---|
262 | Below text is just copy/pasted.
|
---|
263 |
|
---|
264 | The import of item properties is a straightforward tab separated
|
---|
265 | import. There are additional columns for associations to the parent
|
---|
266 | item and other items. There is one parent only if the
|
---|
267 | parent is an extract, pooled labeled extracts may have multiple
|
---|
268 | parents (other labeled extracts) defined using multiple lines.
|
---|
269 |
|
---|
270 | There is an additional column as compared to the extract items, Label.
|
---|
271 |
|
---|
272 | Fields to import are: 'Name', 'Label', 'Original quantity (µg)',
|
---|
273 | 'Description', 'External id', 'Protocol', 'Created', 'Pooled'
|
---|
274 |
|
---|
275 | Items to make associations to: Extract (also decrease quantity),
|
---|
276 | Protocol, Label
|
---|
277 |
|
---|
278 | Mandatory columns for imports: 'Name'
|
---|
279 |
|
---|
280 | Experiment export file: experiment_out.txt
|
---|
281 | Experiment import file: experiment_in.txt
|
---|