Exploring and Understanding Adverse Drug Reactions by Integrative Mining of Clinical Records and Biomedical Knowledge http://euadr-project.org
PEDRO LOPES pedrolopes@ua.pt University of Manchester October 19th, 2010
EU-ADR
WORKFLOWS
Introduction Goals Challenges
Why? Taverna UX
WEB PLATFORM
Architecture Taverna Open Issues
EU-ADR
WORKFLOWS
Introduction Goals Challenges
Why? Taverna UX
WEB PLATFORM
Architecture Taverna Open Issues
BACKGROUND ‣ DRUG • “A pharmaceutical drug, also referred to as medicine, medication or medicament, can be loosely defined as any chemical substance intended for use in the medical diagnosis, cure, treatment, or prevention of disease.” Wikipedia
‣ ADVERSE DRUG REACTION • “An adverse drug reaction (abbreviated ADR) is an expression that describes harm associated with the use of given medications at a normal dose. The meaning of this expression differs from the meaning of "side effect", as this last expression might also imply that the effects can be beneficial. The study of ADRs is the concern of the field known as pharmacovigilance.” Wikipedia
BACKGROUND ‣ DRUG • “A pharmaceutical drug, also referred to as medicine, medication or medicament, can be loosely defined as any chemical substance intended for use in the medical diagnosis, cure, treatment, or prevention of disease.” Wikipedia
‣ ADVERSE DRUG REACTION • “An adverse drug reaction (abbreviated ADR) is an expression that describes harm associated with the use of given medications at a normal dose. The meaning of this expression differs from the meaning of "side effect", as this last expression might also imply that the effects can be beneficial. The study of ADRs is the concern of the field known as pharmacovigilance.” Wikipedia
DRUG + ADR = SIGNAL M01AH02 (Rofecoxib) + UGIB (Upper Gastro-Intestinal Bleeding)
LAUNCHING A NEW DRUG ‣ BEFORE THE MARKET • Test with thousands of subjects • Some Adverse Drug Reactions are not detected
‣ IN THE MARKET • Clinicians must recognize and report suspected harmful “side effects”
‣ SPONTANEOUS REPORTING SYSTEMS • Main pillar to detect signals in pharmacovigillance
LAUNCHING A NEW DRUG ‣ BEFORE THE MARKET • Test with thousands of subjects • Some Adverse Drug Reactions are not detected
‣ IN THE MARKET • Clinicians must recognize and report suspected harmful “side effects”
‣ SPONTANEOUS REPORTING SYSTEMS • Main pillar to detect signals in pharmacovigillance
There is an entire ecosystem associated with pharmacovigillance
!
GOAL
The overall objective of the EU-ADR project is the design, development and validation of a computerized system that exploits data from electronic healthcare records and biomedical databases for the early detection of adverse drug reactions.
GOAL
The overall objective of the EU-ADR project is the design, development and validation of a computerized system that exploits data from electronic healthcare records and biomedical databases for the early detection of adverse drug reactions.
â˜ş
Some kind of intelligent application that finds ADRs in literature, patient data and other databases.
CHALLENGES ‣ HOW TO BUILD THIS?
Application: (Search + Collect) x (Literature + Patient Data + Biomedical Databases) x User Interactions
CHALLENGES ‣ HOW TO BUILD THIS?
Application: (Search + Collect) x (Literature + Patient Data + Biomedical Databases) x User Interactions
CHALLENGES ‣ HOW TO BUILD THIS?
Application: (Search + Collect) x (Literature + Patient Data + Biomedical Databases) x User Interactions
EU-ADR
WORKFLOWS
Introduction Goals Challenges
Why? Taverna UX
WEB PLATFORM
Architecture Taverna Open Issues
EU-ADR
WORKFLOWS
Introduction Goals Challenges
Why? Taverna UX
WEB PLATFORM
Architecture Taverna Open Issues
EHR 1
EHR 2
WORKFLOW
EHR n Text Mining Terminology Mapping
Data Extraction Data Mining
Signal Detection Ranked signal list
Signal Substantiation Re-ranked signal list
Retrospective and Prospective System Validation
Literature Known Side Effects Pathway Analysis In silico simulation
HOW? ‣ DATABASES • Public ‣ UniProt, DailyMed, DrugBank, PharmGKB, NCBI * ... • Partner-specific ‣ Huge datasets
‣ WEB SERVICES • Public web services • Partner-specific
HOW? ‣ DATABASES • Public ‣ UniProt, DailyMed, DrugBank, PharmGKB, NCBI * ... • Partner-specific ‣ Huge datasets
‣ WEB SERVICES • Public web services • Partner-specific
How to connect everything in a single system?
?
HOW? ‣ DATABASES • Public ‣ UniProt, DailyMed, DrugBank, PharmGKB, NCBI * ... • Partner-specific ‣ Huge datasets
‣ WEB SERVICES • Public web services • Partner-specific
How to connect everything in a single system?
?
REQUIREMENTS ‣ DATA PRIVACY • Sensitive, unpublished, data • There’s money attached (pharmaceutical companies)
‣ USERS • From clinicians to programmers • Single lab scale (local data) vs Project scale (web environment)
‣ PERFORMANCE • Huge datasets ‣ Thousands of signals
SECURITY
SECURITY ‣ TESTED • Single Sign On
‣ SOLUTION • WSO2 Platform
• OpenID
‣ Custom Identity Provider
• Shibboleth
‣ Secure web services
• OAuth
‣ Straightforward to install
• OpenASelect • HTTPS, WSDL-S
SECURITY ‣ TESTED
‣ SOLUTION
• Single Sign On
• WSO2 Platform
• OpenID
‣ Custom Identity Provider
• Shibboleth
‣ Secure web services
• OAuth
‣ Straightforward to install
• OpenASelect • HTTPS, WSDL-S
☺
THANK YOU!
UX
UX ‣ LOCAL • Local workflow execution • Local data analysis
‣ WEB • Remote workflow execution ‣ Process the entire pipeline online • Remote data analysis ‣ Analyze workflow results and provenance data
UX ‣ LOCAL • Local workflow execution • Local data analysis
‣ WEB • Remote workflow execution ‣ Process the entire pipeline online • Remote data analysis ‣ Analyze workflow results and provenance data
Web Platform = Taverna + Services + XSD
!
FIRST WORKFLOW
http://bioinformatics.ua.pt/euadr_test
EU-ADR
WORKFLOWS
Introduction Goals Challenges
Why? Taverna UX
WEB PLATFORM
Architecture Taverna Open Issues
EU-ADR
WORKFLOWS
Introduction Goals Challenges
Why? Taverna UX
WEB PLATFORM
Architecture Taverna Open Issues
WEB PLATFORM
WEB PLATFORM ‣ WEB SERVICES • Execute partner web services • View results
‣ WORKFLOWS • Workflow management • Search, browse and execute workflows • Analyze and compare results
‣ DATASETS • Process entire datasets ‣ All workflows x ~ 4000 signals per dataset • Analyze and compare final and intermediate results ‣ “Signal evolution”
PIPELINE
PIPELINE 1.UPLOAD DATASET • From users’ desktop to web platform (.xls)
2.READ DATASET • Web Platform reads file to database 3.PROCESS DATASET • Generate workflow XML inputs 4.EXECUTE WORKFLOWS • Launch threaded Taverna executions
5.STORE WORKFLOW RESULTS • Save full XML output 6.UPDATE DATASET • Update dataset information with output results
7.DISPLAY WORKFLOW RESULTS • Show results in web platform
ARCHITECTURE
Taverna Connect
CLI
ARCHITECTURE
security
TAVERNA CONNECT ‣ REQUIREMENTS • Organize datasets into multiple workflow execution ‣ Workflow accepts any number of signals in input • Output results as XML files ‣ One signal = One XML file • Load files into web platform ‣ Read XML
‣ CONDITIONS • Performance • Time • Efficiency • Size • Complexity
TAVERNA CONNECT ‣ REQUIREMENTS • Organize datasets into multiple workflow execution ‣ Workflow accepts any number of signals in input • Output results as XML files ‣ One signal = One XML file
‣ CONDITIONS • Performance • Time • Efficiency • Size • Complexity
• Load files into web platform ‣ Read XML
BEST SOLUTION? syscalls, web services, disk access, web access, pooling, transmission, network, hosts...
COMMAND LINE INTERFACE ‣ STRATEGY • Define (static) workflow input/output directories • Generate XML input • Execute Java syscall (threaded) • Read XML output
Straightforward
Static
Simple
Time
Streamlined
Efficiency
Handles large files
“It’s a syscall!”
COMMAND LINE INTERFACE ‣ STRATEGY • Define (static) workflow input/output directories • Generate XML input • Execute Java syscall (threaded) • Read XML output
Straightforward
Static
Simple
Time
Streamlined
Efficiency
Handles large files
“It’s a syscall!”
JAR package? Performance improvement? Full security? ...
TAVERNA SERVER ‣ STRATEGY • Develop Java client package (do you have it?) • Generate and transmit XML input • Execute workflow • Check for results • Download results
“It’s not a syscall!”
Complexity
Modular (dynamic) design
Efficiency Network Handles large files
TAVERNA SERVER ‣ STRATEGY • Develop Java client package (do you have it?) • Generate and transmit XML input • Execute workflow • Check for results • Download results
“It’s not a syscall!”
Complexity
Modular (dynamic) design
Efficiency Network Handles large files
Simplified? Lighter? Performance? Client packages?
CONCLUDING ‣ STATUS • Beta release soon
‣ NEXT • More data • More services • More workflows • More users
CONCLUDING ‣ STATUS
‣ NEXT
• Beta release soon
• More data • More services • More workflows • More users
What’s next for Taverna? (What’s in it for us?)
What is the best path?
TAVERNA IS GREAT!
http://bioinformatics.ua.pt
http://bioinformatics.ua.pt ‣ MIND | Microarray INformation Database • http://bioinformatics.ua.pt/mind
‣
| Rare Disease Portal • http://bioinformatics.ua.pt/diseasecard
‣ QuExT | Literature Query Expansion Tool • http://bioinformatics.ua.pt/quext
‣
| Web Analysis of the Variome • http://bioinformatics.ua.pt/WAVe
‣ GeneBrowser2 • http://bioinformatics.ua.pt/genebrowser2
ME pedrolopes@ua.pt
http://pedrolopes.net
/pedrolopes
/pdrlps
THANK YOU!