SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Construction of Biomedical Database Applications
                                    Case Study:

                            Laboratory
                             Assistant
                                 Suite
Players
Starting May 2011, LAS stems from the joined efforts of IRCC and the Politecnico of Torino



                              IRCC contribution
                              • Strategy
                              • Working- and Data-flow analysis
                              • User interface definition
                              • On-site implementation


                              POLITO contribution
                              • Database & Data warehouse
                              • Analytical tools & software features
                              • IT
Context – Personalized Medicine in Oncology
    ASSUMPTION I:
    Cancer is a genetic disease caused by the progressive accumulation of gene mutations




Figure 11.12 The Biology of Cancer (© Garland Science 2007)
Context – Personalized Medicine in Oncology
ASSUMPTION II:
If mutations are causative, in general terms their quality is likely to influence the behavior (biology)
of the system, in particular they are predicted to determining responses to perturbations (e.g.
drugs)
Context – Personalized Medicine in Oncology
ASSUMPTION III:
Mutations (or their surrogates) can be exploited to stratify patients for therapy
Context – Personalized Medicine in Oncology
EVIDENCE I:
Precision cancer medicine works: Selective inhibition of „driver‟ mutations can result in dramatic
clinical benefit
Context – Personalized Medicine in Oncology
 EVIDENCE II:
a. Precision cancer medicine stands on exceptions
b. „Drivers‟ not always are „targets‟ Exceptions become rules only if confirmed on a population
   basis:


            • Only 10% of NSCLCs harbour EGFR mutations, and only 40% of EGFR-
              mutant tumours respond to EGFR inhibitors:
                               • overall prevalence of responders: 4%

            • Only 4% of NSCLCs harbour ALK translocations, and only 50% of ALK-
              translocated tumours respond to ALK inhibitors:
                                 • overall prevalence of responders: 2%

            • Response to BRAF or MEK inhibition in BRAF mutant melanoma: 60%

            • Response to BRAF or MEK inhibition in BRAF mutant CRC: 2%
Context – Personalized Medicine in Oncology
 CONSIDERATION I:
Reliable preclinical models are needed to prioritize hypothesis validation in patients (clinical trials)
due to ethical, economical and social constrains.



       • Understanding inter-individual tumour heterogeneity needs a reference background:
          • Focus on one specific tumour type

       • Pinpointing exceptions needs big numbers:
          • Collect many cases

       • Identifying exceptions (and the contextual mutational milieu) needs integrated
         approaches with reliable outcomes:
          • Multi-dimensional genomic exploration of high-quality tumour material
Context – Personalized Medicine in Oncology
 CONSIDERATION II:
Direct transplantation of surgical specimens in immunocompromized mice can generate a high
fidelity preclinical platform for anticipation of clinical results



         • Reliable simulation of phase II trials for investigational drugs

         • Identification of new predictive biomarkers for approved drugs

         • Multi parametric evaluation of genetic determinants for patients

             stratification

         • Comparative evaluation of alternative treatment protocols
Context – Experimental Model
Context – Facts & Numbers
   N° of
 collected
specimens       22                                148            235         480       614




Oct 2008                                        Oct 2010       May 2011   Apr 2012   Jan 2013
 CRC                                           Evaluation of     LAS       LAS
banking                                      commercial LIMS    project   started
started                                          solution       started   working


    LAS manages (starting April 2012):
    •      622 surgical samples collection

    •      7158 mice

    •      18537 measures of tumour growth

    •      1656 mice treated with 44 different protocols&schedules

    •      51131 archived aliquots of biological material
Data Flow
                   Tissue                      Aliquots          BIOBANKING




 Operation

Treatments
                  Explants                            Derived
                              Implants                                        Storage
                                                      Aliquots



                             Mouse

Measurements      XENOPATIENTS


EXPERIMENTS




Next Generation Sequecing            Molecular Experiments            Images
Requirements

Data Entry
•   Real-time
•   Time saving
•   User friendly
•   Error proof


Data Analysis
•   Integrative
•   Reproducible
•   Intuitive
•   No programming skills required
From theory to practice
Waterfall model
                 • Feasibility study
Requirements     • Requirements analysis
                 • Requirements definition


                 • Define software system functions
   Design        • Establish an overall system architecture
                 • Unified Modeling Language (UML)


                 • Code generation
Implementation   • Definition of logically separable part of the software (units)
                 • Unit testing done by the developer


                 • Integration and testing of the complete system
 Verification    • Testing units against the requirements as specified
                 • System delivered to the client


                 • Identification of problems
 Maintenance     • Errors fixed
                 • Performance improvements
Agile model
              • Customer satisfaction by rapid delivery of useful
                software
              • Welcome changing requirements, even late in
                development
              • Working software is delivered frequently
              • Working software is the principal measure of
                progress
              • Sustainable development
              • Close cooperation
              • Face-to-face conversation is the best form of
                communication (co-location)
              • Continuous attention to technical excellence and
                good design
              • Simplicity - the art of maximizing the amount of
                work not done - is essential
              • Self-organizing teams
              • Regular adaptation to changing circumstances
Database design
• Conceptual design. The purpose is to
  represent the informal requirements of an
  application in terms of a conceptual schema
  that refers to a conceptual data model



• Logical design. Translation of the conceptual
  schema, defined in the preceding phase, into
  the logical schema of the database that refers
  to a logical data model



