Analysis Code for "Evidence for reduced migraine reporting with GLP-1 receptor agonists"
========================================================================================

REQUIREMENTS
------------
Python 3.10+
Required packages: pandas, numpy, scipy, statsmodels, matplotlib, seaborn,
                   biopython, rdkit, openpyxl, requests

PIPELINE OVERVIEW
-----------------
Scripts are numbered in execution order:

  config.py                    Configuration (file paths, parameters)
  run_pipeline.py              Pipeline orchestrator

  01_drug_standardization.py   Standardise GLP-1 RA and comparator drug names in FAERS
  02_disproportionality.py     Multi-tier disproportionality analysis (ROR, PRR, IC, EBGM)
  03_time_to_onset.py          Time-to-onset analysis with Weibull fitting
  04_forest_plot.py            Forest plot generation (Figures 1-4)
  05_sensitivity_analysis.py   Sensitivity analyses (E-value, omega shrinkage, temporal)
  06_network_pharmacology.py   Network pharmacology (drug-disease target intersection, PPI, enrichment)
  07_molecular_docking.py      AutoDock Vina molecular docking
  08_hdock_submission.py       HDOCK peptide-protein docking
  09_geo_transcriptome.py      GEO transcriptomic analysis (GSE109558, GSE53195)
  10_3d_visualization.py       3D docking visualisation
  11_jader_analysis.py         JADER cross-database validation
  12_sensitivity_enhanced.py   Enhanced sensitivity analyses (subgroup, FDR)
  download_jader.py            Download JADER quarterly data from PMDA

DATA SOURCES
------------
  FAERS:  https://fis.fda.gov/extensions/FPD-QDE-FAERS/FPD-QDE-FAERS.html
  JADER:  https://www.pmda.go.jp/safety/info-services/drugs/adr-info/suspected-adr/0005.html
  GEO:    GSE109558, GSE53195 (via GEOquery)
  PDB:    2AZ5, 3GD8, 3HS4, 4D1O, 4JPS, 5IS0, 6E3Y, 6NPL
  STRING: https://string-db.org
  DisGeNET: https://www.disgenet.org
  GeneCards: https://www.genecards.org
  Enrichr: https://maayanlab.cloud/Enrichr

USAGE
-----
  1. Download FAERS and JADER data to data/ directory
  2. Edit config.py to set local paths
  3. Run: python run_pipeline.py
  Or execute scripts individually in numbered order.
