#690 closed task (fixed)
MeLuDi - Registration wizard for melanoma-lung cancer projects
Reported by: | olle | Owned by: | olle |
---|---|---|---|
Priority: | major | Milestone: | MeLuDi v1.0 |
Component: | net.sf.basedb.meludi | Keywords: | |
Cc: |
Description
A package of registration wizards for melanoma-lung cancer projects should be developed, in analogy with the package "Reggie" for the SCAN-B breast cancer project. It is named "MeLuDi" after "melanoma/lung cancer diagnostics".
Change History (35)
comment:1 by , 10 years ago
Status: | new → assigned |
---|
comment:2 by , 10 years ago
Background and design choices:
- BASE plug-in package Reggie was developed to simplify registration in BASE of data related to the SCAN-B breast cancer project. Reggie therefore naturally includes data specific to breast cancer, e.g. laterality, and to the set-up of the SCAN-B data management, e.g. use of case numbers, where the first two digits indicate the hospital site delivering a sample. After years of development, Reggie now (late 2014) covers registration of the full pipeline of sample preparation, gene sequence and expression analysis, and report creation. Several wizards go far beyond passively registering input data, and suggest storing positions for samples and extracts, as well as optimal concentrations when diluting the latter.
- The new BASE plug-in registration package MeLuDi for melanoma/lung cancer projects, will be based on Reggie, where possible, but will be a stand-alone package. The advantages of using Reggie as model are numerous:
a. Faster development. Many operations are fully or nearly identical for the two projects, and using the Reggie code base will reduce development time.
b. More stable code. Reggie has already been through several cycles of development iterations, where found bugs have been fixed, and new code has been written with previous experiences in mind.
c. More streamlined code. The development iterations have also led to more streamlined code design.
d. A consistent user interface. Having a consistent user interface is an advantage in itself. Basing MeLuDi on Reggie will have a two-fold advantage, since lab personnel used to Reggie, will need less time to adapt to MeLuDi.
Using Reggie code as inspiration, will hopefully transfer a lot of the benefits listed above to MeLuDi. Unfortunately, the differences in lab procedure are too big to allow the latter as being developed as a branch of the Reggie code. The source code will therefore be entered in the subversion source code revision system as an independent package.
Differences between lab procedures and data management in Reggie and MeLuDi (list not complete):
Item | Reggie | MeLuDi |
Case names | 7 figures + optional 1-character suffix. First 2 figures indicate hospital site for the sample | "ML " + 5 figures
|
Sample types | Specimen , NoSpecimen , Blood , Follow-up blood | Primary , MetastasisDistant , DNA , RNA
|
Normal sample distribution | Tissue specimen | FFPE (Formalin-Fixed, Paraffin-Embedded) tissue |
Site | Used (indicated by first 2 figures in case name) | Used, but may be unknown. Stored as annotation. |
Consent | Used | Not used (patients may have been asked for consent, but this is not tracked in this database) |
Laterality | Used | Not used |
RNALaterDateTime | Used | Not used |
PL-number | Not used | Number similar to PAD (Patho-Anatomical Diagnosis) number, written on label on referral form, and always starting with letters "PL ".
|
Mutation analysis | Not used | Used. Selection of options, initially KRAS/NRAS (exon 2-4), BRAF (codon 600), EGFR (exon 18-21).
|
Project focus | Not used, as main use is for SCAN-B breast cancer project. | Melanoma or lung cancer, but may also be unknown. Stored as annotation. |
Histology-related items | Used | Not used |
Lysates | Used | Not used |
FlowThrough | Used | Not used |
comment:3 by , 10 years ago
Design choices: Avoiding confusion between Reggie and MeLuDi
As described above, using the Reggie code as inspiration for MeLuDi, has a lot of benefits. However, a drawback is that similarity in the interfaces, may lead to confusion as to what project some items or reports belong to. In order to lessen this risk, names of key items have deliberately been chosen different, and the program name has been added to reports (Reggie already includes the program name on display pages):
Item | Reggie | MeLuDi |
Case names | 7 figures + optional 1-character suffix, where first 2 figures indicate hospital site for the sample. Example: " 1100027 ". | "ML " + 5 figures.Example: " ML00027 ".
|
Patient name (anonymized id) | "PAT " + 6 figures.Example: " PAT000027 ". | "MLP " + 6 figures.Example: " MLP000027 ".
|
Report headers | No explicit reference to Reggie. | Extra top header line showing program name and version. |
Storage names | Prefix defining storage type + 3 figures (for storage types below). Prefixes: "Sp ", "DNA ", "RNA ".Examples: " Sp001 ", "DNA001 ", "RNA001 ". | Fixed prefix "ML_ " + 4 figures + suffix defining storage type. Suffices: "_Sp ", "_dna ", "_rna ".Examples: " ML_0001_Sp ", "ML_0001_dna ", "ML_0001_rna ".
|
Specimen and extract names are created by adding suffices to the case name, they relate to. Making case names coupled to the program creating them, automatically also makes specimen and extract names have this property.
comment:4 by , 10 years ago
Design choices update: Step-wise development
- In order to allow entry of data into the database as soon as possible, it was decided to make a working version available for installation on a server, as soon as some key steps had been included.
- The first version of MeLuDi will be based on Reggie v.2.17.
- Development of MeLuDi will be performed with possible inclusion of future Reggie updates in mind, but there is no guarantee that the latter will be included in MeLuDi.
comment:5 by , 10 years ago
Functional description of first version of MeLuDi:
The first version (MeluDi 1.0-a01) will include the following wizards/functionality:
- Installation wizard.
a. Check that annotation types and other items used by MeLuDi exist in BASE.
b. Create missing items. - Case registration.
a. Register new cases without patient info. - Pathology referral form registration.
a. Register new cases and patients.
b. Update existing cases with patient info. - Case summary.
a. Gives a summary of item data related to a case. Patient data for the case can also be inspected by users having the "Curator
" role. - Sample source report.
a. Sample count report.
b. Patient count report.
c. Overview report.
d. Missing sample data report.
All wizards have counterparts in Reggie, but not all input fields are equal:
- The MeLuDi installation wizard is basically just a modified version adapted to variables relevant here.
- Case registration takes the following input:
a. Case name.
b. Number of tubes.
c. Arrival date.
d. Sampling date.
e. Mutation analysis.
f. Site.
g. Sample type.
h. Project focus.
i. Other path note.
Input for each specimen tube:
j. Storage box, row, column. Values are suggested by the program. Note! Not used for the first specimen, since all amount is expected to be used for analysis.
k. Operator delivery comment. - Personal information registration takes the following input:
a. Personal number.
b. Family name.
c. All first names.
d. PL-number.
e. PAD/CL (Patho-Anatomical Diagnosis or cytology number). - Case summary has been adapted to variables used in MeLuDi.
- Sample source reports are simplified and more or less adapted versions of Reggie counterparts:
a. Sample count report: Number of specimens per time interval from the various sites for a chosen time period. Has a project focus filter with value "None", "Melanoma", "Lung cancer", and "unknown".
b. Patient count report shows the number of patients per time interval from the various sites for a chosen time period.
c. Overview report contains two tables showing data for each site for a chosen time period; one shows number of patients and specimens and the other number of patients having 1, 2, or more specimens. Has a project focus filter with value "None", "Melanoma", "Lung cancer", and "unknown".
d. Missing sample data report shows number of specimens for each site missing patient, patient name, PAD reference, or sampling date. Has a project focus filter with value "None", "Melanoma", "Lung cancer", and "unknown".
Input options via check boxes/menus:
Input name | Input type | Options | Default |
Mutation analysis | Check boxes | KRAS_NRAS , BRAF , EGFR | - |
Site | Menu | unknown , Helsingborg , Kristianstad , Linköping , Lund , Malmö | unknown
|
Sample type | Menu | unknown , Primary tumour , Metastasis , DNA , RNA | unknown
|
Project focus | Menu | unknown , Melanoma , Lung cancer | unknown
|
comment:6 by , 10 years ago
Design description (initial) of MeLuDi v.1.0-a01:
MeLuDi v.1.0-a01 is based on a subset of Reggie 2.17.
Naming conventions:
Type of item | Reggie | MeLuDi |
Name of variable or file | reggie | meludi
|
Name of variable or file | Reggie | Meludi
|
Name shown on display/printed media | Reggie | MeLuDi
|
The following files are either the same as in Reggie, or only slightly modified, e.g. exchanging "reggie
" for "meludi
", and contain the basic framework for the package:
LICENSE README RELEASE config/meludi-extended-properties.xml config/meludi-ogs-hosts.xml config/meludi-raw-data-types.xml config/readme.txt META-INF/MANIFEST.MF META-INF/plugin-configurations.xml META-INF/lib/sshj-0.9.0.jar META-INF/lib/sshj-license.txt lib/compile/*.jar resources/admin/install.js resources/admin/install.jsp resources/css/filters.svg resources/css/plate.css resources/css/printable.css resources/images/* resources/keep_session_alive.js resources/keep_session_alive.jsp resources/libprep/plate.js resources/print.js resources/print_template.jsp src/net/sf/basedb/meludi/JsonUtil.java src/net/sf/basedb/meludi/LockUtil.java src/net/sf/basedb/meludi/ReservedItems.java src/net/sf/basedb/meludi/converter/*.java src/net/sf/basedb/meludi/dao/Arraydesign.java src/net/sf/basedb/meludi/dao/BiomaterialList.java src/net/sf/basedb/meludi/dao/BioplateEventtype.java src/net/sf/basedb/meludi/dao/BioplateType.java src/net/sf/basedb/meludi/dao/Datafiletype.java src/net/sf/basedb/meludi/dao/Fileserver.java src/net/sf/basedb/meludi/dao/Geometry.java src/net/sf/basedb/meludi/dao/Mimetype.java src/net/sf/basedb/meludi/dao/Patient.java src/net/sf/basedb/meludi/dao/Rawbioassay.java src/net/sf/basedb/meludi/dao/ReactionPlate.java src/net/sf/basedb/meludi/dao/StoragePlate.java src/net/sf/basedb/meludi/plugins/CsvEncoderDecoder.java src/net/sf/basedb/meludi/plugins/PluginParameters.java src/net/sf/basedb/meludi/query/LowerExpression.java src/net/sf/basedb/meludi/servlet/ProtocolServlet.java src/net/sf/basedb/meludi/servlet/ReportTableUtil.java src/net/sf/basedb/meludi/servlet/SessionServlet.java src/net/sf/basedb/meludi/servlet/SubtypeServlet.java src/net/sf/basedb/meludi/ssh/*.java
The following files contain significant changes relative to Reggie (and in some cases name changes), in order to adapt to MeLuDi specifications:
build.xml META-INF/extensions.xml META-INF/servlets.xml resources/meludi-2.js resources/css/meludi-2.css resources/images/musical_note.png resources/images/floating-musical-notes.gif src/net/sf/basedb/meludi/Meludi.java src/net/sf/basedb/meludi/Site.java src/net/sf/basedb/meludi/dao/Annotationtype.java src/net/sf/basedb/meludi/dao/Case.java src/net/sf/basedb/meludi/dao/MeludiItem.java src/net/sf/basedb/meludi/dao/MeludiRole.java src/net/sf/basedb/meludi/dao/Subtype.java src/net/sf/basedb/meludi/servlet/InstallServlet.java
Specific adaptations for MeLuDi:
Main page:
resources/index.js resources/index.jsp
Case registration:
resources/sampleproc/specimentube.js resources/sampleproc/specimentube.jsp src/net/sf/basedb/meludi/dao/SpecimenTube.java src/net/sf/basedb/meludi/servlet/SpecimenTubeServlet.java
Patient registration for new or existing case:
resources/personal/persinfo.js resources/personal/persinfo.jsp src/net/sf/basedb/meludi/servlet/PersonalRegistrationServlet.java
Case summary:
resources/css/case_summary.css resources/reports/case-summary.js resources/reports/case_summary.jsp src/net/sf/basedb/meludi/servlet/CaseSummaryServlet.java
Making case summary accessible via icon link in column in BASE sample lists, or in tool bar in sample property tabs:
resources/reports/case_summary_hook.jsp resources/scripts/case-summary.js src/net/sf/basedb/meludi/extensions/CaseSummaryButtonFactory.java src/net/sf/basedb/meludi/extensions/CaseSummarySectionFactory.java src/net/sf/basedb/meludi/extensions/MeludiListColumnsFactory.java
Sample source reports:
resources/css/report.css resources/reports/samplereportgenerator.js resources/reports/samplereportgenerator.jsp src/net/sf/basedb/meludi/servlet/SampleReportServlet.java
comment:7 by , 10 years ago
(In [2933]) Refs #690. Initial check-in of source code for MeLuDi BASE extension. It is a package of registration wizards for melanoma-lung cancer projects ("MeLuDi" after "melanoma/lung cancer diagnostics"). The code is based on the Reggie code developed for registering data for the SCAN-B breast cancer project.
This initial revision, MeLuDi 1.0-a01, allows registration of case and patient data, either together, or by first registering case data, and then updating it with patient info. A case summary utility and a number of simple sample source report generators are also included.
comment:8 by , 10 years ago
comment:9 by , 10 years ago
comment:10 by , 10 years ago
comment:11 by , 10 years ago
comment:12 by , 10 years ago
comment:13 by , 10 years ago
comment:14 by , 10 years ago
(In [2944]) Refs #690. Java servlet class/file InstallServlet.java
in src/net/sf/basedb/meludi/servlet/
updated:
- Installation of Reggie components without correspondence in MeLuDi removed.
- Installation of Reggie components without current correspondence in MeLuDi, but possible future use, has been commented out.
- References to
reggie
changed tomeludi
.
comment:15 by , 10 years ago
(In [2945]) Refs #690. Java classes/files updated to allow a "MeLuDi
" column to be added to BASE lists of samples, containing a link to the case summary of the case for the item:
Meludi.java
insrc/net/sf/basedb/meludi/
.CaseSummaryButtonFactory.java
,CaseSummarySectionFactory.java
, andMeludiListColumnsFactory.java
insrc/net/sf/basedb/meludi/extensions/
.CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
.
comment:16 by , 10 years ago
(In [2946]) Refs #690. Java servlet ExportServlet
removed, since it is not used in current version:
- Servlet configuration file
servlets.xml
inMETA-INF/
updated by commenting out entry forExportServlet
. - Java servlet class/file
ExportServlet.java
insrc/net/sf/basedb/meludi/servlet/
removed from source control.
comment:17 by , 10 years ago
(In [2947]) Refs #690. SVN properties svn:ignore updated/created for two directories:
- trunk/ - Property svn:ignore updated (originally contained
build
directory) by including:
a.meludi-*.tar.gz
b.meludi.jar
c.dist
d.build.properties
e..settings
- trunk/lib/compile/ - Property svn:ignore created with content:
a.base-*.jar
comment:18 by , 10 years ago
(In [2948]) Refs #690. Currently unused files and directories removed, forcing updates of .classpath
and META-INF/MANIFEST.MF
:
Removed files/directories:
META-INF/lib/*
config/*
- Files in
lib/compile/
:
a.axiom-impl-1.2.13.jar
b.base-install-3.3.1.jar
c.base-jobagent-3.3.1.jar
d.base-xjsp-compiler-3.3.1.jar
e.commons-httpclient-3.1.jar
f.jaxen-1.1.1.jar
g.jdom-1.1.3.jar
comment:19 by , 10 years ago
comment:20 by , 10 years ago
comment:21 by , 10 years ago
comment:22 by , 10 years ago
(In [2962]) Refs #690. Two new sites, "Karlskrona" and "Växjö" added, both belonging to RCC-syd:
- Java class/file
Site.java
insrc/net/sf/basedb/meludi/
updated by adding entries for "Karlskrona" and "Växjö". - Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
by adding the new site entries "Karlskrona" and "Växjö" as allowed values forAnnotationtype.SITE
. - JSP file
persinfo.jsp
inresources/personal/
updated by adding the new site entries "Karlskrona" and "Växjö" to site select options. - JSP file
specimentube.jsp
inresources/sampleproc/
updated by adding the new site entries "Karlskrona" and "Växjö" to site select options.
comment:23 by , 10 years ago
Functional specification update:
- The case registration section should be extended with an initial part for generating a label file for a label printer.
The following properties are expected for the label generation:
- The label format should be for the same type of label printer as used in Reggie:
i. The label file is a text file named "Tube_labels.csv
".
ii. Each line except the last is ended with a new-line character "\n
".
iii. The first line is "LABEL
".
iv. Each line after the first contains a single name of a sample or extract. - However, the content for the labels in MeLuDi differ from Reggie:
v. The lines for samples (here, cases and specimens) comes before the lines for extracts (here, RNA and DNA).
vi. In the sample section, the first line is the case name, followed by one line for each specimen for the case.
vii. In the extract section, for each specimen two lines are output, one for RNA, and one for DNA.
The name format is the same as used in MeLuDi:
Quantity | Name format |
Case | "ML " + 5 digits, starting with "00001 (i.e. there is no "00000 ")
|
Specimen | Case name for specimen + ". " + number, starting with "1 "
|
RNA | Specimen name + ".r "
|
DNA | Specimen name + ".d "
|
The label generation module should have the following properties:
- Input data:
Quantity | Variable type | Input type | Input check | Default value |
Number of cases | Integer > 0 | Input field | Integer > 0 | 1
|
Max number of tubes/case | Integer in range [1,9] | Select menu with options 1-9 | - (select menu ensures correct value type/range) | 2
|
Start case name | "ML " + 5 digits | Input field | "ML " + 5 digits | Next unused case name |
When finding the next unused case name, it is assumed that existing case names have consecutive number parts starting from "00001
", i.e. counting the number of stored cases allows the next unused case name to be created by incrementing that number.
- The label generation module should have two buttons:
a. "Preview
" button. Clicking the button displays the generated label file contents.
b. "Download
" button. Clicking the button opens a file download dialog to download the generated label file.
The standard "Cancel
" and "Restart
" buttons are not needed, since the wizard only contains a single step, and no registration is performed.
comment:24 by , 10 years ago
Design update:
- The case registration section should be extended with an initial part for generating a label file for a label printer.
- The home page is updated via JSP file
index.jsp
inresources/
:
a. The link to the specimen tube registration wizard is moved from the header "Case registration
", which now becomes a pure text header, to the sub-section "Register new cases without patient info
".
b. A new link "Create label file for a number of new cases
" is added to the case registration section, above the specimen tube registration link. The link is coupled to new JSP pagelabelgeneration.jsp
inresources/sampleproc/
. - New JSP file
labelgeneration.jsp
inresources/sampleproc/
added. It is coupled to new Javascript filelabelgeneration.js
, also inresources/sampleproc/
. - New Javascript file
labelgeneration.js
inresources/sampleproc/
added. It is coupled to new JSP filelabelgeneration.jsp
, also inresources/sampleproc/
. It sends Ajax requests to new Java servletLabelGenerationServlet
. - New Java servlet class/file
LabelGenerationServlet.java
insrc/net/sf/basedb/meludi/servlet/
. It accepts Ajax requests with commands "CountCases
" and "GetLabelFile
". - XML servlet configuration file
servlets.xml
inMETA-INF/
updated by adding entry for new servletLabelGenerationServlet
.
comment:25 by , 10 years ago
(In [2964]) Refs #690. The case registration section is updated with an initial part for generating a label file for a label printer:
- The home page is updated via JSP file
index.jsp
inresources/
:
a. The link to the specimen tube registration wizard is moved from the header "Case registration
", which now becomes a pure text header, to the sub-section "Register new cases without patient info
".
b. A new link "Create label file for a number of new cases
" is added to the case registration section, above the specimen tube registration link. The link is coupled to new JSP pagelabelgeneration.jsp
inresources/sampleproc/
. - New JSP file
labelgeneration.jsp
inresources/sampleproc/
added. It is coupled to new Javascript filelabelgeneration.js
, also inresources/sampleproc/
. - New Javascript file
labelgeneration.js
inresources/sampleproc/
added. It is coupled to new JSP filelabelgeneration.jsp
, also inresources/sampleproc/
. It sends Ajax requests to new Java servletLabelGenerationServlet
. - New Java servlet class/file
LabelGenerationServlet.java
insrc/net/sf/basedb/meludi/servlet/
. It accepts Ajax requests with commands "CountCases
" and "GetLabelFile
". - XML servlet configuration file
servlets.xml
inMETA-INF/
updated by adding entry for new servletLabelGenerationServlet
.
comment:26 by , 10 years ago
comment:27 by , 10 years ago
Design update:
- Since no biopsy type annotation is currently used in MeLuDi, references to biopsy type should be removed from the code.
- Java class/file
Site.java
insrc/net/sf/basedb/meludi/
updated by removal of private instance variableboolean useCaseSuffix
, and its accessor method. - Java class/file
SpecimenTube.java
insrc/net/sf/basedb/meludi/dao/
updated by removal of argumentboolean useBiopsyTypeAnnotation
from public static methodsList<SpecimenTube> findByCase(DbConrol dc, Case theCase, String originalCaseName, boolean useBiopsyTypeAnnotation)
andList<SpecimenTube> findByCaseName(DbConrol dc, String name, boolean useBiopsyTypeAnnotation)
, as well as removing public static methodvoid addBiopsyTypeFilter(DbControl dc, ItemQuery<Sample> query, String suffix)
. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
when callingSpecimenTube.findByCaseName(...)
. - Java servlet class/file
PersonalRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
when callingSpecimenTube.findByCase(...)
andSpecimenTube.findByCaseName(...)
. - Java servlet class/file
SpecimenTubeServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
when callingSpecimenTube.findByCaseName(...)
.
comment:28 by , 10 years ago
(In [2966]) Refs #690. Since no biopsy type annotation is currently used in MeLuDi, references to biopsy type are removed from the code:
- Java class/file
Site.java
insrc/net/sf/basedb/meludi/
updated by removal of private instance variableboolean useCaseSuffix
, and its accessor method. - Java class/file
SpecimenTube.java
insrc/net/sf/basedb/meludi/dao/
updated by removal of argumentboolean useBiopsyTypeAnnotation
from public static methodsList<SpecimenTube> findByCase(DbConrol dc, Case theCase, String originalCaseName, boolean useBiopsyTypeAnnotation)
andList<SpecimenTube> findByCaseName(DbConrol dc, String name, boolean useBiopsyTypeAnnotation)
, as well as removing public static methodvoid addBiopsyTypeFilter(DbControl dc, ItemQuery<Sample> query, String suffix)
. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
when callingSpecimenTube.findByCaseName(...)
. - Java servlet class/file
PersonalRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
when callingSpecimenTube.findByCase(...)
andSpecimenTube.findByCaseName(...)
. - Java servlet class/file
SpecimenTubeServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
when callingSpecimenTube.findByCaseName(...)
.
comment:29 by , 10 years ago
comment:30 by , 10 years ago
Background information update:
- If tube content is DNA/RNA:
a. Either a single tube with DNA or RNA is delivered, or one tube with DNA and one tube with RNA.
b. If RNA is delivered, the full amount is put in a freezer storage box.
c. If DNA is delivered, some amount is used to create a DNA extract for further analysis. There might be a residue to put in a freezer storage box, but in the first version of MeLuDi it is assumed that the full amount is used. - If an FFPE (Formalin-Fixed, Paraffin-Embedded) tissue specimen is delivered, the number of sections (slices) should be stored with the specimen.
- Storage box name suffices should all be in lower-case, forcing the storage box suffix "
_Sp
" to be exchanged for "_sp
".
Functional/Design specification update related to the background information update:
- If tube content is DNA or RNA:
a. Instead of a specimen item, a DNA extract or RNA extract item should be created.
b. A DNA extract item from a tube should have a name consisting of the case name followed by ".d
", e.g. for case "ML00001
" the DNA extract name will be "ML00001.d
".
c. An RNA extract item from a tube should have a name consisting of the case name followed by ".r
", e.g. for case "ML00001
" the RNA extract name will be "ML00001.r
".
d. Currently annotationSAMPLE_TYPE
("SampleType
") with possible value [unknown
,Primary tumour
,Metastasis
,DNA
,RNA
] is used to indicate the content of a specimen tube, and is stored both for the created case and child items. There are several problems with this; one is that the two optionsPrimary tumour
andMetastasis
are intended for FFPE specimen items, another is that the name "SampleType
" is inappropriate for DNA and RNA items, that are of typeExtract
, instead ofSample
. Options [unknown
,Primary tumour
,Metastasis
] should be stored in annotation of typeSPECIMEN_TYPE
("SpecimenType
") for specimen items, while a new annotation typeTUBE_CONTENT_TYPE
("TubeContentType
") with options [Specimen
,DNA
,RNA
,DNA + RNA
] should be created and stored with the created case item. - For FFPE tube content:
a. AnnotationtypeNOF_PIECES
("NofPieces
"), used for tissue specimens, should be exchanged for new annotation typeNOF_SECTIONS
("NofSections
"), which is more appropriate for FFPE specimens.
b. When registering an FFPE sample, an input field for the number of sections should be added (default should be "1
"). The value should be stored in the newNOF_SECTIONS
("NofSections
") annotation type for the created specimen item. - For DNA and/or RNA tube content:
a. Until more information exists regarding what data is supplied with incoming DNA and RNA tubes, only the name, creation date, and extraction date ("Sampling date" input field) will be stored with these items. Specifically, this means that no PL-number or PAD/CL-number will be stored for a case having no specimens. - Java servlet class/file
SpecimenTubeServlet.java
insrc/net/sf/basedb/meludi/servlet/
should be updated in storage box queries to search for names ending with "_sp
", instead of "_Sp
".
Other design specification updates:
- Several annotations that are currently stored both for a case and its children specimen items, should be set for either case or specimens:
a. Annotations of typesMUTATION_ANALYSIS
("MutationAnalysis
"),PROJECT_FOCUS
("ProjectFocus
"),SITE
("Site
"), andTUBE_CONTENT_TYPE
("TubeContentType
") should be stored with the case item.
b. Annotations of typesSPECIMEN_TYPE
("SpecimenType
") andNOF_SECTIONS
("NofSections
"), should be stored with specimen items. - Unused annotations and other items in current MeLuDi version should be removed, in order to create a minimal release. This should be done even if the item in question with high probability will be needed in a future version (it will be included in that version instead).
- Annotation type
SAMPLING_DATETIME
("SamplingDateTime
") of typeType.TIMESTAMP
should be exchanged for annotation typeSAMPLING_DATE
("SamplingDate
") of typeType.DATE
, since the sampling daytime is unknown in MeLuDi. - Site prefixes, which are key strings used to define options for annotation type
SITE
("Site
"), currently consist of the site names in lowercase letters, where if necessary the Swedish characters [Å,Ä,Ö,å,ä,ö
] are replaced by [A,A,O,a,a,o
], respectively. Since the prefixes are displayed when inspecting annotations in BASE, the prefixes should be changed to start with a capital letter, in order for the name to be more recognizable, e.g. "Malmo
" instead of "malmo
" (Swedish national letters are still exchanged for standard ASCII ones). - Case summary displays an item's description under header "Comment", a custom inherited from Reggie and the SCAN-B project, where the description was initially copied from another document, where the text was stored as "Comment". In order to make the connection to the BASE annotation clearer, case summary in MeLuDi should use the more natural header "Description" for this annotation.
comment:31 by , 10 years ago
Updated input options via check boxes/menus:
Input name | Input type | Options | Default |
Mutation analysis | Check boxes | KRAS_NRAS , BRAF , EGFR | - |
Site | Menu | unknown , Helsingborg , Karlskrona , Kristianstad , Linköping , Lund , Malmö , Växjö | unknown
|
Tube content type | Menu | Specimen , DNA , RNA , DNA + RNA | FFPE specimen
|
Specimen type | Menu | unknown , Primary tumour , Metastasis | unknown
|
Project focus | Menu | unknown , Melanoma , Lung cancer | unknown
|
comment:32 by , 10 years ago
Design update:
- New and changed reference items.
- New annotation types added, unused ones removed or commented out:
a. Java class/fileAnnotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated.
b. Java class/fileInstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated. - Unused roles removed or commented out:
a. Java class/fileMeludiRole.java
insrc/net/sf/basedb/meludi/dao/
updated. - Unused MIME types removed or commented out:
a. Java class/fileMimetype.java
insrc/net/sf/basedb/meludi/dao/
updated. - Class/file
Site.java
insrc/net/sf/basedb/meludi/
updated to have prefix string keys starting with a capital letter, since they are city names. - Site annotation only stored with
Case
item:
a. Class/fileReportTableUtil.java
insrc/net/sf/basedb/meludi/servlet/
updated in private method Site fetchSite(...) to get site annotation from case item related to sample.
b. Class/fileSampleReportServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private method Site fetchSite(...) to get site annotation from case item related to sample.
- New annotation types added, unused ones removed or commented out:
- Updates in registration due to changes in information stored for items, and support for DNA and RNA tubes, in addition to specimen tubes.
- New data access object classes/files added:
a. New data access object class/fileDna.java
insrc/net/sf/basedb/meludi/dao/
added.
b. New data access object class/fileRna.java
insrc/net/sf/basedb/meludi/dao/
added. - Specimen tube registration:
a. JSP filespecimentube.jsp
inresources/sampleproc/
updated.
b. Javascript filespecimentube.js
inresources/sampleproc/
updated.
c. Java class/fileSpecimenTubeServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated. - Personal information registration, either for new cases, or updates of existing:
a. JSP filepersinfo.jsp
inresources/personal/
updated.
b. Javascript filepersinfo.js
inresources/personal/
updated.
c. Java class/filePersonalRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated.
- New data access object classes/files added:
- Updates in case summary due to changes in information stored for items, and support for DNA and RNA tubes, in addition to specimen tubes.
- Case summary update:a. JSP file
case_summary.jsp
inresources/reports/
updated.
b. Javascript filecase-summary.js
inresources/reports/
changed in name tocase_summary.js
and updated.
c. Java class/fileCaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated.
- Case summary update:a. JSP file
- Updates due to version number change to "
1.0
".- Version number change to "
1.0
":
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.
- Version number change to "
- Various updates.
- Outermost text file
README
in/
updated by fix of typos. - "Easter egg" in case summary input field on MeLuDi home page updated for input text "
MeLuDi
" to give credit to parent software "Reggie", on which MeLuDi is based:
a. JSP fileindex.jsp
inresources
updated with new style information.
b. Javascript fileindex.js
inresources
updated in text and to display new animated GIF filedancing_reggie.gif
inresources/images/
.
c. Animated GIF filefloating-musical-notes.gif
inresources/images/
exchanged for new added animated GIF filedancing_reggie.gif
, also inresources/images/
.
- Outermost text file
comment:33 by , 10 years ago
(In [3028]) Refs #690. MeLuDi BASE extension updated to version 1.0:
- New and changed reference items.
- New annotation types added, unused ones removed or commented out:
a. Java class/fileAnnotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated.
b. Java class/fileInstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated. - Unused roles removed or commented out:
a. Java class/fileMeludiRole.java
insrc/net/sf/basedb/meludi/dao/
updated. - Unused MIME types removed or commented out:
a. Java class/fileMimetype.java
insrc/net/sf/basedb/meludi/dao/
updated. - Class/file
Site.java
insrc/net/sf/basedb/meludi/
updated to have prefix string keys starting with a capital letter, since they are city names. - Site annotation only stored with
Case
item:
a. Class/fileReportTableUtil.java
insrc/net/sf/basedb/meludi/servlet/
updated in private method Site fetchSite(...) to get site annotation from case item related to sample.
b. Class/fileSampleReportServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private method Site fetchSite(...) to get site annotation from case item related to sample.
- New annotation types added, unused ones removed or commented out:
- Updates in registration due to changes in information stored for items, and support for DNA and RNA tubes, in addition to specimen tubes.
- New data access object classes/files added:
a. New data access object class/fileDna.java
insrc/net/sf/basedb/meludi/dao/
added.
b. New data access object class/fileRna.java
insrc/net/sf/basedb/meludi/dao/
added. - Specimen tube registration:
a. JSP filespecimentube.jsp
inresources/sampleproc/
updated.
b. Javascript filespecimentube.js
inresources/sampleproc/
updated.
c. Java class/fileSpecimenTubeServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated. - Personal information registration, either for new cases, or updates of existing:
a. JSP filepersinfo.jsp
inresources/personal/
updated.
b. Javascript filepersinfo.js
inresources/personal/
updated.
c. Java class/filePersonalRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated.
- New data access object classes/files added:
- Updates in case summary due to changes in information stored for items, and support for DNA and RNA tubes, in addition to specimen tubes.
- Case summary update:a. JSP file
case_summary.jsp
inresources/reports/
updated.
b. Javascript filecase-summary.js
inresources/reports/
changed in name tocase_summary.js
and updated.
c. Java class/fileCaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated.
- Case summary update:a. JSP file
- Updates due to version number change to "
1.0
".- Version number change to "
1.0
":
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.
- Version number change to "
- Various updates.
- Outermost text file
README
in/
updated by fix of typos. - "Easter egg" in case summary input field on MeLuDi home page updated for input text "
MeLuDi
" to give credit to parent software "Reggie", on which MeLuDi is based:
a. JSP fileindex.jsp
inresources
updated with new style information.
b. Javascript fileindex.js
inresources
updated in text and to display new animated GIF filedancing_reggie.gif
inresources/images/
.
c. Animated GIF filefloating-musical-notes.gif
inresources/images/
exchanged for new added animated GIF filedancing_reggie.gif
, also inresources/images/
.
- Outermost text file
comment:34 by , 10 years ago
comment:35 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Ticket closed as MeLuDi version 1.0 has been created.
Ticket accepted.