#471 closed enhancement (fixed)
Add library preparation information to the 'Case summary' feature
Reported by: | Nicklas Nordborg | Owned by: | olle |
---|---|---|---|
Priority: | minor | Milestone: | Reggie v2.13 |
Component: | net.sf.basedb.reggie | Keywords: | |
Cc: |
Change History (24)
comment:1 by , 11 years ago
Owner: | changed from | to
---|
comment:2 by , 11 years ago
comment:3 by , 11 years ago
Status: | new → assigned |
---|
comment:4 by , 11 years ago
Design description for first version of library preparation information in 'Case summary':
- Entries will be added for mRNA, cDNA, and Library entries.
- For mRNA, the following data will be shown:
a. Name.
b. Registration date.
c. Work plate (name + location + optional link to included PDF file).
d. Used quantity.
- For cDNA, the following data will be shown:
a. Name.
b. Registration date.
c. Work plate (name + location).
- For a Library, the following data will be shown:
a. Name.
b. Registration date.
c. Work plate (name + location).
d. Remaining quantity.
e. Original quantity.
f. Tag name.
g. CA_Size.
h. CA_Molarity.
i. QubitConc.
comment:5 by , 11 years ago
Design implementation:
- JSP script
case_summary.jsp
inreggie/resources/reports/
will be updated in functioninit()
to retrieve information for the three new sections from the servlet JSON response, and the HTML section will be extended to display the new data after the RNA section. - Java servlet
CaseSummaryServlet.java
inreggie/src/net/sf/basedb/reggie/servlet/
will be updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
to retrieve information fromMRna
,CDna
, andLibrary
data access objects, and add the data to the servlet JSON response. Three new private methodsvoid loadMRnaInfo(DbControl dc, MRna mrna)
,void loadCDnaInfo(DbControl dc, CDna cdna)
, andvoid loadLibraryInfo(DbControl dc, Library lib)
, will set most of the data in the data access objects. - Java data access objects
MRna.java
,CDna.java
, andLibrary.java
inreggie/src/net/sf/basedb/reggie/dao/
will be updated with public static methodsList<...> findByCaseName(DbControl dc, String name)
to return a list ofMRna
,CDna
, orLibrary
objects, respectively. Public methodsJSONObject loadBioPlateLocation()
for the three data access objects will be updated to call public static methodJSONObject getBioWellAsJSON(BioWell well)
in class/fileJsonUtil.java
inreggie/src/net/sf/basedb/reggie/
to provide the plate information in JSON format. In addition,MRna.java
will be updated with new public methodJSONObject loadBioPlatePdf(DbControl dc)
to load information about an optional PDF-file for the plate for the current mRNA.
comment:6 by , 11 years ago
(In [2050]) Refs #471. First version of library preparation information in 'Case Summary':
- JSP script
case_summary.jsp
inreggie/resources/reports/
updated in functioninit()
to retrieve information for the three new sections from the servlet JSON response, and the HTML section will be extended to display the new data after the RNA section. - Java servlet
CaseSummaryServlet.java
inreggie/src/net/sf/basedb/reggie/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
to retrieve information fromMRna
,CDna
, andLibrary
data access objects, and add the data to the servlet JSON response. Three new private methodsvoid loadMRnaInfo(DbControl dc, MRna mrna)
,void loadCDnaInfo(DbControl dc, CDna cdna)
, andvoid loadLibraryInfo(DbControl dc, Library lib)
, will set most of the data in the data access objects. - Java data access objects
MRna.java
,CDna.java
, andLibrary.java
inreggie/src/net/sf/basedb/reggie/dao/
updated with public static methodsList<...> findByCaseName(DbControl dc, String name)
to return a list ofMRna
,CDna
, orLibrary
objects, respectively. Public methodsJSONObject loadBioPlateLocation()
for the three data access objects updated to call public static methodJSONObject getBioWellAsJSON(BioWell well)
in class/fileJsonUtil.java
inreggie/src/net/sf/basedb/reggie/
to provide the plate information in JSON format. In addition,MRna.java
is updated with new public methodJSONObject loadBioPlatePdf(DbControl dc)
to load information about an optional PDF-file for the plate for the current mRNA.
comment:7 by , 11 years ago
Milestone: | Reggie v2.x → Reggie v2.13 |
---|
Milestone changed to Reggie v2.13.
comment:8 by , 11 years ago
Design update:
- Entries for mRNA, cDNA, and Library items will include the extraction date, inserted after work plate information. The extraction date is obtained as the date of the creation event of the real extract that represent the corresponding entry item. Since the latter information is already added to the JSONObject returned by java class/file
CaseSummaryServlet.java
inreggie/src/net/sf/basedb/reggie/servlet/
, only JSP scriptcase_summary.jsp
inreggie/resources/reports/
needs to be updated.
comment:9 by , 11 years ago
(In [2051]) Refs #471. Library preparation information in 'Case Summary' updated to include extraction dates for mRNA, cDNA, and Library items, inserted after work plate information:
- JSP script
case_summary.jsp
inreggie/resources/reports/
updated in functioninit()
and HTML section to display extraction dates for mRNA, cDNA, and Library items, inserted after work plate information.
comment:10 by , 11 years ago
Design note regarding "extraction date" for mRNA, cDNA, and Library items:
- The interesting dates are those related to creation of the physical items in the laboratory, and these are not always the same dates the corresponding extract items in the database were created. Neither is the creation process always an "extraction". Until more information is available, the value and nomenclature described above, will be used.
comment:11 by , 11 years ago
Design update:
- An entry for Pooled Library items should be added, with the following data:
a. Name.
b. Registration date.
c. Extraction date (Note: Name and value may be changed in the future.)
d. Remaining quantity.
e. Original quantity.
f. PoolMolarity.
g. PoolConc.
- As a temporary solution, the value for "extraction date" will be obtained as the date of the creation event of the real extract that represents the corresponding entry item.
Design implementation:
- JSP script
case_summary.jsp
inreggie/resources/reports/
will be updated in functioninit()
to retrieve information for the new section from the servlet JSON response, and the HTML section will be extended to display the new data after the Library section. - Java servlet
CaseSummaryServlet.java
inreggie/src/net/sf/basedb/reggie/servlet/
will be updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
to retrieve information fromPooledLibrary
data access objects for the case, and add the data to the servlet JSON response. New private methodvoid loadPooledLibraryInfo(DbControl dc, PooledLibrary lib)
, will set most of the data in the data access objects. - Java data access object
PooledLibrary.java
inreggie/src/net/sf/basedb/reggie/dao/
will be updated with public static methodList<PooledLibrary> findByCaseName(DbControl dc, String name)
to return a list ofPooledLibrary
objects. Since pooled libraries don't adhere to the same naming conventions as most other items in the case summary (where the item name consists of the case name with added suffix), first a search is made for library items for the case name, and then the library child items of typeSubtype.POOLED_LIBRARY
are returned.
comment:12 by , 11 years ago
(In [2052]) Refs #471. Library preparation information in 'Case Summary' updated to include entry for PooledLibrary items:
- JSP script
case_summary.jsp
inreggie/resources/reports/
updated in functioninit()
to retrieve information for the new section from the servlet JSON response, and the HTML section has been extended to display the new data after the Library section. - Java servlet
CaseSummaryServlet.java
inreggie/src/net/sf/basedb/reggie/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
to retrieve information fromPooledLibrary
data access objects for the case, and add the data to the servlet JSON response. New private methodvoid loadPooledLibraryInfo(DbControl dc, PooledLibrary lib)
will set most of the data in the data access objects. - Java data access object
PooledLibrary.java
inreggie/src/net/sf/basedb/reggie/dao/
updated with new public static methodList<PooledLibrary> findByCaseName(DbControl dc, String name)
to return a list ofPooledLibrary
objects. Since pooled libraries don't adhere to the same naming conventions as most other items in the case summary (where the item name consists of the case name with added suffix), first a search is made for library items for the case name, and then the library child items of typeSubtype.POOLED_LIBRARY
are returned.
comment:13 by , 11 years ago
(In [2054]) Refs #471. Library preparation information in 'Case Summary' updated in Library section to refer to the BioPlate
item as "Library plate
" instead of "Work plate
", in order to increase consistency with other wizards and protocols:
- JSP script
case_summary.jsp
inreggie/resources/reports/
updated in HTML Library section to refer to theBioPlate
item as "Library plate
" instead of "Work plate
".
comment:14 by , 11 years ago
Design update regarding "extraction date" for mRNA, cDNA, Library, and PooledLibrary items:
- The dates currently denoted as "Extraction date" for the different items, will be exchanged for the following dates:
Item | Date name | Definition |
mRNA | Cleanup date | BioPlate annotation CleanupDate
|
cDNA | Synthesis date | BioPlate annotation SynthesisDate
|
Library | Cleanup date | BioPlate annotation CleanupDate
|
PooledLibrary | Pool date | ´Date of the creation event of the real extract that represents the pooled library (current definition) |
comment:15 by , 11 years ago
Design update implementation:
- In order to minimize the number of code changes, the new date values will be stored as annotation
extractionDate
for the different data access objects, since these annotation values are already included in the case summary. This only requires changes in private methodsvoid loadMRnaInfo(DbControl dc, MRna mrna)
,void loadCDnaInfo(DbControl dc, CDna cdna)
, andvoid loadLibraryInfo(DbControl dc, Library lib)
in class/fileCaseSummaryServlet.java
inreggie/src/net/sf/basedb/reggie/servlet/
. JSP scriptcase_summary.jsp
inreggie/resources/reports/
then only needs to be updated in the header titles in the HTML section.
comment:16 by , 11 years ago
(In [2065]) Refs #471. Library preparation information in 'Case Summary' updated regarding "extraction date" for mRNA, cDNA, Library, and PooledLibrary items:
- The dates currently denoted as "Extraction date" for the different items, are exchanged for the following dates:
Item | Date name | Definition |
mRNA | Cleanup date | BioPlate annotation CleanupDate
|
cDNA | Synthesis date | BioPlate annotation SynthesisDate
|
Library | Cleanup date | BioPlate annotation CleanupDate
|
PooledLibrary | Pool date | ´Date of the creation event of the real extract that represents the pooled library (current definition) |
- Class/file
CaseSummaryServlet.java
inreggie/src/net/sf/basedb/reggie/servlet/
updated in private methodsvoid loadMRnaInfo(DbControl dc, MRna mrna)
,void loadCDnaInfo(DbControl dc, CDna cdna)
, andvoid loadLibraryInfo(DbControl dc, Library lib)
- JSP script
case_summary.jsp
inreggie/resources/reports/
updated in the header titles in the HTML section.
comment:17 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Ticket closed as the updates for first version of Library preparation information in 'Case Summary' have been added.
comment:18 by , 11 years ago
(In [2078]) Refs #471. Bug fixed that prevented information on missing pooled library data to be displayed properly in 'Case Summary':
- JSP script
case_summary.jsp
inreggie/resources/reports/
updated in functioninit()
to use correct div tag name prefixpooledlib
for information on missing pooled library data. Message also update to clarify that it concerns pooled library data.
comment:19 by , 11 years ago
Design update:
- RNA data may have an
Annotationtype.FLAG
string annotation containing vital information on the extract. If such an annotation exists, a row named "Flag
" should be inserted below the RNA name, with the name of the flag (the text in the annotation) followed by a flag icon.
Implementation:
- Class/file
CaseSummaryServlet.java
inreggie/src/net/sf/basedb/reggie/servlet/
should be updated in private methodvoid loadRnaInfo(DbControl dc, Rna rna)
to add the flag annotation value to data access objectRna
with JSON key "flag
". - JSP script
case_summary.jsp
inreggie/resources/reports/
should be updated:
a. New dynamic column with id "rna.flag
" added to HTML section. It belongs to class "dynamic-column
", which ensures that when data are added with functionaddColumn(id, value)
, it will only be shown ifvalue
differs fromnull
.
b. Functioninit()
should be updated inRNA
section to call functionaddColumn(id, value)
withid
set torna.flag
and value toasFlagInfo(r.flag, 'flag.png')
, ifr.flag
differs fromnull
.
c. New functionasFlagInfo(message, icon)
returns an HTMLspan
tag with the message text followed by the icon image.
comment:20 by , 11 years ago
(In [2081]) Refs #471. Library preparation information in 'Case Summary' updated in RNA section by adding a row with flag information below the RNA name, if an Annotationtype.FLAG
string annotation exists for the RNA extract:
- Class/file
CaseSummaryServlet.java
inreggie/src/net/sf/basedb/reggie/servlet/
updated in private methodvoid loadRnaInfo(DbControl dc, Rna rna)
to add the flag annotation value to data access objectRna
with JSON key "flag
". - JSP script
case_summary.jsp
inreggie/resources/reports/
updated:
a. New dynamic column with id "rna.flag
" added to HTML section. It belongs to class "dynamic-column
", which ensures that when data are added with functionaddColumn(id, value)
, it will only be shown ifvalue
differs fromnull
.
b. Functioninit()
updated inRNA
section to call functionaddColumn(id, value)
withid
set torna.flag
andvalue
toasFlagInfo(r.flag, 'flag.png')
, ifr.flag
differs fromnull
.
c. New functionasFlagInfo(message, icon)
returns an HTMLspan
tag with the message text followed by the icon image.
comment:21 by , 11 years ago
Design update:
- If mRNA, cDNA, or Library plate
Annotationtype.PLATE_PROCESS_RESULT
string annotation differs from "Successful
", a row named "Plate result
" should be inserted below the plate name, with the annotation text followed by an error icon.
Implementation:
- Class/file
CaseSummaryServlet.java
inreggie/src/net/sf/basedb/reggie/servlet/
should be updated to store the result values as annotationresult
for the different data access objects. This requires changes in private methodsvoid loadMRnaInfo(DbControl dc, MRna mrna)
,void loadCDnaInfo(DbControl dc, CDna cdna)
, andvoid loadLibraryInfo(DbControl dc, Library lib)
.
- JSP script
case_summary.jsp
inreggie/resources/reports/
should be updated:
a. New dynamic columns with id values "mrna.result
", "cdna.result
", and "lib.result
" added to HTML section. They belong to class "dynamic-column
", which ensures that when data are added with functionaddColumn(id, value)
, it will only be shown ifvalue
differs fromnull
.
b. Functioninit()
should be updated inmRNA
,cDNA
, andLibrary
sections to call functionaddColumn(id, value)
withid
set to corresponding "*.result
" string (e.g. "mrna.result
" formRNA
) and value toasFailInfo(r.result, 'error.png')
, ifr.result
differs fromnull
and "Successful
".
c. New functionasFailInfo(message, icon)
returns an HTMLspan
tag with the message text followed by the icon image.
Note: JSP script case_summary.jsp
function asFailInfo(message, icon)
is identical in functionality to function asFlagInfo(message, icon)
, but differs in the class of the returned HTML span
tag, which allows the messages to be configured differently.
comment:22 by , 11 years ago
(In [2083]) Refs #471. Library preparation information in 'Case Summary' updated in mRNA, cDNA, and Library sections by adding a "Plate result
" row with result text and error icon below the plate name, if plate Annotationtype.PLATE_PROCESS_RESULT
string annotation differs from "Successful
":
- Class/file
CaseSummaryServlet.java
inreggie/src/net/sf/basedb/reggie/servlet/
updated to store the result values as annotationresult
for the different data access objects. Updates of private methodsvoid loadMRnaInfo(DbControl dc, MRna mrna)
,void loadCDnaInfo(DbControl dc, CDna cdna)
, andvoid loadLibraryInfo(DbControl dc, Library lib)
.
- JSP script
case_summary.jsp
inreggie/resources/reports/
updated:
a. New dynamic columns with id values "mrna.result
", "cdna.result
", and "lib.result
" added to HTML section. They belong to class "dynamic-column
", which ensures that when data are added with functionaddColumn(id, value)
, it will only be shown ifvalue
differs fromnull
.
b. Functioninit()
updated inmRNA
,cDNA
, andLibrary
sections to call functionaddColumn(id, value)
withid
set to corresponding "*.result
" string (e.g. "mrna.result
" formRNA
) and value toasFailInfo(r.result, 'error.png')
, ifr.result
differs fromnull
and "Successful
".
c. New functionasFailInfo(message, icon)
added. It returns an HTMLspan
tag with the message text followed by the icon image.
Note: JSP script case_summary.jsp
function asFailInfo(message, icon)
is identical in functionality to function asFlagInfo(message, icon)
, but differs in the class of the returned HTML span
tag, which allows the messages to be configured differently.
Ticket accepted.