[% META title="FluidX XTR-96 Plate Reader Import" %]
[% # INCLUDE dumper.tt dump = data %]
[% # INCLUDE dumper.tt dump = data.storage %]
[% BLOCK form_header %]action="[% app_url %]/storage/read_xtr_96" name="do_scan"
id="do_scan" onsubmit="return submitForm(this.scan);" method="post"[% END %]
[% IF data.size; # INCLUDE dumper.tt dump = data;
import(data); # provides 'plate_data', 'storage' & 'plateId' keys
missing_id = 'RACK ID MISSING';
USE format; concat =
# format('%s%02d'); # xtr-96
format('%s%s'); # intellicode
# plate wells, A1-D6 for 24-well, A1-F8 for 48-well, A1-H12 for 96-well:
alpha_min = 'A'; numbr_min = 1;
alpha_max = well_max.alpha_max;
numbr_max = well_max.numbr_max;
%]
[% IF storage.have_missing; # INCLUDE dumper.tt dump = storage.have_missing %]
Warning: unknown vial(s) present - either
uncatalogued or already removed. Requires resolution before
import/export.
[% END %]
| Plate ID :: [% plateId || missing_id %] |
[% FOREACH row IN [alpha_min .. alpha_max] %]
[% FOREACH col IN [numbr_min .. numbr_max]; # INCLUDE dumper.tt dump = [row, col];
cell = concat(row,col); # ie format('%s%02d')
# highlight if vialId NOT already in catalog:
IF storage.rack_data.item(plate_data.${cell});
class = 'xtr-96-vial';
ELSIF plate_data.${cell}.match('No Tube');
class = 'bold';
ELSE; class = 'red'; END; # probably 'No Read'
%]
|
[% cell %]
[% plate_data.${cell} %]
|
[% END %]
[% END %]
|
|
[% IF plateId AND NOT storage.have_missing; # will need to fix & re-scan %]
[% storage_rack_dfv_js %]
[% END %]
[% ELSIF can_scan; %]
[% ELSE %]
Cannot activate plate reader at
[% xtr_96_addr %] from remote location
[% remote_addr %]
[% END %]