• Physical design. The logical schema is
  completed with the details of the physical
  implementation (file organization and indexes)
  on a given DBMS. The product is called the
  physical schema and refers to a physical data
  model
The Entity Relationship model
• Conceptual data model
• Provides a series of constructs
  capable of describing the data
  requirements
• Easy to understand
• Independent of the criteria for the
  management and organization of data
  on a database system
• For every construct, there is a
  corresponding graphical
  representation.
• Allows to define an E-R schema
  diagrammatically
ER constructs

• Entity
  • represents classes of objects (facts, things, people, for example) that have properties in
    common and an autonomous existence

• Attribute
  • describes the elementary properties of entities or relationships

• Relationship
  • represents logical links between two or more entities

• Cardinalities
  • specified for each entity participating in a relationship
  • describe the maximum and minimum number of relationship occurrences in which an
    entity occurrence can participate
  • for the minimum cardinality, zero or one
  • for the maximum cardinality, one or many (N)
ER constructs
• Identifiers
  • specified for each entity
  • describe the concepts (attributes and/or entities) of the schema allowing the
     unambiguous identification of the entity occurrences
  • internal identifier (key)
     • formed by one or more attributes of the entity itself
  • external identifier (foreign key)
     • when the attributes of an entity are not sufficient to identify its occurrences
        unambiguously
     • other entities need to be involved in the identification
     • the entity to identify participates with cardinality equal to (1,1) into the relationship

• Generalization
  • represents logical links between entities (i.e., 1 parent and one or more children)
  • the parent entity is more general in the sense that it comprises child entities as a
    particular case
Logical design
Goals
• Construction of a relational schema
• Representing correctly and efficiently all of the information described by an ER schema

Design steps
• Restructuring of the Entity-Relationship schema
• Optimization of the schema
• Translation into the logical model




                                                     Entity1 (ID1, attr_a, attr_b, …)
                                                     Entity2 (ID2, attr_x, attr_y, …)
                                                     Relationship1 (ID1, ID2, attr_r, …)
Data flow example
Database design example




Mouse (barcode, status, gender, deathDate, birthDate)
Database design example



            Mouse (barcode, status, gender,
            deathDate, birthDate,
            mouseStrainName)

            MouseStrain (mouseStrainName,
            description, linkToDoc)
Database design example




Explant (date, operator, mouseBarcode, scope)
Aliquot (barcode, tissueType, tumorType, explantDate*, explantOperator*,
mouseBarcode*)
Implant (date, operator, aliquotBarcode, badQuality, site, mouseBarcode)
Database design example
Database design example
Mouse (barcode, status, gender, deathDate, birthDate, mouseStrainName)

MouseStrain (mouseStrainName, description, linkToDoc)

Explant (date, operator, mouseBarcode, scope)

Aliquot (barcode, tissueType, tumorType, explantDate*, explantOperator*,
mouseBarcode*)

Implant (date, operator, aliquotBarcode, badQuality, site, mouseBarcode)

MeasurementSerie (date,time, type)

MouseIsMeasured (date,time,mouseBarcode, value)
Querying the database
• SQL (Structured Query Language)
  • designed for managing data held in a relational database management systems
  • example:

                   SELECT barcode, mouseStrainName
                   FROM Mouse M, Explant E
                   WHERE M.barcode = E.mouseBarcode
                   AND status = ‘Implanted’;



• ORM (Object-relational mapping)
  • programming technique for converting data between incompatible type systems in
    object-oriented programming languages
  • creates a "virtual object database“ used from within the programming language
  • maps database table rows to objects
  • allows to establish relations between those objects
Model View Controller
• High-level Python Web framework that encourages rapid development
  and clean, pragmatic design
• Makes it easier to build better Web apps more quickly and with less code
• The Web framework for perfectionists with deadlines


 Features

 •   MVC architecture               •   Testing framework
 •   Object- Relation Mapper        •   Solid security emphasis
 •   Templating Language            •   Send emails easily
 •   Automatic Language             •   Nice support for forms
 •   Elegant urls                   •   Great docs
 •   Unicode support                •   Friendly community
 •   Cache framework
Build a django project
$ django-admin.py startproject xenopatients




                 • command-line utility to interact with the Django project

                  • the actual Python package of the project
                  • used to import anything inside it

                   • indicates that this directory is a Python package

                   • settings/configuration for the project


                    • URL declarations

                   • an entry-point for WSGI-compatible webservers to
                     serve your project
Run server
$ ./manage.py runserver
Validating models...
0 errors found
March 07, 2013 - 15:50:53
Django version 1.5, using settings ‘xenopatients.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Create application
$ python manage.py startapp xenos


              • application belonging to the Django project


                    • indicates that this directory is a Python package


                    • defines python classes mapped on database tables


                   • simple routines to check the operation of the code

                   • defines a “type” of Web page to serve a specific
                     function with a specific template
                   • each view is represented by a simple Python function
Define the model
Edit the file /xenos/models.py

class Mice(models.Model):
   barcode = models.BigIntegerField(primary_key=True, editable=False)
   birth_date = models.DateField(db_column= 'birthdate', blank=True)
   death_date = models.DateField(db_column= 'deathdate', blank=True)
   gender = models.CharField(max_length=1)
   status = models.CharField(max_length=20)
   id_mouse_strain = models.ForeignKey(‘Mouse_strain’, blank=True,
   db_column='id_mouse_strain')

  def __unicode__(self):
     return self.barcode

