Published November 13, 2025 | Version v1
Directed Acyclic Graph Open

Causal relationship between two occupational carcinogens and lung cancer

  • 1 Institute for Risk Assessment Sciences, Utrecht University

Visualisation

Description

This directed acyclic graph is used to inform the estimation of the causal effect of lifetime cumulative exposure to asbestos (main exposure) on lung cancer (outcome) in the context of individual participant data (IPD) meta-analysis of the SYNERGY pooled case-control study [1]. Co-exposure to other occupational lung carcinogens is represented with respiratory cristaline silica (RCS) as a motivating example. True exposure is unobserved (X_asb_true and X_rcs_true) and thus estimated with the job exposure matrix SYN-JEM (asbestos_cum0 and silica_cum0), resulting in loss of individual variation (Epsilon), and exposure error terms (U) that are independent of outcome status (Berkson-type error) [2]. The minimal set of adjustment for this model consists of age (agegroup), sex, smoking status and time since quitting (time_quit), lifetime smoking intensity (packyears), and study (study_name). Study is considered a proxy for other study-level covariates and differences in baseline lung cancer risk. Occupational lung carcinogens are assumed to be related through the common cause industry which serves as a proxy for shared working environment conditions. This backdoor pathway was intentionally not closed as co-exposure to occupational lung carcinogens is frequent [3]. Estimating conditional effects by setting such co-exposures to zero could violate positivity (if certain covariate combinations never occur for a given job title) and consistency (counterfactual scenarios such as high asbestos exposure with zero RCS are implausible in some industries). The model assumes monotonicity, implying that asbestos cannot prevent lung cancer through any causal mechanism, and no-interference (only individual exposure is relevant for the effect and not affected by others' exposures). Lastly, both age and sex are matching factors in the individual case-control studies, thus potentially causing selection bias (not shown in this DAG for simplicity). Adjustment for these matching variables through unconditional logistic regression results in unbiased estimates under the rare disease assumption [4].

Additional details and documentation on this analysis are available at: https://github.com/UtrechtUniversity/PoC-Asbestos

References:
1 International Agency for Research on Cancer (IARC). About SYNERGY. [cited 2024 Oct 17]. SYNERGY: Home. Available from: https://synergy.iarc.who.int/about
2 Armstrong BG. Effect of measurement error on epidemiological studies of environmental and occupational exposures. Occupational and Environmental Medicine 1998; 55: 651–656.
3 Olsson A, Bouaoun L, Schüz J, et al. Lung Cancer Risks Associated with Occupational Exposure to Pairs of Five Lung Carcinogens: Results from a Pooled Analysis of Case-Control Studies (SYNERGY). Environmental Health Perspectives 2024; 132: 17005.
4 Kamenetsky ME, Keil AP. (Re-)match: adjusting for matching factors in case-control studies may be unnecessary or insufficient. American Journal of Epidemiology 2025; kwaf116. doi: 10.1093/aje/kwaf116

Variables

15 nodes
  • asbestos_cum0 Exposure No description
  • silica_cum0 Exposure No description
  • status Outcome No description
  • Epsilon_asb Unmeasured No description
  • Epsilon_rcs Unmeasured No description
  • U_asb Unmeasured No description
  • U_rcs Unmeasured No description
  • X_asbestos_true Unmeasured No description
  • X_rcs_true Unmeasured No description
  • agegroup No description
  • industry Unmeasured No description
  • packyears No description
  • sex No description
  • study_name No description
  • time_quit No description

Relationships

30 edges

  • Epsilon_asb X_asbestos_true
  • Epsilon_rcs X_rcs_true
  • U_asb asbestos_cum0
  • U_rcs silica_cum0
  • X_asbestos_true status
  • X_rcs_true status
  • agegroup asbestos_cum0
  • agegroup packyears
  • agegroup silica_cum0
  • agegroup status
  • agegroup time_quit
  • asbestos_cum0 X_asbestos_true
  • industry asbestos_cum0
  • industry silica_cum0
  • packyears asbestos_cum0
  • packyears silica_cum0
  • packyears status
  • packyears time_quit
  • sex asbestos_cum0
  • sex packyears
  • sex silica_cum0
  • sex status
  • sex time_quit
  • silica_cum0 X_rcs_true
  • study_name asbestos_cum0
  • study_name silica_cum0
  • study_name status
  • time_quit asbestos_cum0
  • time_quit silica_cum0
  • time_quit status

Read across: each marked cell is an edge from the row's variable to the column's.

  • No sign given
  • Directed
asbestos_cum0silica_cum0statusEpsilon_asbEpsilon_rcsU_asbU_rcsX_asbestos_trueX_rcs_trueagegroupindustrypackyearssexstudy_nametime_quit
asbestos_cum0
silica_cum0
status
Epsilon_asb
Epsilon_rcs
U_asb
U_rcs
X_asbestos_true
X_rcs_true
agegroup
industry
packyears
sex
study_name
time_quit

Code

Submitted as opencausal_bwoy9fng.txt. Also available as:

This JSON follows CausalJSON 0.2, the Open Causal Graph Format.

{
  "$schema": "https://opencausal.org/causaljson/0.2/causaljson.schema.json",
  "graph": {
    "id": "bwoy9fng",
    "doi": "10.83031/bwoy9fng",
    "version": 1,
    "title": "Causal relationship between two occupational carcinogens and lung cancer",
    "description": "This directed acyclic graph is used to inform the estimation of the causal effect of lifetime cumulative exposure to asbestos (main exposure) on lung cancer (outcome) in the context of individual participant data (IPD) meta-analysis of the SYNERGY pooled case-control study [1]. Co-exposure to other occupational lung carcinogens is represented with respiratory cristaline silica (RCS) as a motivating example. True exposure is unobserved (X_asb_true and X_rcs_true) and thus estimated with the job exposure matrix SYN-JEM (asbestos_cum0 and silica_cum0), resulting in loss of individual variation (Epsilon), and exposure error terms (U) that are independent of outcome status (Berkson-type error) [2]. The minimal set of adjustment for this model consists of age (agegroup), sex, smoking status and time since quitting (time_quit), lifetime smoking intensity (packyears), and study (study_name). Study is considered a proxy for other study-level covariates and differences in baseline lung cancer risk. Occupational lung carcinogens are assumed to be related through the common cause industry which serves as a proxy for shared working environment conditions. This backdoor pathway was intentionally not closed as co-exposure to occupational lung carcinogens is frequent [3]. Estimating conditional effects by setting such co-exposures to zero could violate positivity (if certain covariate combinations never occur for a given job title) and consistency (counterfactual scenarios such as high asbestos exposure with zero RCS are implausible in some industries). The model assumes monotonicity, implying that asbestos cannot prevent lung cancer through any causal mechanism, and no-interference (only individual exposure is relevant for the effect and not affected by others' exposures). Lastly, both age and sex are matching factors in the individual case-control studies, thus potentially causing selection bias (not shown in this DAG for simplicity). Adjustment for these matching variables through unconditional logistic regression results in unbiased estimates under the rare disease assumption [4].\r\n\r\nAdditional details and documentation on this analysis are available at: https://github.com/UtrechtUniversity/PoC-Asbestos\r\n\r\nReferences: \r\n1 \tInternational Agency for Research on Cancer (IARC). About SYNERGY. [cited 2024 Oct 17]. SYNERGY: Home. Available from: https://synergy.iarc.who.int/about\r\n2 \tArmstrong BG. Effect of measurement error on epidemiological studies of environmental and occupational exposures. Occupational and Environmental Medicine 1998; 55: 651–656.\r\n3 \tOlsson A, Bouaoun L, Schüz J, et al. Lung Cancer Risks Associated with Occupational Exposure to Pairs of Five Lung Carcinogens: Results from a Pooled Analysis of Case-Control Studies (SYNERGY). Environmental Health Perspectives 2024; 132: 17005.\r\n4 \tKamenetsky ME, Keil AP. (Re-)match: adjusting for matching factors in case-control studies may be unnecessary or insufficient. American Journal of Epidemiology 2025; kwaf116. doi: 10.1093/aje/kwaf116",
    "type": "dag",
    "created": "2025-11-13T09:32:33+00:00",
    "authors": [
      {
        "given_name": "Javier",
        "family_name": "Mancilla Galindo",
        "orcid": "0000-0002-0718-467X",
        "affiliations": [
          {
            "name": "Institute for Risk Assessment Sciences, Utrecht University"
          }
        ]
      }
    ],
    "submitter": {
      "given_name": "Javier",
      "family_name": "Mancilla Galindo",
      "orcid": "0000-0002-0718-467X"
    },
    "license": "CC-BY-4.0",
    "rights_url": "https://creativecommons.org/licenses/by/4.0/legalcode",
    "publisher": "Open Causal",
    "language": "en",
    "layout": {
      "coordinate_system": "screen"
    }
  },
  "nodes": [
    {
      "id": "Epsilon_asb",
      "label": "Epsilon_asb",
      "unmeasured": true,
      "position": {
        "x": 0.999,
        "y": 6.027
      }
    },
    {
      "id": "Epsilon_rcs",
      "label": "Epsilon_rcs",
      "unmeasured": true,
      "position": {
        "x": 0.0,
        "y": 5.932
      }
    },
    {
      "id": "U_asb",
      "label": "U_asb",
      "unmeasured": true,
      "position": {
        "x": 0.623,
        "y": 3.993
      }
    },
    {
      "id": "U_rcs",
      "label": "U_rcs",
      "unmeasured": true,
      "position": {
        "x": -0.323,
        "y": 3.991
      }
    },
    {
      "id": "X_asbestos_true",
      "label": "X_asbestos_true",
      "unmeasured": true,
      "position": {
        "x": 1.0,
        "y": 5.0
      }
    },
    {
      "id": "X_rcs_true",
      "label": "X_rcs_true",
      "unmeasured": true,
      "position": {
        "x": 0.0,
        "y": 5.0
      }
    },
    {
      "id": "agegroup",
      "label": "agegroup",
      "position": {
        "x": 0.115,
        "y": 1.155
      }
    },
    {
      "id": "asbestos_cum0",
      "label": "asbestos_cum0",
      "role": "exposure",
      "position": {
        "x": 1.0,
        "y": 4.0
      }
    },
    {
      "id": "industry",
      "label": "industry",
      "unmeasured": true,
      "position": {
        "x": 0.495,
        "y": 4.727
      }
    },
    {
      "id": "packyears",
      "label": "packyears",
      "position": {
        "x": 1.977,
        "y": 2.04
      }
    },
    {
      "id": "sex",
      "label": "sex",
      "position": {
        "x": 0.618,
        "y": 0.804
      }
    },
    {
      "id": "silica_cum0",
      "label": "silica_cum0",
      "role": "exposure",
      "position": {
        "x": 0.0,
        "y": 4.0
      }
    },
    {
      "id": "status",
      "label": "status",
      "role": "outcome",
      "position": {
        "x": 2.0,
        "y": 5.0
      }
    },
    {
      "id": "study_name",
      "label": "study_name",
      "position": {
        "x": -0.106,
        "y": 1.928
      }
    },
    {
      "id": "time_quit",
      "label": "time_quit",
      "position": {
        "x": 1.496,
        "y": 0.909
      }
    }
  ],
  "edges": [
    {
      "source": "Epsilon_asb",
      "target": "X_asbestos_true",
      "type": "directed"
    },
    {
      "source": "Epsilon_rcs",
      "target": "X_rcs_true",
      "type": "directed"
    },
    {
      "source": "U_asb",
      "target": "asbestos_cum0",
      "type": "directed"
    },
    {
      "source": "U_rcs",
      "target": "silica_cum0",
      "type": "directed"
    },
    {
      "source": "X_asbestos_true",
      "target": "status",
      "type": "directed"
    },
    {
      "source": "X_rcs_true",
      "target": "status",
      "type": "directed",
      "curvature": -0.486
    },
    {
      "source": "agegroup",
      "target": "asbestos_cum0",
      "type": "directed"
    },
    {
      "source": "agegroup",
      "target": "packyears",
      "type": "directed"
    },
    {
      "source": "agegroup",
      "target": "silica_cum0",
      "type": "directed"
    },
    {
      "source": "agegroup",
      "target": "status",
      "type": "directed"
    },
    {
      "source": "agegroup",
      "target": "time_quit",
      "type": "directed"
    },
    {
      "source": "asbestos_cum0",
      "target": "X_asbestos_true",
      "type": "directed"
    },
    {
      "source": "industry",
      "target": "asbestos_cum0",
      "type": "directed"
    },
    {
      "source": "industry",
      "target": "silica_cum0",
      "type": "directed"
    },
    {
      "source": "packyears",
      "target": "asbestos_cum0",
      "type": "directed"
    },
    {
      "source": "packyears",
      "target": "silica_cum0",
      "type": "directed"
    },
    {
      "source": "packyears",
      "target": "status",
      "type": "directed"
    },
    {
      "source": "packyears",
      "target": "time_quit",
      "type": "directed"
    },
    {
      "source": "sex",
      "target": "asbestos_cum0",
      "type": "directed"
    },
    {
      "source": "sex",
      "target": "packyears",
      "type": "directed"
    },
    {
      "source": "sex",
      "target": "silica_cum0",
      "type": "directed"
    },
    {
      "source": "sex",
      "target": "status",
      "type": "directed"
    },
    {
      "source": "sex",
      "target": "time_quit",
      "type": "directed"
    },
    {
      "source": "silica_cum0",
      "target": "X_rcs_true",
      "type": "directed"
    },
    {
      "source": "study_name",
      "target": "asbestos_cum0",
      "type": "directed"
    },
    {
      "source": "study_name",
      "target": "silica_cum0",
      "type": "directed"
    },
    {
      "source": "study_name",
      "target": "status",
      "type": "directed"
    },
    {
      "source": "time_quit",
      "target": "asbestos_cum0",
      "type": "directed"
    },
    {
      "source": "time_quit",
      "target": "silica_cum0",
      "type": "directed"
    },
    {
      "source": "time_quit",
      "target": "status",
      "type": "directed"
    }
  ]
}
source,target,edge_type
Epsilon_asb,X_asbestos_true,directed
Epsilon_rcs,X_rcs_true,directed
U_asb,asbestos_cum0,directed
U_rcs,silica_cum0,directed
X_asbestos_true,status,directed
X_rcs_true,status,directed
agegroup,asbestos_cum0,directed
agegroup,packyears,directed
agegroup,silica_cum0,directed
agegroup,status,directed
agegroup,time_quit,directed
asbestos_cum0,X_asbestos_true,directed
industry,asbestos_cum0,directed
industry,silica_cum0,directed
packyears,asbestos_cum0,directed
packyears,silica_cum0,directed
packyears,status,directed
packyears,time_quit,directed
sex,asbestos_cum0,directed
sex,packyears,directed
sex,silica_cum0,directed
sex,status,directed
sex,time_quit,directed
silica_cum0,X_rcs_true,directed
study_name,asbestos_cum0,directed
study_name,silica_cum0,directed
study_name,status,directed
time_quit,asbestos_cum0,directed
time_quit,silica_cum0,directed
time_quit,status,directed
dag {
Epsilon_asb [latent,pos="0.999,6.027"]
Epsilon_rcs [latent,pos="0,5.932"]
U_asb [latent,pos="0.623,3.993"]
U_rcs [latent,pos="-0.323,3.991"]
X_asbestos_true [latent,pos="1,5"]
X_rcs_true [latent,pos="0,5"]
agegroup [pos="0.115,1.155"]
asbestos_cum0 [exposure,pos="1,4"]
industry [latent,pos="0.495,4.727"]
packyears [pos="1.977,2.04"]
sex [pos="0.618,0.804"]
silica_cum0 [exposure,pos="0,4"]
status [outcome,pos="2,5"]
study_name [pos="-0.106,1.928"]
time_quit [pos="1.496,0.909"]
Epsilon_asb -> X_asbestos_true
Epsilon_rcs -> X_rcs_true
U_asb -> asbestos_cum0
U_rcs -> silica_cum0
X_asbestos_true -> status
X_rcs_true -> status
agegroup -> asbestos_cum0
agegroup -> packyears
agegroup -> silica_cum0
agegroup -> status
agegroup -> time_quit
asbestos_cum0 -> X_asbestos_true
industry -> asbestos_cum0
industry -> silica_cum0
packyears -> asbestos_cum0
packyears -> silica_cum0
packyears -> status
packyears -> time_quit
sex -> asbestos_cum0
sex -> packyears
sex -> silica_cum0
sex -> status
sex -> time_quit
silica_cum0 -> X_rcs_true
study_name -> asbestos_cum0
study_name -> silica_cum0
study_name -> status
time_quit -> asbestos_cum0
time_quit -> silica_cum0
time_quit -> status
}

Discussion

No comments yet. Be the first to comment!

Sign in to join the discussion

Log in or create an account.