#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 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.
Ticket accepted.