SlideShare a Scribd company logo
Reproducible Science with Python
Andreas Schreiber
Department for Intelligent and Distributed Systems
German Aerospace Center (DLR), Cologne/Berlin
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 1
Simulations, experiments, data analytics, …
Science
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 2
SIMULATION FAILED
Reproducing results relies on
• Open Source codes
• Code reviews
• Code repositories
• Publications with code
• Computational environment
captured (Docker etc.)
• Workflows
• Open Data formats
• Data management
• (Electronics) laboratory notebooks
• Provenance
Reproducible Science
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 3
Provenance is information about entities, activities, and
people involved in producing a piece of data or thing,
which can be used to form assessments about its
quality, reliability or trustworthiness.
PROV W3C Working Group
https://www.w3.org/TR/prov-overview
Provenance
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 4
W3C Provenance Working Group:
https://www.w3.org/2011/prov
PROV
• The goal of PROV is to enable the wide publication and
interchange of provenance on the Web and other information
systems
• PROV enables one to represent and interchange provenance
information using widely available formats such as RDF and XML
PROV
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 5
Entities
• Physical, digital, conceptual, or other kinds of things
• For example, documents, web sites, graphics, or data sets
Activities
• Activities generate new entities or
make use of existing entities
• Activities could be actions or processes
Agents
• Agents takes a role in an activity and
have the responsibility for the activity
• For example, persons, pieces of software, or organizations
Overview of PROV
Key Concepts
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 6
PROV Data Model
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 7
Activity
Entity
Agent
wasGeneratedBy
used
wasDerivedFrom
wasAttributedTo
wasAssociatedWith
Example Provenance
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 8
https://provenance.ecs.soton.ac.uk/store/documents/113794/
Storing Provenance
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 9
Provenance
Store
Provenance recording
during runtime
Applications
/ Workflow
Data (results)
Some Storage Technologies
• Relational databases and SQL
• XML and Xpath
• RDF and SPARQL
• Graph databases and Gremlin/Cypher
Services
• REST APIs
• ProvStore (University of Southampton)
Storing and Retrieving Provenance
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 10
ProvStore
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 11
https://provenance.ecs.soton.ac.uk/store/
Provenance is a directed acyclic graph (DAG)
Graphs
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 12
A
B
E
F
G
D
C
Naturally, graph databases are a good technology for storing
(Provenance) graphs
Many graph databases are available
• Neo4J
• Titan
• ArangoDB
• ...
Query languages
• Cypher
• Gremlin (TinkerPop)
• GraphQL
Graph Databases
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 13
• Open-Source
• Implemented in Java
• Stores property graphs
(key-value-based, directed)
http://neo4j.com
Neo4j
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 14
Depends on your application (tools, languages, etc.)
Libraries for Python
• prov
• provneo4j
• NoWorkflow
• …
Tools
• Git2PROV
• Prov-sty for LaTeX
• …
Gathering Provenance
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 15
Python Library prov
https://github.com/trungdong/prov
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 16
from prov.model import ProvDocument
# Create a new provenance document
d1 = ProvDocument()
# Entity: now:employment-article-v1.html
e1 = d1.entity('now:employment-article-v1.html')
# Agent: nowpeople:Bob
d1.agent('nowpeople:Bob')
# Attributing the article to the agent
d1.wasAttributedTo(e1, 'nowpeople:Bob')
d1.entity('govftp:oesm11st.zip',
{'prov:label': 'employment-stats-2011',
'prov:type': 'void:Dataset'})
d1.wasDerivedFrom('now:employment-article-v1.html',
'govftp:oesm11st.zip')
# Adding an activity
d1.activity('is:writeArticle')
d1.used('is:writeArticle', 'govftp:oesm11st.zip')
d1.wasGeneratedBy('now:employment-article-v1.html', 'is:writeArticle')
Python Library prov
https://github.com/trungdong/prov
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 17
Example
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 18
http://localhost:8888/notebooks/WeightCompanion PROV.ipynb
provneo4j – Storing PROV Documents in Neo4j
https://github.com/DLR-SC/provneo4j
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 19
import provneo4j.api
provneo4j_api = provneo4j.api.Api(
base_url="http://localhost:7474/db/data",
username="neo4j", password="python")
provneo4j_api.document.create(prov_doc, name=”MyProv”)
provneo4j – Storing PROV Documents in Neo4j
https://github.com/DLR-SC/provneo4j
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 20
NoWorkflow – Provenance of Scripts
https://github.com/gems-uff/noworkflow
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 21
Project
experiment.py
p12.dat
p13.dat
precipitation.py
p14.dat
out.png
$ now run -e Tracker experiment.py
Git2PROV
http://git2prov.org
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 22
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 23
LaTeX Annotations
prov-sty for LaTeX
https://github.com/prov-suite/prov-sty
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 24
begin{document}
provAuthor{Andreas Schreiber}{http://orcid.org/0000-0001-5750-5649}
provOrganization{German Aerospace Center (DLR)}{http://www.dlr.de}
provTitle{A Provenance Model for Quantified Self Data}
provProject
{PROV-SPEC (FS12016)}
{http://www.dlr.de/sc/desktopdefault.aspx/tabid-8073/}
{http://www.bmwi.de/}
Electronic Laboratory Notebook
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 25
Query „Who worked on experiment X?“
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 26
$experiment = g.key($_g, 'identifier', X)
$user = $experiment/inE/inV/outE[@label = controlled_by]
Practical Use Case – Archive all Data of a Paper
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 27
https://github.com/DLR-SC/DataFinder
New PROV Library for Python in development
• https://github.com/DLR-SC/prov-db-connector
• Connectors for Neo4j implemented, ArangoDB planned
• APIs in REST, ZeroMQ, MQTT
Trusted Provenance
• Storing Provenance in Blockchains
Provenance for people
• New approaches for visualization
• For example, PROV Comics
Current Research and Development
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 28
> PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 29
Thank You!
Questions?
Andreas.Schreiber@dlr.de
www.DLR.de/sc | @onyame

More Related Content

What's hot (20)

Applying Machine Learning using H2O
Applying Machine Learning using H2OApplying Machine Learning using H2O
Applying Machine Learning using H2O
Ian Gomez
 
MySQL performance monitoring using Statsd and Graphite (PLUK2013)
MySQL performance monitoring using Statsd and Graphite (PLUK2013)MySQL performance monitoring using Statsd and Graphite (PLUK2013)
MySQL performance monitoring using Statsd and Graphite (PLUK2013)
spil-engineering
 
Statsd introduction
Statsd introductionStatsd introduction
Statsd introduction
Rick Chang
 
What's new in Spark 2.0?
What's new in Spark 2.0?What's new in Spark 2.0?
What's new in Spark 2.0?
rerngvit yanggratoke
 
Stacked Ensembles in H2O
Stacked Ensembles in H2OStacked Ensembles in H2O
Stacked Ensembles in H2O
Sri Ambati
 
Pyparis2017 / Scikit-learn - an incomplete yearly review, by Gael Varoquaux
Pyparis2017 / Scikit-learn - an incomplete yearly review, by Gael VaroquauxPyparis2017 / Scikit-learn - an incomplete yearly review, by Gael Varoquaux
Pyparis2017 / Scikit-learn - an incomplete yearly review, by Gael Varoquaux
Pôle Systematic Paris-Region
 
Quick and Dirty: Scaling Out Predictive Models Using Revolution Analytics on ...
Quick and Dirty: Scaling Out Predictive Models Using Revolution Analytics on ...Quick and Dirty: Scaling Out Predictive Models Using Revolution Analytics on ...
Quick and Dirty: Scaling Out Predictive Models Using Revolution Analytics on ...
Revolution Analytics
 
Write Graph Algorithms Like a Boss Andrew Ray
Write Graph Algorithms Like a Boss Andrew RayWrite Graph Algorithms Like a Boss Andrew Ray
Write Graph Algorithms Like a Boss Andrew Ray
Databricks
 
Realtime Data Analysis Patterns
Realtime Data Analysis PatternsRealtime Data Analysis Patterns
Realtime Data Analysis Patterns
Mikio L. Braun
 
Case Studies in advanced analytics with R
Case Studies in advanced analytics with RCase Studies in advanced analytics with R
Case Studies in advanced analytics with R
Wit Jakuczun
 
Seventh openCypher Implementers Group Meeting: Status Update
Seventh openCypher Implementers Group Meeting: Status UpdateSeventh openCypher Implementers Group Meeting: Status Update
Seventh openCypher Implementers Group Meeting: Status Update
openCypher
 
Big Data with Modern R & Spark
Big Data with Modern R & SparkBig Data with Modern R & Spark
Big Data with Modern R & Spark
Xavier de Pedro
 
Patching Mr Robot: Mitigating IoT-Related Cyber-social Disasters by getting F...
Patching Mr Robot: Mitigating IoT-Related Cyber-social Disasters by getting F...Patching Mr Robot: Mitigating IoT-Related Cyber-social Disasters by getting F...
Patching Mr Robot: Mitigating IoT-Related Cyber-social Disasters by getting F...
Eugene Siow
 
Managing data workflows with Luigi
Managing data workflows with LuigiManaging data workflows with Luigi
Managing data workflows with Luigi
Teemu Kurppa
 
Knowledge Graph for Cybersecurity: An Introduction By Kabul Kurniawan
Knowledge Graph for Cybersecurity: An Introduction By  Kabul KurniawanKnowledge Graph for Cybersecurity: An Introduction By  Kabul Kurniawan
Knowledge Graph for Cybersecurity: An Introduction By Kabul Kurniawan
Kabul Kurniawan
 
Virtual Knowledge Graphs for Federated Log Analysis
Virtual Knowledge Graphs for Federated Log AnalysisVirtual Knowledge Graphs for Federated Log Analysis
Virtual Knowledge Graphs for Federated Log Analysis
Kabul Kurniawan
 
Scaling collaborative data science with Globus and Jupyter
Scaling collaborative data science with Globus and JupyterScaling collaborative data science with Globus and Jupyter
Scaling collaborative data science with Globus and Jupyter
Ian Foster
 
Workflow Engines + Luigi
Workflow Engines + LuigiWorkflow Engines + Luigi
Workflow Engines + Luigi
Vladislav Supalov
 
HNSciCloud Status Update
HNSciCloud Status UpdateHNSciCloud Status Update
HNSciCloud Status Update
Helix Nebula The Science Cloud
 
WSO2 Virtual Hackathon Big Data in the Cloud Case Study
WSO2 Virtual Hackathon Big Data in the Cloud Case StudyWSO2 Virtual Hackathon Big Data in the Cloud Case Study
WSO2 Virtual Hackathon Big Data in the Cloud Case Study
Lakmal Warusawithana
 
Applying Machine Learning using H2O
Applying Machine Learning using H2OApplying Machine Learning using H2O
Applying Machine Learning using H2O
Ian Gomez
 
MySQL performance monitoring using Statsd and Graphite (PLUK2013)
MySQL performance monitoring using Statsd and Graphite (PLUK2013)MySQL performance monitoring using Statsd and Graphite (PLUK2013)
MySQL performance monitoring using Statsd and Graphite (PLUK2013)
spil-engineering
 
Statsd introduction
Statsd introductionStatsd introduction
Statsd introduction
Rick Chang
 
Stacked Ensembles in H2O
Stacked Ensembles in H2OStacked Ensembles in H2O
Stacked Ensembles in H2O
Sri Ambati
 
Pyparis2017 / Scikit-learn - an incomplete yearly review, by Gael Varoquaux
Pyparis2017 / Scikit-learn - an incomplete yearly review, by Gael VaroquauxPyparis2017 / Scikit-learn - an incomplete yearly review, by Gael Varoquaux
Pyparis2017 / Scikit-learn - an incomplete yearly review, by Gael Varoquaux
Pôle Systematic Paris-Region
 
Quick and Dirty: Scaling Out Predictive Models Using Revolution Analytics on ...
Quick and Dirty: Scaling Out Predictive Models Using Revolution Analytics on ...Quick and Dirty: Scaling Out Predictive Models Using Revolution Analytics on ...
Quick and Dirty: Scaling Out Predictive Models Using Revolution Analytics on ...
Revolution Analytics
 
Write Graph Algorithms Like a Boss Andrew Ray
Write Graph Algorithms Like a Boss Andrew RayWrite Graph Algorithms Like a Boss Andrew Ray
Write Graph Algorithms Like a Boss Andrew Ray
Databricks
 
Realtime Data Analysis Patterns
Realtime Data Analysis PatternsRealtime Data Analysis Patterns
Realtime Data Analysis Patterns
Mikio L. Braun
 
Case Studies in advanced analytics with R
Case Studies in advanced analytics with RCase Studies in advanced analytics with R
Case Studies in advanced analytics with R
Wit Jakuczun
 
Seventh openCypher Implementers Group Meeting: Status Update
Seventh openCypher Implementers Group Meeting: Status UpdateSeventh openCypher Implementers Group Meeting: Status Update
Seventh openCypher Implementers Group Meeting: Status Update
openCypher
 
Big Data with Modern R & Spark
Big Data with Modern R & SparkBig Data with Modern R & Spark
Big Data with Modern R & Spark
Xavier de Pedro
 
Patching Mr Robot: Mitigating IoT-Related Cyber-social Disasters by getting F...
Patching Mr Robot: Mitigating IoT-Related Cyber-social Disasters by getting F...Patching Mr Robot: Mitigating IoT-Related Cyber-social Disasters by getting F...
Patching Mr Robot: Mitigating IoT-Related Cyber-social Disasters by getting F...
Eugene Siow
 
Managing data workflows with Luigi
Managing data workflows with LuigiManaging data workflows with Luigi
Managing data workflows with Luigi
Teemu Kurppa
 
Knowledge Graph for Cybersecurity: An Introduction By Kabul Kurniawan
Knowledge Graph for Cybersecurity: An Introduction By  Kabul KurniawanKnowledge Graph for Cybersecurity: An Introduction By  Kabul Kurniawan
Knowledge Graph for Cybersecurity: An Introduction By Kabul Kurniawan
Kabul Kurniawan
 
Virtual Knowledge Graphs for Federated Log Analysis
Virtual Knowledge Graphs for Federated Log AnalysisVirtual Knowledge Graphs for Federated Log Analysis
Virtual Knowledge Graphs for Federated Log Analysis
Kabul Kurniawan
 
Scaling collaborative data science with Globus and Jupyter
Scaling collaborative data science with Globus and JupyterScaling collaborative data science with Globus and Jupyter
Scaling collaborative data science with Globus and Jupyter
Ian Foster
 
WSO2 Virtual Hackathon Big Data in the Cloud Case Study
WSO2 Virtual Hackathon Big Data in the Cloud Case StudyWSO2 Virtual Hackathon Big Data in the Cloud Case Study
WSO2 Virtual Hackathon Big Data in the Cloud Case Study
Lakmal Warusawithana
 

Viewers also liked (20)

Can you handle The TRUTH ,..? Missing page history of JESUS and Hidden TRUTH
Can you handle The TRUTH ,..?  Missing page history of JESUS and Hidden TRUTHCan you handle The TRUTH ,..?  Missing page history of JESUS and Hidden TRUTH
Can you handle The TRUTH ,..? Missing page history of JESUS and Hidden TRUTH
Heri kusrianto
 
Application Development on Metapod
Application Development on MetapodApplication Development on Metapod
Application Development on Metapod
Cisco DevNet
 
Say no to var_dump
Say no to var_dumpSay no to var_dump
Say no to var_dump
benwaine
 
Human Capital in de 21e eeuw
Human Capital in de 21e eeuwHuman Capital in de 21e eeuw
Human Capital in de 21e eeuw
han mesters
 
Service Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosService Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache Mesos
Ralf Ernst
 
Building mental models
Building mental modelsBuilding mental models
Building mental models
Emily Kissner
 
Incident Command: The far side of the edge
Incident Command: The far side of the edgeIncident Command: The far side of the edge
Incident Command: The far side of the edge
Fastly
 
Using NLP to find contextual relationships between fashion houses
Using NLP to find contextual relationships between fashion housesUsing NLP to find contextual relationships between fashion houses
Using NLP to find contextual relationships between fashion houses
Sushant Shankar
 
Respond to and troubleshoot production incidents like an sa
Respond to and troubleshoot production incidents like an saRespond to and troubleshoot production incidents like an sa
Respond to and troubleshoot production incidents like an sa
Tom Cudd
 
Cloud adoption patterns
Cloud adoption patternsCloud adoption patterns
Cloud adoption patterns
Kyle Brown
 
Linux Malware Analysis
Linux Malware Analysis	Linux Malware Analysis
Linux Malware Analysis
Cysinfo Cyber Security Community
 
vanEngelen 360 Inspiratieborrel - Trends Update 2014
vanEngelen 360 Inspiratieborrel - Trends Update 2014vanEngelen 360 Inspiratieborrel - Trends Update 2014
vanEngelen 360 Inspiratieborrel - Trends Update 2014
Van Engelen
 
Build Stuff 2015 program
Build Stuff 2015 programBuild Stuff 2015 program
Build Stuff 2015 program
Neringa Reichenbergeryte-Young
 
Next-gen Network Telemetry is Within Your Packets: In-band OAM
Next-gen Network Telemetry is Within Your Packets: In-band OAMNext-gen Network Telemetry is Within Your Packets: In-band OAM
Next-gen Network Telemetry is Within Your Packets: In-band OAM
Frank Brockners
 
Comparison: VNS3 and Openswan
Comparison: VNS3 and OpenswanComparison: VNS3 and Openswan
Comparison: VNS3 and Openswan
Cohesive Networks
 
Interact Differently: Get More From Your Tools Through Exposed APIs
Interact Differently: Get More From Your Tools Through Exposed APIsInteract Differently: Get More From Your Tools Through Exposed APIs
Interact Differently: Get More From Your Tools Through Exposed APIs
Kevin Fealey
 
Cedar Ridge Weekly Report
Cedar Ridge Weekly ReportCedar Ridge Weekly Report
Cedar Ridge Weekly Report
clstutts
 
Dashboards: Using data to find out what's really going on
Dashboards: Using data to find out what's really going onDashboards: Using data to find out what's really going on
Dashboards: Using data to find out what's really going on
rouanw
 
SIG-NOC Tools Survey
SIG-NOC Tools SurveySIG-NOC Tools Survey
SIG-NOC Tools Survey
Pavel Odintsov
 
Can you handle The TRUTH ,..? Missing page history of JESUS and Hidden TRUTH
Can you handle The TRUTH ,..?  Missing page history of JESUS and Hidden TRUTHCan you handle The TRUTH ,..?  Missing page history of JESUS and Hidden TRUTH
Can you handle The TRUTH ,..? Missing page history of JESUS and Hidden TRUTH
Heri kusrianto
 
Application Development on Metapod
Application Development on MetapodApplication Development on Metapod
Application Development on Metapod
Cisco DevNet
 
Say no to var_dump
Say no to var_dumpSay no to var_dump
Say no to var_dump
benwaine
 
Human Capital in de 21e eeuw
Human Capital in de 21e eeuwHuman Capital in de 21e eeuw
Human Capital in de 21e eeuw
han mesters
 
Service Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosService Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache Mesos
Ralf Ernst
 
Building mental models
Building mental modelsBuilding mental models
Building mental models
Emily Kissner
 
Incident Command: The far side of the edge
Incident Command: The far side of the edgeIncident Command: The far side of the edge
Incident Command: The far side of the edge
Fastly
 
Using NLP to find contextual relationships between fashion houses
Using NLP to find contextual relationships between fashion housesUsing NLP to find contextual relationships between fashion houses
Using NLP to find contextual relationships between fashion houses
Sushant Shankar
 
Respond to and troubleshoot production incidents like an sa
Respond to and troubleshoot production incidents like an saRespond to and troubleshoot production incidents like an sa
Respond to and troubleshoot production incidents like an sa
Tom Cudd
 
Cloud adoption patterns
Cloud adoption patternsCloud adoption patterns
Cloud adoption patterns
Kyle Brown
 
vanEngelen 360 Inspiratieborrel - Trends Update 2014
vanEngelen 360 Inspiratieborrel - Trends Update 2014vanEngelen 360 Inspiratieborrel - Trends Update 2014
vanEngelen 360 Inspiratieborrel - Trends Update 2014
Van Engelen
 
Next-gen Network Telemetry is Within Your Packets: In-band OAM
Next-gen Network Telemetry is Within Your Packets: In-band OAMNext-gen Network Telemetry is Within Your Packets: In-band OAM
Next-gen Network Telemetry is Within Your Packets: In-band OAM
Frank Brockners
 
Comparison: VNS3 and Openswan
Comparison: VNS3 and OpenswanComparison: VNS3 and Openswan
Comparison: VNS3 and Openswan
Cohesive Networks
 
Interact Differently: Get More From Your Tools Through Exposed APIs
Interact Differently: Get More From Your Tools Through Exposed APIsInteract Differently: Get More From Your Tools Through Exposed APIs
Interact Differently: Get More From Your Tools Through Exposed APIs
Kevin Fealey
 
Cedar Ridge Weekly Report
Cedar Ridge Weekly ReportCedar Ridge Weekly Report
Cedar Ridge Weekly Report
clstutts
 
Dashboards: Using data to find out what's really going on
Dashboards: Using data to find out what's really going onDashboards: Using data to find out what's really going on
Dashboards: Using data to find out what's really going on
rouanw
 
Ad

Similar to Reproducible Science with Python (20)

Provenance for Reproducible Data Science
Provenance for Reproducible Data ScienceProvenance for Reproducible Data Science
Provenance for Reproducible Data Science
Andreas Schreiber
 
Provenance as a building block for an open science infrastructure
Provenance as a building block for an open science infrastructureProvenance as a building block for an open science infrastructure
Provenance as a building block for an open science infrastructure
Andreas Schreiber
 
Thoughts on Knowledge Graphs & Deeper Provenance
Thoughts on Knowledge Graphs  & Deeper ProvenanceThoughts on Knowledge Graphs  & Deeper Provenance
Thoughts on Knowledge Graphs & Deeper Provenance
Paul Groth
 
From Research Objects to Reproducible Science Tales
From Research Objects to Reproducible Science TalesFrom Research Objects to Reproducible Science Tales
From Research Objects to Reproducible Science Tales
Bertram Ludäscher
 
Provenance Analysis and RDF Query Processing: W3C PROV for Data Quality and T...
Provenance Analysis and RDF Query Processing: W3C PROV for Data Quality and T...Provenance Analysis and RDF Query Processing: W3C PROV for Data Quality and T...
Provenance Analysis and RDF Query Processing: W3C PROV for Data Quality and T...
satyasanket
 
Camp 4-data workshop presentation
Camp 4-data workshop presentationCamp 4-data workshop presentation
Camp 4-data workshop presentation
Paolo Missier
 
Capturing and querying fine-grained provenance of preprocessing pipelines in ...
Capturing and querying fine-grained provenance of preprocessing pipelines in ...Capturing and querying fine-grained provenance of preprocessing pipelines in ...
Capturing and querying fine-grained provenance of preprocessing pipelines in ...
Paolo Missier
 
"Data Provenance: Principles and Why it matters for BioMedical Applications"
"Data Provenance: Principles and Why it matters for BioMedical Applications""Data Provenance: Principles and Why it matters for BioMedical Applications"
"Data Provenance: Principles and Why it matters for BioMedical Applications"
Pinar Alper
 
PTU: Using Provenance for Repeatability
PTU: Using Provenance for RepeatabilityPTU: Using Provenance for Repeatability
PTU: Using Provenance for Repeatability
Tanu Malik
 
Provinance in scientific workflows in e science
Provinance in scientific workflows in e scienceProvinance in scientific workflows in e science
Provinance in scientific workflows in e science
bdemchak
 
Data and end-to-end Explainability (XAI,XEE)
Data and end-to-end Explainability (XAI,XEE)Data and end-to-end Explainability (XAI,XEE)
Data and end-to-end Explainability (XAI,XEE)
Paolo Missier
 
Provenance and DataONE: Facilitating Reproducible Science
Provenance and DataONE: Facilitating Reproducible ScienceProvenance and DataONE: Facilitating Reproducible Science
Provenance and DataONE: Facilitating Reproducible Science
Bertram Ludäscher
 
The lifecycle of reproducible science data and what provenance has got to do ...
The lifecycle of reproducible science data and what provenance has got to do ...The lifecycle of reproducible science data and what provenance has got to do ...
The lifecycle of reproducible science data and what provenance has got to do ...
Paolo Missier
 
IPython Notebooks - Hacia los papers ejecutables
IPython Notebooks - Hacia los papers ejecutablesIPython Notebooks - Hacia los papers ejecutables
IPython Notebooks - Hacia los papers ejecutables
Jose Enrique Ruiz
 
Capturing and querying fine-grained provenance of preprocessing pipelines in ...
Capturing and querying fine-grained provenance of preprocessing pipelines in ...Capturing and querying fine-grained provenance of preprocessing pipelines in ...
Capturing and querying fine-grained provenance of preprocessing pipelines in ...
Paolo Missier
 
SHARP: Harmonizing cross-workflow Provenance
SHARP: Harmonizing cross-workflow ProvenanceSHARP: Harmonizing cross-workflow Provenance
SHARP: Harmonizing cross-workflow Provenance
Syed Muhammad Ali Hasnain
 
SHARP: harmonizing cross-workflow provenance
SHARP: harmonizing cross-workflow provenanceSHARP: harmonizing cross-workflow provenance
SHARP: harmonizing cross-workflow provenance
Gaignard Alban
 
Transcript - Provenance and Social Science data
Transcript  - Provenance and Social Science dataTranscript  - Provenance and Social Science data
Transcript - Provenance and Social Science data
ARDC
 
PROV Tutorials (Data Provenance Standard)
PROV Tutorials (Data Provenance Standard)PROV Tutorials (Data Provenance Standard)
PROV Tutorials (Data Provenance Standard)
Tae-Hyoung Choi
 
Reproducibility 1
Reproducibility 1Reproducibility 1
Reproducibility 1
Khalid Belhajjame
 
Provenance for Reproducible Data Science
Provenance for Reproducible Data ScienceProvenance for Reproducible Data Science
Provenance for Reproducible Data Science
Andreas Schreiber
 
Provenance as a building block for an open science infrastructure
Provenance as a building block for an open science infrastructureProvenance as a building block for an open science infrastructure
Provenance as a building block for an open science infrastructure
Andreas Schreiber
 
Thoughts on Knowledge Graphs & Deeper Provenance
Thoughts on Knowledge Graphs  & Deeper ProvenanceThoughts on Knowledge Graphs  & Deeper Provenance
Thoughts on Knowledge Graphs & Deeper Provenance
Paul Groth
 
From Research Objects to Reproducible Science Tales
From Research Objects to Reproducible Science TalesFrom Research Objects to Reproducible Science Tales
From Research Objects to Reproducible Science Tales
Bertram Ludäscher
 
Provenance Analysis and RDF Query Processing: W3C PROV for Data Quality and T...
Provenance Analysis and RDF Query Processing: W3C PROV for Data Quality and T...Provenance Analysis and RDF Query Processing: W3C PROV for Data Quality and T...
Provenance Analysis and RDF Query Processing: W3C PROV for Data Quality and T...
satyasanket
 
Camp 4-data workshop presentation
Camp 4-data workshop presentationCamp 4-data workshop presentation
Camp 4-data workshop presentation
Paolo Missier
 
Capturing and querying fine-grained provenance of preprocessing pipelines in ...
Capturing and querying fine-grained provenance of preprocessing pipelines in ...Capturing and querying fine-grained provenance of preprocessing pipelines in ...
Capturing and querying fine-grained provenance of preprocessing pipelines in ...
Paolo Missier
 
"Data Provenance: Principles and Why it matters for BioMedical Applications"
"Data Provenance: Principles and Why it matters for BioMedical Applications""Data Provenance: Principles and Why it matters for BioMedical Applications"
"Data Provenance: Principles and Why it matters for BioMedical Applications"
Pinar Alper
 
PTU: Using Provenance for Repeatability
PTU: Using Provenance for RepeatabilityPTU: Using Provenance for Repeatability
PTU: Using Provenance for Repeatability
Tanu Malik
 
Provinance in scientific workflows in e science
Provinance in scientific workflows in e scienceProvinance in scientific workflows in e science
Provinance in scientific workflows in e science
bdemchak
 
Data and end-to-end Explainability (XAI,XEE)
Data and end-to-end Explainability (XAI,XEE)Data and end-to-end Explainability (XAI,XEE)
Data and end-to-end Explainability (XAI,XEE)
Paolo Missier
 
Provenance and DataONE: Facilitating Reproducible Science
Provenance and DataONE: Facilitating Reproducible ScienceProvenance and DataONE: Facilitating Reproducible Science
Provenance and DataONE: Facilitating Reproducible Science
Bertram Ludäscher
 
The lifecycle of reproducible science data and what provenance has got to do ...
The lifecycle of reproducible science data and what provenance has got to do ...The lifecycle of reproducible science data and what provenance has got to do ...
The lifecycle of reproducible science data and what provenance has got to do ...
Paolo Missier
 
IPython Notebooks - Hacia los papers ejecutables
IPython Notebooks - Hacia los papers ejecutablesIPython Notebooks - Hacia los papers ejecutables
IPython Notebooks - Hacia los papers ejecutables
Jose Enrique Ruiz
 
Capturing and querying fine-grained provenance of preprocessing pipelines in ...
Capturing and querying fine-grained provenance of preprocessing pipelines in ...Capturing and querying fine-grained provenance of preprocessing pipelines in ...
Capturing and querying fine-grained provenance of preprocessing pipelines in ...
Paolo Missier
 
SHARP: Harmonizing cross-workflow Provenance
SHARP: Harmonizing cross-workflow ProvenanceSHARP: Harmonizing cross-workflow Provenance
SHARP: Harmonizing cross-workflow Provenance
Syed Muhammad Ali Hasnain
 
SHARP: harmonizing cross-workflow provenance
SHARP: harmonizing cross-workflow provenanceSHARP: harmonizing cross-workflow provenance
SHARP: harmonizing cross-workflow provenance
Gaignard Alban
 
Transcript - Provenance and Social Science data
Transcript  - Provenance and Social Science dataTranscript  - Provenance and Social Science data
Transcript - Provenance and Social Science data
ARDC
 
PROV Tutorials (Data Provenance Standard)
PROV Tutorials (Data Provenance Standard)PROV Tutorials (Data Provenance Standard)
PROV Tutorials (Data Provenance Standard)
Tae-Hyoung Choi
 
Ad

More from Andreas Schreiber (20)

Provenance-based Security Audits and its Application to COVID-19 Contact Trac...
Provenance-based Security Audits and its Application to COVID-19 Contact Trac...Provenance-based Security Audits and its Application to COVID-19 Contact Trac...
Provenance-based Security Audits and its Application to COVID-19 Contact Trac...
Andreas Schreiber
 
Visualization of Software Architectures in Virtual Reality and Augmented Reality
Visualization of Software Architectures in Virtual Reality and Augmented RealityVisualization of Software Architectures in Virtual Reality and Augmented Reality
Visualization of Software Architectures in Virtual Reality and Augmented Reality
Andreas Schreiber
 
Raising Awareness about Open Source Licensing at the German Aerospace Center
Raising Awareness about Open Source Licensing at the German Aerospace CenterRaising Awareness about Open Source Licensing at the German Aerospace Center
Raising Awareness about Open Source Licensing at the German Aerospace Center
Andreas Schreiber
 
Open Source Licensing for Rocket Scientists
Open Source Licensing for Rocket ScientistsOpen Source Licensing for Rocket Scientists
Open Source Licensing for Rocket Scientists
Andreas Schreiber
 
Interactive Visualization of Software Components with Virtual Reality Headsets
Interactive Visualization of Software Components with Virtual Reality HeadsetsInteractive Visualization of Software Components with Virtual Reality Headsets
Interactive Visualization of Software Components with Virtual Reality Headsets
Andreas Schreiber
 
Visualizing Provenance using Comics
Visualizing Provenance using ComicsVisualizing Provenance using Comics
Visualizing Provenance using Comics
Andreas Schreiber
 
Quantified Self Comics
Quantified Self ComicsQuantified Self Comics
Quantified Self Comics
Andreas Schreiber
 
Nachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Nachvollziehbarkeit mit Hinblick auf Privacy-VerletzungenNachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Nachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Andreas Schreiber
 
A Provenance Model for Quantified Self Data
A Provenance Model for Quantified Self DataA Provenance Model for Quantified Self Data
A Provenance Model for Quantified Self Data
Andreas Schreiber
 
Open Source im DLR
Open Source im DLROpen Source im DLR
Open Source im DLR
Andreas Schreiber
 
Tracking after Stroke: Doctors, Dogs and All The Rest
Tracking after Stroke: Doctors, Dogs and All The RestTracking after Stroke: Doctors, Dogs and All The Rest
Tracking after Stroke: Doctors, Dogs and All The Rest
Andreas Schreiber
 
High Throughput Processing of Space Debris Data
High Throughput Processing of Space Debris DataHigh Throughput Processing of Space Debris Data
High Throughput Processing of Space Debris Data
Andreas Schreiber
 
Bericht von der QS15 Conference & Exposition
Bericht von der QS15 Conference & ExpositionBericht von der QS15 Conference & Exposition
Bericht von der QS15 Conference & Exposition
Andreas Schreiber
 
Telemedizin: Gesundheit, messbar für jedermann
Telemedizin: Gesundheit, messbar für jedermannTelemedizin: Gesundheit, messbar für jedermann
Telemedizin: Gesundheit, messbar für jedermann
Andreas Schreiber
 
Big Python
Big PythonBig Python
Big Python
Andreas Schreiber
 
Quantified Self mit Wearable Devices und Smartphone-Sensoren
Quantified Self mit Wearable Devices und Smartphone-SensorenQuantified Self mit Wearable Devices und Smartphone-Sensoren
Quantified Self mit Wearable Devices und Smartphone-Sensoren
Andreas Schreiber
 
Example Blood Pressure Report of BloodPressureCompanion
Example Blood Pressure Report of BloodPressureCompanionExample Blood Pressure Report of BloodPressureCompanion
Example Blood Pressure Report of BloodPressureCompanion
Andreas Schreiber
 
Beispiel-Blutdruckbericht des BlutdruckBegleiter
Beispiel-Blutdruckbericht des BlutdruckBegleiterBeispiel-Blutdruckbericht des BlutdruckBegleiter
Beispiel-Blutdruckbericht des BlutdruckBegleiter
Andreas Schreiber
 
Informatik für die Welt von Morgen
Informatik für die Welt von MorgenInformatik für die Welt von Morgen
Informatik für die Welt von Morgen
Andreas Schreiber
 
Python for High Performance and Scientific Computing
Python for High Performance and Scientific ComputingPython for High Performance and Scientific Computing
Python for High Performance and Scientific Computing
Andreas Schreiber
 
Provenance-based Security Audits and its Application to COVID-19 Contact Trac...
Provenance-based Security Audits and its Application to COVID-19 Contact Trac...Provenance-based Security Audits and its Application to COVID-19 Contact Trac...
Provenance-based Security Audits and its Application to COVID-19 Contact Trac...
Andreas Schreiber
 
Visualization of Software Architectures in Virtual Reality and Augmented Reality
Visualization of Software Architectures in Virtual Reality and Augmented RealityVisualization of Software Architectures in Virtual Reality and Augmented Reality
Visualization of Software Architectures in Virtual Reality and Augmented Reality
Andreas Schreiber
 
Raising Awareness about Open Source Licensing at the German Aerospace Center
Raising Awareness about Open Source Licensing at the German Aerospace CenterRaising Awareness about Open Source Licensing at the German Aerospace Center
Raising Awareness about Open Source Licensing at the German Aerospace Center
Andreas Schreiber
 
Open Source Licensing for Rocket Scientists
Open Source Licensing for Rocket ScientistsOpen Source Licensing for Rocket Scientists
Open Source Licensing for Rocket Scientists
Andreas Schreiber
 
Interactive Visualization of Software Components with Virtual Reality Headsets
Interactive Visualization of Software Components with Virtual Reality HeadsetsInteractive Visualization of Software Components with Virtual Reality Headsets
Interactive Visualization of Software Components with Virtual Reality Headsets
Andreas Schreiber
 
Visualizing Provenance using Comics
Visualizing Provenance using ComicsVisualizing Provenance using Comics
Visualizing Provenance using Comics
Andreas Schreiber
 
Nachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Nachvollziehbarkeit mit Hinblick auf Privacy-VerletzungenNachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Nachvollziehbarkeit mit Hinblick auf Privacy-Verletzungen
Andreas Schreiber
 
A Provenance Model for Quantified Self Data
A Provenance Model for Quantified Self DataA Provenance Model for Quantified Self Data
A Provenance Model for Quantified Self Data
Andreas Schreiber
 
Tracking after Stroke: Doctors, Dogs and All The Rest
Tracking after Stroke: Doctors, Dogs and All The RestTracking after Stroke: Doctors, Dogs and All The Rest
Tracking after Stroke: Doctors, Dogs and All The Rest
Andreas Schreiber
 
High Throughput Processing of Space Debris Data
High Throughput Processing of Space Debris DataHigh Throughput Processing of Space Debris Data
High Throughput Processing of Space Debris Data
Andreas Schreiber
 
Bericht von der QS15 Conference & Exposition
Bericht von der QS15 Conference & ExpositionBericht von der QS15 Conference & Exposition
Bericht von der QS15 Conference & Exposition
Andreas Schreiber
 
Telemedizin: Gesundheit, messbar für jedermann
Telemedizin: Gesundheit, messbar für jedermannTelemedizin: Gesundheit, messbar für jedermann
Telemedizin: Gesundheit, messbar für jedermann
Andreas Schreiber
 
Quantified Self mit Wearable Devices und Smartphone-Sensoren
Quantified Self mit Wearable Devices und Smartphone-SensorenQuantified Self mit Wearable Devices und Smartphone-Sensoren
Quantified Self mit Wearable Devices und Smartphone-Sensoren
Andreas Schreiber
 
Example Blood Pressure Report of BloodPressureCompanion
Example Blood Pressure Report of BloodPressureCompanionExample Blood Pressure Report of BloodPressureCompanion
Example Blood Pressure Report of BloodPressureCompanion
Andreas Schreiber
 
Beispiel-Blutdruckbericht des BlutdruckBegleiter
Beispiel-Blutdruckbericht des BlutdruckBegleiterBeispiel-Blutdruckbericht des BlutdruckBegleiter
Beispiel-Blutdruckbericht des BlutdruckBegleiter
Andreas Schreiber
 
Informatik für die Welt von Morgen
Informatik für die Welt von MorgenInformatik für die Welt von Morgen
Informatik für die Welt von Morgen
Andreas Schreiber
 
Python for High Performance and Scientific Computing
Python for High Performance and Scientific ComputingPython for High Performance and Scientific Computing
Python for High Performance and Scientific Computing
Andreas Schreiber
 

Recently uploaded (20)

CSIR_2023 ka pepar hai daunlod kare aur padhai kare
CSIR_2023  ka  pepar hai  daunlod kare aur padhai kareCSIR_2023  ka  pepar hai  daunlod kare aur padhai kare
CSIR_2023 ka pepar hai daunlod kare aur padhai kare
rahulkumarshah013
 
Mining Geology as Used in Exploration.pdf
Mining Geology as Used in Exploration.pdfMining Geology as Used in Exploration.pdf
Mining Geology as Used in Exploration.pdf
jehcintah
 
International Journal of Pharmacological Sciences (IJPS)
International Journal of Pharmacological Sciences (IJPS)International Journal of Pharmacological Sciences (IJPS)
International Journal of Pharmacological Sciences (IJPS)
journalijps98
 
Hydatid Cyst Disease (Echinococcosis).pptx
Hydatid Cyst Disease (Echinococcosis).pptxHydatid Cyst Disease (Echinococcosis).pptx
Hydatid Cyst Disease (Echinococcosis).pptx
AyuubMohamed6
 
A review on simple heterocyclics involved in chemical ,biochemical and metabo...
A review on simple heterocyclics involved in chemical ,biochemical and metabo...A review on simple heterocyclics involved in chemical ,biochemical and metabo...
A review on simple heterocyclics involved in chemical ,biochemical and metabo...
DrAparnaYeddala
 
Electric Circuit Simulation With QSPICE (IEEE Student Branch Workshop at OVGU...
Electric Circuit Simulation With QSPICE (IEEE Student Branch Workshop at OVGU...Electric Circuit Simulation With QSPICE (IEEE Student Branch Workshop at OVGU...
Electric Circuit Simulation With QSPICE (IEEE Student Branch Workshop at OVGU...
Mathias Magdowski
 
Medical Instrumentation -I Biological Signals .pptx
Medical Instrumentation -I Biological Signals .pptxMedical Instrumentation -I Biological Signals .pptx
Medical Instrumentation -I Biological Signals .pptx
drmaneharshalid
 
Decipher the Magic of Quantum Entanglement.pdf
Decipher the Magic of Quantum Entanglement.pdfDecipher the Magic of Quantum Entanglement.pdf
Decipher the Magic of Quantum Entanglement.pdf
SaikatBasu37
 
Insights to Narcotic Drugs by Urmila Nirmal
Insights to Narcotic Drugs by Urmila NirmalInsights to Narcotic Drugs by Urmila Nirmal
Insights to Narcotic Drugs by Urmila Nirmal
urvi1504nirmal
 
The scientific heritage No 161 (161) (2025)
The scientific heritage No 161 (161) (2025)The scientific heritage No 161 (161) (2025)
The scientific heritage No 161 (161) (2025)
The scientific heritage
 
APPLIED VETEINARY ANATOMy presentation in veterinary
APPLIED VETEINARY ANATOMy presentation in veterinaryAPPLIED VETEINARY ANATOMy presentation in veterinary
APPLIED VETEINARY ANATOMy presentation in veterinary
mythi170320000
 
The Role of Visualization in Genomics Data Analysis Workflows: The Interviews
The Role of Visualization in Genomics Data Analysis Workflows: The InterviewsThe Role of Visualization in Genomics Data Analysis Workflows: The Interviews
The Role of Visualization in Genomics Data Analysis Workflows: The Interviews
sehilyi
 
Cell_Presentatn_Class8_Vaishnavi.pptx uuu
Cell_Presentatn_Class8_Vaishnavi.pptx uuuCell_Presentatn_Class8_Vaishnavi.pptx uuu
Cell_Presentatn_Class8_Vaishnavi.pptx uuu
dhabaleyash11
 
Cardiorenal, Renocardiac, and Reno-CardioCardiac Syndromes: An Updated Review...
Cardiorenal, Renocardiac, and Reno-CardioCardiac Syndromes: An Updated Review...Cardiorenal, Renocardiac, and Reno-CardioCardiac Syndromes: An Updated Review...
Cardiorenal, Renocardiac, and Reno-CardioCardiac Syndromes: An Updated Review...
karishmayjm
 
Biological application of spectroscopy.pptx
Biological application of spectroscopy.pptxBiological application of spectroscopy.pptx
Biological application of spectroscopy.pptx
RahulRajai
 
Cerebrospinal Fluid Leakage Post-Lumbar Puncture: A Narrative Review
Cerebrospinal Fluid Leakage Post-Lumbar  Puncture: A Narrative ReviewCerebrospinal Fluid Leakage Post-Lumbar  Puncture: A Narrative Review
Cerebrospinal Fluid Leakage Post-Lumbar Puncture: A Narrative Review
karishmayjm
 
Aliphatic-Hydrocarbons-Q1-CON-CHEMs.pptx
Aliphatic-Hydrocarbons-Q1-CON-CHEMs.pptxAliphatic-Hydrocarbons-Q1-CON-CHEMs.pptx
Aliphatic-Hydrocarbons-Q1-CON-CHEMs.pptx
onram453
 
LINGUISTICS_UNIT_ONE_-_LGE_DEFS_AND_ITS_NATURE_LECTURE_23.pptx
LINGUISTICS_UNIT_ONE_-_LGE_DEFS_AND_ITS_NATURE_LECTURE_23.pptxLINGUISTICS_UNIT_ONE_-_LGE_DEFS_AND_ITS_NATURE_LECTURE_23.pptx
LINGUISTICS_UNIT_ONE_-_LGE_DEFS_AND_ITS_NATURE_LECTURE_23.pptx
constantinoag4
 
Cytoskeleton__with_anno_1683089530723.pdf
Cytoskeleton__with_anno_1683089530723.pdfCytoskeleton__with_anno_1683089530723.pdf
Cytoskeleton__with_anno_1683089530723.pdf
raorajveer1612
 
The Lecture Include code of practice.pptx
The Lecture Include code of practice.pptxThe Lecture Include code of practice.pptx
The Lecture Include code of practice.pptx
KashiAli7
 
CSIR_2023 ka pepar hai daunlod kare aur padhai kare
CSIR_2023  ka  pepar hai  daunlod kare aur padhai kareCSIR_2023  ka  pepar hai  daunlod kare aur padhai kare
CSIR_2023 ka pepar hai daunlod kare aur padhai kare
rahulkumarshah013
 
Mining Geology as Used in Exploration.pdf
Mining Geology as Used in Exploration.pdfMining Geology as Used in Exploration.pdf
Mining Geology as Used in Exploration.pdf
jehcintah
 
International Journal of Pharmacological Sciences (IJPS)
International Journal of Pharmacological Sciences (IJPS)International Journal of Pharmacological Sciences (IJPS)
International Journal of Pharmacological Sciences (IJPS)
journalijps98
 
Hydatid Cyst Disease (Echinococcosis).pptx
Hydatid Cyst Disease (Echinococcosis).pptxHydatid Cyst Disease (Echinococcosis).pptx
Hydatid Cyst Disease (Echinococcosis).pptx
AyuubMohamed6
 
A review on simple heterocyclics involved in chemical ,biochemical and metabo...
A review on simple heterocyclics involved in chemical ,biochemical and metabo...A review on simple heterocyclics involved in chemical ,biochemical and metabo...
A review on simple heterocyclics involved in chemical ,biochemical and metabo...
DrAparnaYeddala
 
Electric Circuit Simulation With QSPICE (IEEE Student Branch Workshop at OVGU...
Electric Circuit Simulation With QSPICE (IEEE Student Branch Workshop at OVGU...Electric Circuit Simulation With QSPICE (IEEE Student Branch Workshop at OVGU...
Electric Circuit Simulation With QSPICE (IEEE Student Branch Workshop at OVGU...
Mathias Magdowski
 
Medical Instrumentation -I Biological Signals .pptx
Medical Instrumentation -I Biological Signals .pptxMedical Instrumentation -I Biological Signals .pptx
Medical Instrumentation -I Biological Signals .pptx
drmaneharshalid
 
Decipher the Magic of Quantum Entanglement.pdf
Decipher the Magic of Quantum Entanglement.pdfDecipher the Magic of Quantum Entanglement.pdf
Decipher the Magic of Quantum Entanglement.pdf
SaikatBasu37
 
Insights to Narcotic Drugs by Urmila Nirmal
Insights to Narcotic Drugs by Urmila NirmalInsights to Narcotic Drugs by Urmila Nirmal
Insights to Narcotic Drugs by Urmila Nirmal
urvi1504nirmal
 
The scientific heritage No 161 (161) (2025)
The scientific heritage No 161 (161) (2025)The scientific heritage No 161 (161) (2025)
The scientific heritage No 161 (161) (2025)
The scientific heritage
 
APPLIED VETEINARY ANATOMy presentation in veterinary
APPLIED VETEINARY ANATOMy presentation in veterinaryAPPLIED VETEINARY ANATOMy presentation in veterinary
APPLIED VETEINARY ANATOMy presentation in veterinary
mythi170320000
 
The Role of Visualization in Genomics Data Analysis Workflows: The Interviews
The Role of Visualization in Genomics Data Analysis Workflows: The InterviewsThe Role of Visualization in Genomics Data Analysis Workflows: The Interviews
The Role of Visualization in Genomics Data Analysis Workflows: The Interviews
sehilyi
 
Cell_Presentatn_Class8_Vaishnavi.pptx uuu
Cell_Presentatn_Class8_Vaishnavi.pptx uuuCell_Presentatn_Class8_Vaishnavi.pptx uuu
Cell_Presentatn_Class8_Vaishnavi.pptx uuu
dhabaleyash11
 
Cardiorenal, Renocardiac, and Reno-CardioCardiac Syndromes: An Updated Review...
Cardiorenal, Renocardiac, and Reno-CardioCardiac Syndromes: An Updated Review...Cardiorenal, Renocardiac, and Reno-CardioCardiac Syndromes: An Updated Review...
Cardiorenal, Renocardiac, and Reno-CardioCardiac Syndromes: An Updated Review...
karishmayjm
 
Biological application of spectroscopy.pptx
Biological application of spectroscopy.pptxBiological application of spectroscopy.pptx
Biological application of spectroscopy.pptx
RahulRajai
 
Cerebrospinal Fluid Leakage Post-Lumbar Puncture: A Narrative Review
Cerebrospinal Fluid Leakage Post-Lumbar  Puncture: A Narrative ReviewCerebrospinal Fluid Leakage Post-Lumbar  Puncture: A Narrative Review
Cerebrospinal Fluid Leakage Post-Lumbar Puncture: A Narrative Review
karishmayjm
 
Aliphatic-Hydrocarbons-Q1-CON-CHEMs.pptx
Aliphatic-Hydrocarbons-Q1-CON-CHEMs.pptxAliphatic-Hydrocarbons-Q1-CON-CHEMs.pptx
Aliphatic-Hydrocarbons-Q1-CON-CHEMs.pptx
onram453
 
LINGUISTICS_UNIT_ONE_-_LGE_DEFS_AND_ITS_NATURE_LECTURE_23.pptx
LINGUISTICS_UNIT_ONE_-_LGE_DEFS_AND_ITS_NATURE_LECTURE_23.pptxLINGUISTICS_UNIT_ONE_-_LGE_DEFS_AND_ITS_NATURE_LECTURE_23.pptx
LINGUISTICS_UNIT_ONE_-_LGE_DEFS_AND_ITS_NATURE_LECTURE_23.pptx
constantinoag4
 
Cytoskeleton__with_anno_1683089530723.pdf
Cytoskeleton__with_anno_1683089530723.pdfCytoskeleton__with_anno_1683089530723.pdf
Cytoskeleton__with_anno_1683089530723.pdf
raorajveer1612
 
The Lecture Include code of practice.pptx
The Lecture Include code of practice.pptxThe Lecture Include code of practice.pptx
The Lecture Include code of practice.pptx
KashiAli7
 

Reproducible Science with Python

  • 1. Reproducible Science with Python Andreas Schreiber Department for Intelligent and Distributed Systems German Aerospace Center (DLR), Cologne/Berlin > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 1
  • 2. Simulations, experiments, data analytics, … Science > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 2 SIMULATION FAILED
  • 3. Reproducing results relies on • Open Source codes • Code reviews • Code repositories • Publications with code • Computational environment captured (Docker etc.) • Workflows • Open Data formats • Data management • (Electronics) laboratory notebooks • Provenance Reproducible Science > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 3
  • 4. Provenance is information about entities, activities, and people involved in producing a piece of data or thing, which can be used to form assessments about its quality, reliability or trustworthiness. PROV W3C Working Group https://www.w3.org/TR/prov-overview Provenance > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 4
  • 5. W3C Provenance Working Group: https://www.w3.org/2011/prov PROV • The goal of PROV is to enable the wide publication and interchange of provenance on the Web and other information systems • PROV enables one to represent and interchange provenance information using widely available formats such as RDF and XML PROV > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 5
  • 6. Entities • Physical, digital, conceptual, or other kinds of things • For example, documents, web sites, graphics, or data sets Activities • Activities generate new entities or make use of existing entities • Activities could be actions or processes Agents • Agents takes a role in an activity and have the responsibility for the activity • For example, persons, pieces of software, or organizations Overview of PROV Key Concepts > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 6
  • 7. PROV Data Model > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 7 Activity Entity Agent wasGeneratedBy used wasDerivedFrom wasAttributedTo wasAssociatedWith
  • 8. Example Provenance > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 8 https://provenance.ecs.soton.ac.uk/store/documents/113794/
  • 9. Storing Provenance > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 9 Provenance Store Provenance recording during runtime Applications / Workflow Data (results)
  • 10. Some Storage Technologies • Relational databases and SQL • XML and Xpath • RDF and SPARQL • Graph databases and Gremlin/Cypher Services • REST APIs • ProvStore (University of Southampton) Storing and Retrieving Provenance > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 10
  • 11. ProvStore > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 11 https://provenance.ecs.soton.ac.uk/store/
  • 12. Provenance is a directed acyclic graph (DAG) Graphs > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 12 A B E F G D C
  • 13. Naturally, graph databases are a good technology for storing (Provenance) graphs Many graph databases are available • Neo4J • Titan • ArangoDB • ... Query languages • Cypher • Gremlin (TinkerPop) • GraphQL Graph Databases > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 13
  • 14. • Open-Source • Implemented in Java • Stores property graphs (key-value-based, directed) http://neo4j.com Neo4j > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 14
  • 15. Depends on your application (tools, languages, etc.) Libraries for Python • prov • provneo4j • NoWorkflow • … Tools • Git2PROV • Prov-sty for LaTeX • … Gathering Provenance > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 15
  • 16. Python Library prov https://github.com/trungdong/prov > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 16 from prov.model import ProvDocument # Create a new provenance document d1 = ProvDocument() # Entity: now:employment-article-v1.html e1 = d1.entity('now:employment-article-v1.html') # Agent: nowpeople:Bob d1.agent('nowpeople:Bob') # Attributing the article to the agent d1.wasAttributedTo(e1, 'nowpeople:Bob') d1.entity('govftp:oesm11st.zip', {'prov:label': 'employment-stats-2011', 'prov:type': 'void:Dataset'}) d1.wasDerivedFrom('now:employment-article-v1.html', 'govftp:oesm11st.zip') # Adding an activity d1.activity('is:writeArticle') d1.used('is:writeArticle', 'govftp:oesm11st.zip') d1.wasGeneratedBy('now:employment-article-v1.html', 'is:writeArticle')
  • 17. Python Library prov https://github.com/trungdong/prov > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 17
  • 18. Example > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 18 http://localhost:8888/notebooks/WeightCompanion PROV.ipynb
  • 19. provneo4j – Storing PROV Documents in Neo4j https://github.com/DLR-SC/provneo4j > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 19 import provneo4j.api provneo4j_api = provneo4j.api.Api( base_url="http://localhost:7474/db/data", username="neo4j", password="python") provneo4j_api.document.create(prov_doc, name=”MyProv”)
  • 20. provneo4j – Storing PROV Documents in Neo4j https://github.com/DLR-SC/provneo4j > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 20
  • 21. NoWorkflow – Provenance of Scripts https://github.com/gems-uff/noworkflow > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 21 Project experiment.py p12.dat p13.dat precipitation.py p14.dat out.png $ now run -e Tracker experiment.py
  • 22. Git2PROV http://git2prov.org > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 22
  • 23. > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 23
  • 24. LaTeX Annotations prov-sty for LaTeX https://github.com/prov-suite/prov-sty > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 24 begin{document} provAuthor{Andreas Schreiber}{http://orcid.org/0000-0001-5750-5649} provOrganization{German Aerospace Center (DLR)}{http://www.dlr.de} provTitle{A Provenance Model for Quantified Self Data} provProject {PROV-SPEC (FS12016)} {http://www.dlr.de/sc/desktopdefault.aspx/tabid-8073/} {http://www.bmwi.de/}
  • 25. Electronic Laboratory Notebook > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 25
  • 26. Query „Who worked on experiment X?“ > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 26 $experiment = g.key($_g, 'identifier', X) $user = $experiment/inE/inV/outE[@label = controlled_by]
  • 27. Practical Use Case – Archive all Data of a Paper > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 27 https://github.com/DLR-SC/DataFinder
  • 28. New PROV Library for Python in development • https://github.com/DLR-SC/prov-db-connector • Connectors for Neo4j implemented, ArangoDB planned • APIs in REST, ZeroMQ, MQTT Trusted Provenance • Storing Provenance in Blockchains Provenance for people • New approaches for visualization • For example, PROV Comics Current Research and Development > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 28
  • 29. > PyCon DE 2016 > Andreas Schreiber • Reproducible Science with Python > 29.10.2016DLR.de • Chart 29 Thank You! Questions? [email protected] www.DLR.de/sc | @onyame