Opened 9 years ago
Closed 9 years ago
#801 closed task (fixed)
MeLuDI library preparation wizards first version
Reported by: | olle | Owned by: | olle |
---|---|---|---|
Priority: | major | Milestone: | MeLuDI v1.4.0 |
Component: | net.sf.basedb.meludi | Keywords: | |
Cc: |
Description
This ticket covers updates related to the first version of the MeLuDI library preparation wizards. The purpose of the ticket is to collect code changes related to the first library preparation wizards in one place. The ticket may span over several MeLuDI versions, since it was decided to release new additions for testing outside the development environment at an early stage, in order to get feedback for improvements.
Change History (185)
comment:1 by , 9 years ago
Status: | new → assigned |
---|
comment:2 by , 9 years ago
Traceability note:
- MeLuDi v.1.0 was introduced in Ticket #690 (MeLuDi - Registration wizard for melanoma-lung cancer projects).
- MeLuDi v.1.1 was introduced in Ticket #718 (MeLuDi v.1.0 bug fixes and improvements).
- MeLuDi v.1.2 was introduced in Ticket #725 (MeLuDi v.1.1 bug fixes and improvements).
- MeLuDI v.1.2.1 was introduced in Ticket #759 (MeLuDi v.1.2 bug fixes and improvements).
- MeLuDI v.1.2.2 was introduced in Ticket #767 (MeLuDI v.1.2.1 bug fixes and improvements).
- MeLuDI v.1.2.3 was introduced in Ticket #768 (MeLuDI v.1.2.2 bug fixes and improvements).
- MeLuDI v.1.2.4 was introduced in Ticket #777 (MeLuDI v.1.2.3 bug fixes and improvements).
- MeLuDI v.1.2.5 was introduced in Ticket #786 (MeLuDI v.1.2.4 bug fixes and improvements).
- MeLuDI v.1.3.1 was introduced in Ticket #792 (MeLuDI v.1.2.5 bug fixes and improvements).
comment:5 by , 9 years ago
(In [3449]) Refs #801. Refs #792. First experimental version of library preparation wizards for MeLuDI:
Updates of previous files:
- XML servlet configuration file
servlets.xml
inMETA-INF/
updated with entries for new servlet classesLibPrepServlet
andDnaServlet
. - JSP file
index.jsp
inresources/
updated with new section for library preparation wizards, containing links to three wizards. In view of the experimental character of the latter (especially the ones related to protocol creation and barcode assignment), the section header has been given the extra caution "(Experimental - For testing only)
". - CSS file
plate.css
inresources\css\
updated by increasing the well width from 90 to 100 pixels, in view of the longer storage location names in MeLuDI, relative to Reggie. - Data access object class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new annotation types related to library preparation. - Data access object class/file
BioPlateType.java
insrc/net/sf/basedb/meludi/dao/
updated with new bioplate typeLIBRARY
, and allowing plate name prefix and number of digits in name to be editable. - Data access object class/file
Dna.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static methodList<Dna> toList(Collection<Extract> extracts)
. - Data access object class/file
MeludiRole.java
insrc/net/sf/basedb/meludi/dao/
updated with new rolesLIBRARY_PREP
andLIBRARY_PLATE_DESIGNER
. - Data access object class/file
Subtype.java
insrc/net/sf/basedb/meludi/dao/
updated by adding new attributeString itemSuffix
, and new public methodBasicItem getLatestProjectDefault(DbControl dc)
. - Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
to include the new extract annotation types, and install barcodes.
New files related to library preparation:
- CSS file
startplate.css
inresources\css\
added. It is a modified version ofplate.css
, that restricts highlights to the left half of the plate, since any change in that half should be replicated with a corresponding change in the right half. - Image file
manual_dna.png
inresources/images/
added. - JSP and javascript files related to the first version of library preparation wizards added to
resources/libprep/
:
a. assign_barcodes.js
b. assign_barcodes.jsp
c. auto_select_dna.js
d. auto_select_dna.jsp
e. dna_protocol.js
f. dna_protocol.jsp
g. dna_protocol2.jsp
h. libprep_protocol.js
i. libprep_protocol.jsp
j. libprep_protocol2.jsp
k. pools.js
l. select_dna.js
m. select_dna.jsp
n. select_dna_for_start_plate.js
o. select_dna_for_start_plate.jsp
p. select_file.js
q. select_file.jsp - Data access object classes/files
Library.java
andPooledLibrary.java
insrc/net/sf/basedb/meludi/dao/
added. - Java servlet classes/files
DnaServlet.java
andLibPrepServlet.java
insrc/net/sf/basedb/meludi/servlet/
added.
comment:6 by , 9 years ago
comment:7 by , 9 years ago
comment:9 by , 9 years ago
Milestone: | MeLuDI v1.3.1 → MeLuDI v1.3.2 |
---|
Milestone changed to MeLuDI v1.3.2, as MeLuDI v1.3.1 has been released.
comment:10 by , 9 years ago
(In [3456]) Refs #801. Refs #802. Library preparation wizard for creating a new start plate updated in step 3 form by exchanging references to "Controller" for "Control":
- JSP file
select_dna_for_start_plate.jsp
inresources/libprep/
updated in step 3 form by exchanging references to "Controller" for "Control".
comment:11 by , 9 years ago
(In [3457]) Refs #801. Refs #802. Library preparation wizard for creating a new start plate updated in step 3 form by fix of bug for manual selection:
- Javascript file
select_dna_for_start_plate.js
inresources/libprep/
updated in functionmanuallySelected(event)
by fix of bug preventing placement of more than the first FPA aliquot (variables "row" and "column" had not been defined and given values, when used to find the FPB well on the right side of the plate from the FPA well).
comment:12 by , 9 years ago
(In [3458]) Refs #801. Refs #802. Library preparation wizard for creating a new start plate updated in step 3 form by fix of bug for manual selection:
- Javascript file
select_dna_for_start_plate.js
inresources/libprep/
updated in functionmanuallySelected(event)
by fix of two bugs:
a. Fix of bug in code creating JSONArray of modified wells. If the number of selected items was larger than the number of selected wells, the array previously included a gap of undefined array items between the modified FPA wells and FPB wells.
b. Removal of test code making extra item placements starting from the upper left well and continuing downwards.
comment:13 by , 9 years ago
(In [3459]) Refs #801. Refs #802. Library preparation wizard for creating a new start plate updated in step 3 form by adapting routine for loading data from file to placing FPA and FPB aliquots on plate:
- Javascript file
select_dna_for_start_plate.js
inresources/libprep/
updated in functionparseDnaFile(data)
adapting routine for loading data from file to placing FPA and FPB aliquots on plate. - Javascript file
select_file.js
inresources/libprep/
updated by referring to DNA instead of RNA.
comment:14 by , 9 years ago
(In [3460]) Refs #801. Refs #802. Library preparation wizard for creating a new start plate updated in step 3 form by fix of bug in routine for loading data from file, when column number 7 is addressed in the file:
- Javascript file
select_dna_for_start_plate.js
inresources/libprep/
updated in functionparseDnaFile(data)
by fix of bug, when column number 7 is addressed in the file. The condition for checking what columns are allowed for FPA extracts uses a column variable adjusted to numbering columns 0-11, instead of 1-12, so the first column number for FPB extracts is 6, not 7.
comment:15 by , 9 years ago
(In [3461]) Refs #801. Refs #802. Library preparation wizard for creating a new start plate updated by placing selected DNA extracts on plate depending on information on the last used column (1-6) for FPA extracts, using current TruSight library preparation kit. The columns are proposed according to a cyclic scheme, intending to make best use of the barcode reagents in a kit:
- JSP file
select_dna_for_start_plate.jsp
inresources/libprep/
updated in step 2 form by addition of pop-up menu for selecting last used column (1-6) for FPA extracts, using current TruSight library preparation kit. This will simulate the resulting proposed DNA layout of the plate. In the final program, the value for last used column is intended to be obtained from the last stored start plate, where the selected TruSight library preparation kit was used. - Javascript file
select_dna_for_start_plate.js
inresources/libprep/
updated by moving code for placing selected DNA items on plate from functionbarcodesLoaded(response)
tonextPlateNameLoaded(response)
. The latter function also updated to place the DNA extracts in columns making best use of the barcode reagents in a kit.
comment:16 by , 9 years ago
(In [3462]) Refs #801. Refs #802. MeLuDI updated to sort MeLuDI items and extra material items by name when obtaining DNA items from start item lists:
- Java servlet class/file
ExtractionServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetListOfItemsFromStartItemLists
" to sort MeLuDI items and extra material items by name, before combining them into a final item list. Previously, in each category, only items from each input start item list were guaranteed to come in alphabetical order.
comment:17 by , 9 years ago
(In [3463]) Refs #801. Refs #802. MeLuDI "admin" section updated by removing entry for creating start lists from selected start plates in sub-section "Special conversion tools". This tool was only needed when updating to MeLuDI v1.3.1, and will not work with start plates created in the library preparation wizard, since the needed annotation data does not exist:
- JSP file
index.jsp
inresources/
updated in "admin
" section by removing entry for creating start lists from selected start plates in sub-section "Special conversion tools".
comment:18 by , 9 years ago
(In [3464]) Refs #801. Refs #802. Updates due to version number change to "1.3.2a1
".
- Version number change to "
1.3.2a1
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
e. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:19 by , 9 years ago
(In [3465]) Refs #801. Refs #802. Updates due to version number change to "1.3.2-dev
".
- Version number change to "
1.3.2-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
e. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:20 by , 9 years ago
Milestone: | MeLuDI v1.3.2 → Milestone MeLuDI v1.3.3 |
---|
Milestone changed to MeLuDI v1.3.3, as MeLuDI v1.3.2 has been released.
comment:21 by , 9 years ago
(In [3512]) Refs #801. Refs #815. Updates due to version number change to "1.3.3-dev
".
- Version number change to "
1.3.3-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
e. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:22 by , 9 years ago
Functional specification update:
- It may take some time before the list of DNA items from selected start item lists is loaded in step 2 of wizard "Create new start DNA plate". The "Next" button should therefore be disabled until the list is loaded, in order to avoid problems.
Design update:
- Javascript file
select_dna_for_start_plate.js
inresources/libprep/
updated in functionsinitializeStep2(event)
andmaxDeltaCtOnChange(event)
to disable the "Next" button (both these functions call servletExtractionServlet
with command "GetListOfItemsFromStartItemLists
" and callback functiondnaItemListLoaded(response)
), while functiondnaItemListLoaded(response)
is updated to enble the "Next" button again.
comment:23 by , 9 years ago
(In [3518]) Refs #801. Refs #815. Since it may take some time before the list of DNA items from selected start item lists is loaded in step 2 of wizard "Create new start DNA plate", the "Next" button is disabled until the list is loaded, in order to avoid problems:
- Javascript file
select_dna_for_start_plate.js
inresources/libprep/
updated in functionsinitializeStep2(event)
andmaxDeltaCtOnChange(event)
to disable the "Next" button (both these functions call servletExtractionServlet
with command "GetListOfItemsFromStartItemLists
" and callback functiondnaItemListLoaded(response)
), while functiondnaItemListLoaded(response)
is updated to enble the "Next" button again.
comment:24 by , 9 years ago
Functional specification update:
- Wizard "Create new start DNA plate" should be updated regarding dilution calculation and reporting:
a. The aliquot volume should be increased from 10 to 10.5µl, i.e. volume of FPA + FPB from 20 to 21µl.
b. The dilution factor should be calculated from the ΔCt value using a function obtained by fitting an exponential curve to the Illumina step ladder dilution chart, instead of using the latter chart itself. The aim is to avoid large differences in dilution for extracts with ΔCt values on separate sides of a ladder step.
c. Dilution volumes for DNA and water, as well as ΔCt values, should be reported with 2 decimals instead of 1, in order to simplify checking the dilution calculation.
Design update:
- Javascript file
select_dna_for_start_plate.js
inresources/libprep/
updated:
a. functiongetWellText(well)
updated by increasing the aliquot volume from 10 to 10.5µl, and report dilution volumes for DNA and water, as well as ΔCt values, with 2 decimals instead of 1.
b. FunctionfetchDilutionFactor(deltaCt)
updated to calculate the dilution factor from the ΔCt value using a function obtained by fitting an exponential curve to the Illumina step ladder dilution chart, instead of using the latter chart itself.
comment:25 by , 9 years ago
(In [3519]) Refs #801. Refs #815. Wizard "Create new start DNA plate" updated regarding dilution calculation and reporting:
a. The aliquot volume is increased from 10 to 10.5µl, i.e. volume of FPA + FPB from 20 to 21µl.
b. The dilution factor is now calculated from the ΔCt value using a function obtained by fitting an exponential curve to the Illumina step ladder dilution chart, instead of using the latter chart itself. The aim is to avoid large differences in dilution for extracts with ΔCt values on separate sides of a ladder step.
c. Dilution volumes for DNA and water, as well as ΔCt values, are now reported with 2 decimals instead of 1, in order to simplify checking the dilution calculation.
- Javascript file
select_dna_for_start_plate.js
inresources/libprep/
updated:
a. functiongetWellText(well)
updated by increasing the aliquot volume from 10 to 10.5µl, and report dilution volumes for DNA and water, as well as ΔCt values, with 2 decimals instead of 1.
b. FunctionfetchDilutionFactor(deltaCt)
updated to calculate the dilution factor from the ΔCt value using a function obtained by fitting an exponential curve to the Illumina step ladder dilution chart, instead of using the latter chart itself.
comment:26 by , 9 years ago
(In [3520]) Refs #801. Refs #815. Javascript file select_dna.js
in resources/libprep/
updated by change of top function name from "SelectDna
" to "SelectDnaRefCode
", since the code is currently not active, but left for reference during early development of the library preparation wizards. Javascript file select_dna_for_start_plate.js
in resources/libprep/
is based on the former file, and currently has top function name "SelectDna
". Function dnaSelected(response)
in javascript file auto_select_dna.js
in resources/libprep/
calls function SelectDna.dnaSelected(response)
in the file, it was called from, which currently is select_dna_for_start_plate.js
. The name change avoids misunderstanding of what function in what file is called from auto_select_dna.js
.
comment:27 by , 9 years ago
(In [3521]) Refs #801. Refs #815. Updates due to version number change to "1.3.3
".
- Version number change to "
1.3.3
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
e. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:28 by , 9 years ago
Milestone: | Milestone MeLuDI v1.3.3 → Milestone MeLuDI v1.3.4 |
---|
Milestone changed to MeLuDI v1.3.4, as MeLuDI v1.3.3 has been released.
comment:30 by , 9 years ago
(In [3523]) Refs #801. Refs #816. Updates due to version number change to "1.3.4-dev
".
- Version number change to "
1.3.4-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
e. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:31 by , 9 years ago
Functional specification update:
- Case summary should be updated to present information on fpa and fpb DNA aliquots in a separate section (initially the "
Library
" section will be used), instead of the "DNA
" section.
Design update:
- JSP file
case_summary.jsp
inresources/reports/
updated with "Library
" section (previously commented out), after the "DNA
" section. - Javascript file
case_summary.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
to obtain information on fpa and fpb DNA aliquots from theCaseSummaryServlet
response, and insert it in appropriate fields in the "Library
" section of the case summary form. Code for barcode name updated to display "NA
", if not defined. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetCaseInfo
" to send information on fpa and fpb DNA aliquots in new JSON object with key "lib
". The barcode string is constructed based on the well location on the library plate.
comment:32 by , 9 years ago
(In [3526]) Refs #801. Refs #816. Case summary updated to present information on fpa and fpb DNA aliquots in a separate section (initially the "Library
" section will be used), instead of the "DNA
" section:
- JSP file
case_summary.jsp
inresources/reports/
updated with "Library
" section (previously commented out), after the "DNA
" section. - Javascript file
case_summary.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
to obtain information on fpa and fpb DNA aliquots from theCaseSummaryServlet
response, and insert it in appropriate fields in the "Library
" section of the case summary form. Code for barcode name updated to display "NA
", if not defined. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetCaseInfo
" to send information on fpa and fpb DNA aliquots in new JSON object with key "lib
". The barcode string is constructed based on the well location on the library plate.
comment:33 by , 9 years ago
(In [3527]) Refs #801. Refs #816. Roles MeludiRole.LIBRARY_PREP
and MeludiRole.LIBRARY_PLATE_DESIGNER
used in library preparation are installed (they were previously defined in data access object MeludiRole.java
in src/net/sf/basedb/meludi/dao/
):
- Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
:
a. For commands "Validate
" and "Install
" to check rolesMeludiRole.LIBRARY_PREP
andMeludiRole.LIBRARY_PLATE_DESIGNER
, and create them if missing.
b. For command "GetPermissions
" to include information on membership in rolesMeludiRole.LIBRARY_PREP
andMeludiRole.LIBRARY_PLATE_DESIGNER
, respectively.
comment:34 by , 9 years ago
(In [3529]) Refs #801. Refs #816. Updates due to version number change to "1.3.4a1
".
- Version number change to "
1.3.4a1
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
e. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:35 by , 9 years ago
(In [3530]) Refs #801. Refs #816. Updates due to version number change to "1.3.4-dev
".
- Version number changed to "
1.3.4-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
e. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:36 by , 9 years ago
Functional specification update:
- Case summary should be updated to present information on fpa and fpb DNA aliquot barcode tags as links to the corresponding
Tag
items.
Design update:
- Javascript file
case_summary.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
to present fpa and fpb aliquot barcode tags as links by calling functionasLink(itemType, item, maxLength)
. - Java data access object class/file
Barcode.java
insrc/net/sf/basedb/meludi/dao/
added. It contains among other methods one for retrieving a barcodeTag
item from the database, if the name of the former is known. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetCaseInfo
" to send information on fpa and fpb DNA aliquot Illumina index 1 and 2 name and id in new JSON objects with keys "index1
" and "index2
", respectively. The barcode info is constructed based on the well location on the library plate.
Ticket accepted.