class Mouse_strain(models.Model):
   id_strain = models.BigIntegerField(primary_key=True, editable=False)
   mouse_strain_name = models.CharField(max_length=45, unique=True)
   description = models.TextField()
   linkToDoc = models.CharField(max_length=80)

  def __unicode__(self):
          return self.mouse_strain_name
Define the urls and views

Edit the file /xenos/urls.py

urlpatterns = patterns('',
  (r'^$', views.index),
  (r'^miceloading/$', views.miceLoading),
  (r'^miceStatus/$', views.changeStatus),
   …

Edit the file /xenos/views.py

@login_required
def index(request):
  if request.method == 'GET':
      name = request.user.username
      return render_to_response('index.html', {'name':name},
  RequestContext(request)) …
Activate the admin site
Edit the file /xenopatients/urls.py

from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Uncomment the next line to enable the admin:
(r'^admin/', include(admin.site.urls)),
Activate the admin site
References
• Software Engineering
  • I. Sommerville (2010) “Software Engineering (9th Edition)”
  • I. Sommerville (2007) “Ingegneria del software”
  • R. Miles, K. Hamilton (2006) “Learning UML 2.0”
  • M. Fowler (2010) “UML distilled. Guida rapida al linguaggio di modellazione standard”
• Database
  • C. Coronel, S. Morris, P. Rob (2012) “Database Systems: Design, Implementation, and
    Management”
  • P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone (2009) “Basi di dati – Modelli e linguaggi di
    interrogazione”
• Python & Django
  • A. Martelli (2006) “Python in a Nutshell, Second Edition”
  • M. Lutz (2009) “Learning Python: Powerful Object-Oriented Programming”
  • M. Dawson (2010) “Python Programming for the Absolute Beginner, 3rd Edition”
  • Django website https://www.djangoproject.com/
  • A. Holovaty, J. Kaplan-Moss (2009) “The Definitive Guide to Django: Web Development
    Done Right”
  • M. Beri (2009) “Sviluppare applicazioni web con Django”
References (context)
• Personalized medicine in oncology
  • Hait WN, Cancer Discov 1, 383 (2011).
  • MacConaill LE et al., Cancer Discov 1, 297 ( 2011).
  • Haber Da, Gray NS, Baselga J, Cell 145, 19 (2011).
• Unmet needs and preclinical models
  • de Bono JS, Ashworth A, Nature 467, 543 (2010).
  • Tentler JJ et al., Nat Rev Clin Oncol 9, 338 (2012).
• Our work
  • Baralis E et al., J Med Systems ( 2012).
  • Migliardi G et al., Clin Cancer Res 18, 2515 ( 2012).
  • Bertotti A et al., Cancer Discov 1, 508 (2011).
  • Galimi F et al., Clin Cancer Res 17, 3146 ( 2011).

Weitere ähnliche Inhalte

Was ist angesagt?

Wearable Computing - Part IV: Ensemble classifiers & Insight into ongoing res...
Wearable Computing - Part IV: Ensemble classifiers & Insight into ongoing res...Wearable Computing - Part IV: Ensemble classifiers & Insight into ongoing res...
Wearable Computing - Part IV: Ensemble classifiers & Insight into ongoing res...Daniel Roggen
 
Influence of the population structure on the performance of an Agent-Based Ev...
Influence of the population structure on the performance of an Agent-Based Ev...Influence of the population structure on the performance of an Agent-Based Ev...
Influence of the population structure on the performance of an Agent-Based Ev...Juan J. Merelo
 
Maturing software engineering knowledge through classifications
Maturing software engineering knowledge through classificationsMaturing software engineering knowledge through classifications
Maturing software engineering knowledge through classificationsimmortalchhetri
 
Requirements Engineering - System Vision
Requirements Engineering - System VisionRequirements Engineering - System Vision
Requirements Engineering - System VisionBirgit Penzenstadler
 
An Empirical Comparison and Feature Reduction Performance Analysis of Intrusi...
An Empirical Comparison and Feature Reduction Performance Analysis of Intrusi...An Empirical Comparison and Feature Reduction Performance Analysis of Intrusi...
An Empirical Comparison and Feature Reduction Performance Analysis of Intrusi...ijctcm
 
Requirements Engineering - Quality assurance
Requirements Engineering - Quality assuranceRequirements Engineering - Quality assurance
Requirements Engineering - Quality assuranceBirgit Penzenstadler
 
Techniques for integrating machine learning with knowledge ...
Techniques for integrating machine learning with knowledge ...Techniques for integrating machine learning with knowledge ...
Techniques for integrating machine learning with knowledge ...butest
 
AN EFFICIENT PSO BASED ENSEMBLE CLASSIFICATION MODEL ON HIGH DIMENSIONAL DATA...
AN EFFICIENT PSO BASED ENSEMBLE CLASSIFICATION MODEL ON HIGH DIMENSIONAL DATA...AN EFFICIENT PSO BASED ENSEMBLE CLASSIFICATION MODEL ON HIGH DIMENSIONAL DATA...
AN EFFICIENT PSO BASED ENSEMBLE CLASSIFICATION MODEL ON HIGH DIMENSIONAL DATA...ijsc
 
ANALYSIS OF MACHINE LEARNING ALGORITHMS WITH FEATURE SELECTION FOR INTRUSION ...
ANALYSIS OF MACHINE LEARNING ALGORITHMS WITH FEATURE SELECTION FOR INTRUSION ...ANALYSIS OF MACHINE LEARNING ALGORITHMS WITH FEATURE SELECTION FOR INTRUSION ...
ANALYSIS OF MACHINE LEARNING ALGORITHMS WITH FEATURE SELECTION FOR INTRUSION ...IJNSA Journal
 
2020.04.07 automated molecular design and the bradshaw platform webinar
2020.04.07 automated molecular design and the bradshaw platform webinar2020.04.07 automated molecular design and the bradshaw platform webinar
2020.04.07 automated molecular design and the bradshaw platform webinarPistoia Alliance
 
06 styles and_greenfield_design
06 styles and_greenfield_design06 styles and_greenfield_design
06 styles and_greenfield_designMajong DevJfu
 
Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...
Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...
Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...CSCJournals
 
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...CS, NcState
 
An interactive approach to multiobjective clustering of gene expression patterns
An interactive approach to multiobjective clustering of gene expression patternsAn interactive approach to multiobjective clustering of gene expression patterns
An interactive approach to multiobjective clustering of gene expression patternsRavi Kumar
 
Requirements Engineering - Usage models
Requirements Engineering - Usage modelsRequirements Engineering - Usage models
Requirements Engineering - Usage modelsBirgit Penzenstadler
 
Requirements Engineering - Artifact-oriented requirements engineering
Requirements Engineering - Artifact-oriented requirements engineeringRequirements Engineering - Artifact-oriented requirements engineering
Requirements Engineering - Artifact-oriented requirements engineeringBirgit Penzenstadler
 
A Survey of Security of Multimodal Biometric Systems
A Survey of Security of Multimodal Biometric SystemsA Survey of Security of Multimodal Biometric Systems
A Survey of Security of Multimodal Biometric SystemsIJERA Editor
 
Popular Delusions, Crowds, and the Coming Deluge: end of the Oracle?
Popular Delusions, Crowds, and the Coming Deluge: end of the Oracle?Popular Delusions, Crowds, and the Coming Deluge: end of the Oracle?
Popular Delusions, Crowds, and the Coming Deluge: end of the Oracle?Bob Binder
 

Was ist angesagt? (19)

Wearable Computing - Part IV: Ensemble classifiers & Insight into ongoing res...
Wearable Computing - Part IV: Ensemble classifiers & Insight into ongoing res...Wearable Computing - Part IV: Ensemble classifiers & Insight into ongoing res...
Wearable Computing - Part IV: Ensemble classifiers & Insight into ongoing res...
 
Influence of the population structure on the performance of an Agent-Based Ev...
Influence of the population structure on the performance of an Agent-Based Ev...Influence of the population structure on the performance of an Agent-Based Ev...
Influence of the population structure on the performance of an Agent-Based Ev...
 
Maturing software engineering knowledge through classifications
Maturing software engineering knowledge through classificationsMaturing software engineering knowledge through classifications
Maturing software engineering knowledge through classifications
 
Requirements Engineering - System Vision
Requirements Engineering - System VisionRequirements Engineering - System Vision
Requirements Engineering - System Vision
 
An Empirical Comparison and Feature Reduction Performance Analysis of Intrusi...
An Empirical Comparison and Feature Reduction Performance Analysis of Intrusi...An Empirical Comparison and Feature Reduction Performance Analysis of Intrusi...
An Empirical Comparison and Feature Reduction Performance Analysis of Intrusi...
 
Requirements Engineering - Quality assurance
Requirements Engineering - Quality assuranceRequirements Engineering - Quality assurance
Requirements Engineering - Quality assurance
 
Techniques for integrating machine learning with knowledge ...
Techniques for integrating machine learning with knowledge ...Techniques for integrating machine learning with knowledge ...
Techniques for integrating machine learning with knowledge ...
 
AN EFFICIENT PSO BASED ENSEMBLE CLASSIFICATION MODEL ON HIGH DIMENSIONAL DATA...
AN EFFICIENT PSO BASED ENSEMBLE CLASSIFICATION MODEL ON HIGH DIMENSIONAL DATA...AN EFFICIENT PSO BASED ENSEMBLE CLASSIFICATION MODEL ON HIGH DIMENSIONAL DATA...
AN EFFICIENT PSO BASED ENSEMBLE CLASSIFICATION MODEL ON HIGH DIMENSIONAL DATA...
 
Kost for china-2011
Kost for china-2011Kost for china-2011
Kost for china-2011
 
ANALYSIS OF MACHINE LEARNING ALGORITHMS WITH FEATURE SELECTION FOR INTRUSION ...
ANALYSIS OF MACHINE LEARNING ALGORITHMS WITH FEATURE SELECTION FOR INTRUSION ...ANALYSIS OF MACHINE LEARNING ALGORITHMS WITH FEATURE SELECTION FOR INTRUSION ...
ANALYSIS OF MACHINE LEARNING ALGORITHMS WITH FEATURE SELECTION FOR INTRUSION ...
 
2020.04.07 automated molecular design and the bradshaw platform webinar
2020.04.07 automated molecular design and the bradshaw platform webinar2020.04.07 automated molecular design and the bradshaw platform webinar
2020.04.07 automated molecular design and the bradshaw platform webinar
 
06 styles and_greenfield_design
06 styles and_greenfield_design06 styles and_greenfield_design
06 styles and_greenfield_design
 
Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...
Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...
Comprehensive Testing Tool for Automatic Test Suite Generation, Prioritizatio...
 
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
 
An interactive approach to multiobjective clustering of gene expression patterns
An interactive approach to multiobjective clustering of gene expression patternsAn interactive approach to multiobjective clustering of gene expression patterns
An interactive approach to multiobjective clustering of gene expression patterns
 
Requirements Engineering - Usage models
Requirements Engineering - Usage modelsRequirements Engineering - Usage models
Requirements Engineering - Usage models
 
Requirements Engineering - Artifact-oriented requirements engineering
Requirements Engineering - Artifact-oriented requirements engineeringRequirements Engineering - Artifact-oriented requirements engineering
Requirements Engineering - Artifact-oriented requirements engineering
 
A Survey of Security of Multimodal Biometric Systems
A Survey of Security of Multimodal Biometric SystemsA Survey of Security of Multimodal Biometric Systems
A Survey of Security of Multimodal Biometric Systems
 
Popular Delusions, Crowds, and the Coming Deluge: end of the Oracle?
Popular Delusions, Crowds, and the Coming Deluge: end of the Oracle?Popular Delusions, Crowds, and the Coming Deluge: end of the Oracle?
Popular Delusions, Crowds, and the Coming Deluge: end of the Oracle?
 

Ähnlich wie Construction of Biomedical Database Applications Case Study: Laboratory Assistant Suite

Enabling faster analysis of vaccine adverse event reports with ontology support
Enabling faster analysis of vaccine adverse event reports with ontology supportEnabling faster analysis of vaccine adverse event reports with ontology support
Enabling faster analysis of vaccine adverse event reports with ontology supportMelanie Courtot
 
Sci Know Mine 2013: What can we learn from topic modeling on 350M academic do...
Sci Know Mine 2013: What can we learn from topic modeling on 350M academic do...Sci Know Mine 2013: What can we learn from topic modeling on 350M academic do...
Sci Know Mine 2013: What can we learn from topic modeling on 350M academic do...William Gunn
 
Umm, how did you get that number? Managing Data Integrity throughout the Data...
Umm, how did you get that number? Managing Data Integrity throughout the Data...Umm, how did you get that number? Managing Data Integrity throughout the Data...
Umm, how did you get that number? Managing Data Integrity throughout the Data...John Kinmonth
 
Career oppurtunities in the field of Bioinformatics
Career oppurtunities in the field of BioinformaticsCareer oppurtunities in the field of Bioinformatics
Career oppurtunities in the field of BioinformaticsShikha Thakur
 
Databases, Web Services and Tools For Systems Immunology
Databases, Web Services and Tools For Systems ImmunologyDatabases, Web Services and Tools For Systems Immunology
Databases, Web Services and Tools For Systems ImmunologyYannick Pouliot
 
ELIXIR . Technical Coordinator
ELIXIR. Technical CoordinatorELIXIR. Technical Coordinator
ELIXIR . Technical CoordinatorRafael C. Jimenez
 
Importance of data standards and system validation of software for clinical r...
Importance of data standards and system validation of software for clinical r...Importance of data standards and system validation of software for clinical r...
Importance of data standards and system validation of software for clinical r...Wolfgang Kuchinke
 
Autonomous Pervasive Systems and the Policy Challenges of a Small World!
Autonomous Pervasive Systems and the Policy Challenges of a Small World!Autonomous Pervasive Systems and the Policy Challenges of a Small World!
Autonomous Pervasive Systems and the Policy Challenges of a Small World!Emil Lupu
 
Fake news detection
Fake news detection Fake news detection
Fake news detection shalushamil
 
Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Sudarshan Dhondaley
 
Systems Engineering and Requirements Management in Medical Device Product Dev...
Systems Engineering and Requirements Management in Medical Device Product Dev...Systems Engineering and Requirements Management in Medical Device Product Dev...
Systems Engineering and Requirements Management in Medical Device Product Dev...UBMCanon
 
Considerations and challenges in building an end to-end microbiome workflow
Considerations and challenges in building an end to-end microbiome workflowConsiderations and challenges in building an end to-end microbiome workflow
Considerations and challenges in building an end to-end microbiome workflowEagle Genomics
 
Making project data avalialble eNanomapper through Database
Making project data avalialble eNanomapper through  DatabaseMaking project data avalialble eNanomapper through  Database
Making project data avalialble eNanomapper through DatabaseNina Jeliazkova
 

Ähnlich wie Construction of Biomedical Database Applications Case Study: Laboratory Assistant Suite (20)

Enabling faster analysis of vaccine adverse event reports with ontology support
Enabling faster analysis of vaccine adverse event reports with ontology supportEnabling faster analysis of vaccine adverse event reports with ontology support
Enabling faster analysis of vaccine adverse event reports with ontology support
 
DR KL CV v5
DR KL CV v5DR KL CV v5
DR KL CV v5
 
The Genopolis Microarray database
The Genopolis Microarray databaseThe Genopolis Microarray database
The Genopolis Microarray database
 
Dr. Eliot Siegel: Watson and Deep QA Software in Pursuit of Personalized Medi...
Dr. Eliot Siegel: Watson and Deep QA Software in Pursuit of Personalized Medi...Dr. Eliot Siegel: Watson and Deep QA Software in Pursuit of Personalized Medi...
Dr. Eliot Siegel: Watson and Deep QA Software in Pursuit of Personalized Medi...
 
Sci Know Mine 2013: What can we learn from topic modeling on 350M academic do...
Sci Know Mine 2013: What can we learn from topic modeling on 350M academic do...Sci Know Mine 2013: What can we learn from topic modeling on 350M academic do...
Sci Know Mine 2013: What can we learn from topic modeling on 350M academic do...
 
Medical 3D data retrieval
Medical 3D data retrievalMedical 3D data retrieval
Medical 3D data retrieval
 
Umm, how did you get that number? Managing Data Integrity throughout the Data...
Umm, how did you get that number? Managing Data Integrity throughout the Data...Umm, how did you get that number? Managing Data Integrity throughout the Data...
Umm, how did you get that number? Managing Data Integrity throughout the Data...
 
Career oppurtunities in the field of Bioinformatics
Career oppurtunities in the field of BioinformaticsCareer oppurtunities in the field of Bioinformatics
Career oppurtunities in the field of Bioinformatics
 
Databases, Web Services and Tools For Systems Immunology
Databases, Web Services and Tools For Systems ImmunologyDatabases, Web Services and Tools For Systems Immunology
Databases, Web Services and Tools For Systems Immunology
 
ELIXIR . Technical Coordinator
ELIXIR. Technical CoordinatorELIXIR. Technical Coordinator
ELIXIR . Technical Coordinator
 
Importance of data standards and system validation of software for clinical r...
Importance of data standards and system validation of software for clinical r...Importance of data standards and system validation of software for clinical r...
Importance of data standards and system validation of software for clinical r...
 
Irida bccdc dec10_2015
Irida bccdc dec10_2015Irida bccdc dec10_2015
Irida bccdc dec10_2015
 
Autonomous Pervasive Systems and the Policy Challenges of a Small World!
Autonomous Pervasive Systems and the Policy Challenges of a Small World!Autonomous Pervasive Systems and the Policy Challenges of a Small World!
Autonomous Pervasive Systems and the Policy Challenges of a Small World!
 
Dr. Ying Xiao: Radiation Therapy Oncology Group Bioinformatics
Dr. Ying Xiao: Radiation Therapy Oncology Group BioinformaticsDr. Ying Xiao: Radiation Therapy Oncology Group Bioinformatics
Dr. Ying Xiao: Radiation Therapy Oncology Group Bioinformatics
 
Fake news detection
Fake news detection Fake news detection
Fake news detection
 
Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2
 
Systems Engineering and Requirements Management in Medical Device Product Dev...
Systems Engineering and Requirements Management in Medical Device Product Dev...Systems Engineering and Requirements Management in Medical Device Product Dev...
Systems Engineering and Requirements Management in Medical Device Product Dev...
 
Considerations and challenges in building an end to-end microbiome workflow
Considerations and challenges in building an end to-end microbiome workflowConsiderations and challenges in building an end to-end microbiome workflow
Considerations and challenges in building an end to-end microbiome workflow
 
Making project data avalialble eNanomapper through Database
Making project data avalialble eNanomapper through  DatabaseMaking project data avalialble eNanomapper through  Database
Making project data avalialble eNanomapper through Database
 
Standardization of the HIPC Data Templates
Standardization of the HIPC Data TemplatesStandardization of the HIPC Data Templates
Standardization of the HIPC Data Templates
 

Kürzlich hochgeladen

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 

Kürzlich hochgeladen (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 

Construction of Biomedical Database Applications Case Study: Laboratory Assistant Suite

  • 1. Construction of Biomedical Database Applications Case Study: Laboratory Assistant Suite
  • 2. Players Starting May 2011, LAS stems from the joined efforts of IRCC and the Politecnico of Torino IRCC contribution • Strategy • Working- and Data-flow analysis • User interface definition • On-site implementation POLITO contribution • Database & Data warehouse • Analytical tools & software features • IT
  • 3. Context – Personalized Medicine in Oncology ASSUMPTION I: Cancer is a genetic disease caused by the progressive accumulation of gene mutations Figure 11.12 The Biology of Cancer (© Garland Science 2007)
  • 4. Context – Personalized Medicine in Oncology ASSUMPTION II: If mutations are causative, in general terms their quality is likely to influence the behavior (biology) of the system, in particular they are predicted to determining responses to perturbations (e.g. drugs)
  • 5. Context – Personalized Medicine in Oncology ASSUMPTION III: Mutations (or their surrogates) can be exploited to stratify patients for therapy
  • 6. Context – Personalized Medicine in Oncology EVIDENCE I: Precision cancer medicine works: Selective inhibition of „driver‟ mutations can result in dramatic clinical benefit
  • 7. Context – Personalized Medicine in Oncology EVIDENCE II: a. Precision cancer medicine stands on exceptions b. „Drivers‟ not always are „targets‟ Exceptions become rules only if confirmed on a population basis: • Only 10% of NSCLCs harbour EGFR mutations, and only 40% of EGFR- mutant tumours respond to EGFR inhibitors: • overall prevalence of responders: 4% • Only 4% of NSCLCs harbour ALK translocations, and only 50% of ALK- translocated tumours respond to ALK inhibitors: • overall prevalence of responders: 2% • Response to BRAF or MEK inhibition in BRAF mutant melanoma: 60% • Response to BRAF or MEK inhibition in BRAF mutant CRC: 2%
  • 8. Context – Personalized Medicine in Oncology CONSIDERATION I: Reliable preclinical models are needed to prioritize hypothesis validation in patients (clinical trials) due to ethical, economical and social constrains. • Understanding inter-individual tumour heterogeneity needs a reference background: • Focus on one specific tumour type • Pinpointing exceptions needs big numbers: • Collect many cases • Identifying exceptions (and the contextual mutational milieu) needs integrated approaches with reliable outcomes: • Multi-dimensional genomic exploration of high-quality tumour material
  • 9. Context – Personalized Medicine in Oncology CONSIDERATION II: Direct transplantation of surgical specimens in immunocompromized mice can generate a high fidelity preclinical platform for anticipation of clinical results • Reliable simulation of phase II trials for investigational drugs • Identification of new predictive biomarkers for approved drugs • Multi parametric evaluation of genetic determinants for patients stratification • Comparative evaluation of alternative treatment protocols
  • 11. Context – Facts & Numbers N° of collected specimens 22 148 235 480 614 Oct 2008 Oct 2010 May 2011 Apr 2012 Jan 2013 CRC Evaluation of LAS LAS banking commercial LIMS project started started solution started working LAS manages (starting April 2012): • 622 surgical samples collection • 7158 mice • 18537 measures of tumour growth • 1656 mice treated with 44 different protocols&schedules • 51131 archived aliquots of biological material
  • 12. Data Flow Tissue Aliquots BIOBANKING Operation Treatments Explants Derived Implants Storage Aliquots Mouse Measurements XENOPATIENTS EXPERIMENTS Next Generation Sequecing Molecular Experiments Images
  • 13. Requirements Data Entry • Real-time • Time saving • User friendly • Error proof Data Analysis • Integrative • Reproducible • Intuitive • No programming skills required
  • 14. From theory to practice
  • 15. Waterfall model • Feasibility study Requirements • Requirements analysis • Requirements definition • Define software system functions Design • Establish an overall system architecture • Unified Modeling Language (UML) • Code generation Implementation • Definition of logically separable part of the software (units) • Unit testing done by the developer • Integration and testing of the complete system Verification • Testing units against the requirements as specified • System delivered to the client • Identification of problems Maintenance • Errors fixed • Performance improvements
  • 16. Agile model • Customer satisfaction by rapid delivery of useful software • Welcome changing requirements, even late in development • Working software is delivered frequently • Working software is the principal measure of progress • Sustainable development • Close cooperation • Face-to-face conversation is the best form of communication (co-location) • Continuous attention to technical excellence and good design • Simplicity - the art of maximizing the amount of work not done - is essential • Self-organizing teams • Regular adaptation to changing circumstances
  • 17. Database design • Conceptual design. The purpose is to represent the informal requirements of an application in terms of a conceptual schema that refers to a conceptual data model • Logical design. Translation of the conceptual schema, defined in the preceding phase, into the logical schema of the database that refers to a logical data model • Physical design. The logical schema is completed with the details of the physical implementation (file organization and indexes) on a given DBMS. The product is called the physical schema and refers to a physical data model
  • 18. The Entity Relationship model • Conceptual data model • Provides a series of constructs capable of describing the data requirements • Easy to understand • Independent of the criteria for the management and organization of data on a database system • For every construct, there is a corresponding graphical representation. • Allows to define an E-R schema diagrammatically
  • 19. ER constructs • Entity • represents classes of objects (facts, things, people, for example) that have properties in common and an autonomous existence • Attribute • describes the elementary properties of entities or relationships • Relationship • represents logical links between two or more entities • Cardinalities • specified for each entity participating in a relationship • describe the maximum and minimum number of relationship occurrences in which an entity occurrence can participate • for the minimum cardinality, zero or one • for the maximum cardinality, one or many (N)
  • 20. ER constructs • Identifiers • specified for each entity • describe the concepts (attributes and/or entities) of the schema allowing the unambiguous identification of the entity occurrences • internal identifier (key) • formed by one or more attributes of the entity itself • external identifier (foreign key) • when the attributes of an entity are not sufficient to identify its occurrences unambiguously • other entities need to be involved in the identification • the entity to identify participates with cardinality equal to (1,1) into the relationship • Generalization • represents logical links between entities (i.e., 1 parent and one or more children) • the parent entity is more general in the sense that it comprises child entities as a particular case
  • 21. Logical design Goals • Construction of a relational schema • Representing correctly and efficiently all of the information described by an ER schema Design steps • Restructuring of the Entity-Relationship schema • Optimization of the schema • Translation into the logical model Entity1 (ID1, attr_a, attr_b, …) Entity2 (ID2, attr_x, attr_y, …) Relationship1 (ID1, ID2, attr_r, …)
  • 23. Database design example Mouse (barcode, status, gender, deathDate, birthDate)
  • 24. Database design example Mouse (barcode, status, gender, deathDate, birthDate, mouseStrainName) MouseStrain (mouseStrainName, description, linkToDoc)
  • 25. Database design example Explant (date, operator, mouseBarcode, scope) Aliquot (barcode, tissueType, tumorType, explantDate*, explantOperator*, mouseBarcode*) Implant (date, operator, aliquotBarcode, badQuality, site, mouseBarcode)
  • 27. Database design example Mouse (barcode, status, gender, deathDate, birthDate, mouseStrainName) MouseStrain (mouseStrainName, description, linkToDoc) Explant (date, operator, mouseBarcode, scope) Aliquot (barcode, tissueType, tumorType, explantDate*, explantOperator*, mouseBarcode*) Implant (date, operator, aliquotBarcode, badQuality, site, mouseBarcode) MeasurementSerie (date,time, type) MouseIsMeasured (date,time,mouseBarcode, value)
  • 28. Querying the database • SQL (Structured Query Language) • designed for managing data held in a relational database management systems • example: SELECT barcode, mouseStrainName FROM Mouse M, Explant E WHERE M.barcode = E.mouseBarcode AND status = ‘Implanted’; • ORM (Object-relational mapping) • programming technique for converting data between incompatible type systems in object-oriented programming languages • creates a "virtual object database“ used from within the programming language • maps database table rows to objects • allows to establish relations between those objects
  • 30. • High-level Python Web framework that encourages rapid development and clean, pragmatic design • Makes it easier to build better Web apps more quickly and with less code • The Web framework for perfectionists with deadlines Features • MVC architecture • Testing framework • Object- Relation Mapper • Solid security emphasis • Templating Language • Send emails easily • Automatic Language • Nice support for forms • Elegant urls • Great docs • Unicode support • Friendly community • Cache framework
  • 31. Build a django project $ django-admin.py startproject xenopatients • command-line utility to interact with the Django project • the actual Python package of the project • used to import anything inside it • indicates that this directory is a Python package • settings/configuration for the project • URL declarations • an entry-point for WSGI-compatible webservers to serve your project
  • 32. Run server $ ./manage.py runserver Validating models... 0 errors found March 07, 2013 - 15:50:53 Django version 1.5, using settings ‘xenopatients.settings' Development server is running at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
  • 33. Create application $ python manage.py startapp xenos • application belonging to the Django project • indicates that this directory is a Python package • defines python classes mapped on database tables • simple routines to check the operation of the code • defines a “type” of Web page to serve a specific function with a specific template • each view is represented by a simple Python function
  • 34. Define the model Edit the file /xenos/models.py class Mice(models.Model): barcode = models.BigIntegerField(primary_key=True, editable=False) birth_date = models.DateField(db_column= 'birthdate', blank=True) death_date = models.DateField(db_column= 'deathdate', blank=True) gender = models.CharField(max_length=1) status = models.CharField(max_length=20) id_mouse_strain = models.ForeignKey(‘Mouse_strain’, blank=True, db_column='id_mouse_strain') def __unicode__(self): return self.barcode class Mouse_strain(models.Model): id_strain = models.BigIntegerField(primary_key=True, editable=False) mouse_strain_name = models.CharField(max_length=45, unique=True) description = models.TextField() linkToDoc = models.CharField(max_length=80) def __unicode__(self): return self.mouse_strain_name
  • 35. Define the urls and views Edit the file /xenos/urls.py urlpatterns = patterns('', (r'^$', views.index), (r'^miceloading/$', views.miceLoading), (r'^miceStatus/$', views.changeStatus), … Edit the file /xenos/views.py @login_required def index(request): if request.method == 'GET': name = request.user.username return render_to_response('index.html', {'name':name}, RequestContext(request)) …
  • 36. Activate the admin site Edit the file /xenopatients/urls.py from django.conf.urls.defaults import * # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', # Uncomment the next line to enable the admin: (r'^admin/', include(admin.site.urls)),
  • 38. References • Software Engineering • I. Sommerville (2010) “Software Engineering (9th Edition)” • I. Sommerville (2007) “Ingegneria del software” • R. Miles, K. Hamilton (2006) “Learning UML 2.0” • M. Fowler (2010) “UML distilled. Guida rapida al linguaggio di modellazione standard” • Database • C. Coronel, S. Morris, P. Rob (2012) “Database Systems: Design, Implementation, and Management” • P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone (2009) “Basi di dati – Modelli e linguaggi di interrogazione” • Python & Django • A. Martelli (2006) “Python in a Nutshell, Second Edition” • M. Lutz (2009) “Learning Python: Powerful Object-Oriented Programming” • M. Dawson (2010) “Python Programming for the Absolute Beginner, 3rd Edition” • Django website https://www.djangoproject.com/ • A. Holovaty, J. Kaplan-Moss (2009) “The Definitive Guide to Django: Web Development Done Right” • M. Beri (2009) “Sviluppare applicazioni web con Django”
  • 39. References (context) • Personalized medicine in oncology • Hait WN, Cancer Discov 1, 383 (2011). • MacConaill LE et al., Cancer Discov 1, 297 ( 2011). • Haber Da, Gray NS, Baselga J, Cell 145, 19 (2011). • Unmet needs and preclinical models • de Bono JS, Ashworth A, Nature 467, 543 (2010). • Tentler JJ et al., Nat Rev Clin Oncol 9, 338 (2012). • Our work • Baralis E et al., J Med Systems ( 2012). • Migliardi G et al., Clin Cancer Res 18, 2515 ( 2012). • Bertotti A et al., Cancer Discov 1, 508 (2011). • Galimi F et al., Clin Cancer Res 17, 3146 ( 2011).