generated from opensafely/research-template
/
project.yaml
148 lines (126 loc) · 5.11 KB
/
project.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
######################################
# This script defines the project pipeline - it specifys the execution orders for all the code in this
# repo using a series of actions.
######################################
version: '3.0'
expectations:
population_size: 1000000
actions:
# Extract data for study population flow chart
generate_study_population_flow_chart_data:
run: cohortextractor:latest generate_cohort --study-definition study_definition_flow_chart
outputs:
highly_sensitive:
cohort: output/input_flow_chart.csv
# Calculate numbers for study population flow chart
flow_chart:
run: r:latest -e 'rmarkdown::render("analysis/R/Markdown/Study_definition_flow_chart.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output/flow_chart")'
needs: [generate_study_population_flow_chart_data]
outputs:
moderately_sensitive:
html: output/flow_chart/Study_definition_flow_chart.html
# Extract study data
generate_study_population:
run: cohortextractor:latest generate_cohort --study-definition study_definition
outputs:
highly_sensitive:
cohort: output/input.csv
# Process data
data_process:
run: r:latest analysis/R/Scripts/00_process_data.R
needs: [generate_study_population]
outputs:
highly_sensitive:
data1: output/data/data_all.rds
data2: output/data/data_modelling.rds
# Summarise data
data_properties:
run: r:latest analysis/R/Scripts/01_data_properties.R output/data/data_all.rds output/data_properties
needs: [generate_study_population, data_process]
outputs:
moderately_sensitive:
datasummary: output/data_properties/data_all*.txt
# # More data summaries
# data_summaries:
# run: r:latest -e 'rmarkdown::render("analysis/R/Markdown/Data_summaries.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [generate_study_population, data_process]
# outputs:
# moderately_sensitive:
# html: output/Data_summaries.html
# # Coxph models
# cox_models:
# run: r:latest analysis/R/Scripts/02a_models_coxph.R
# needs: [generate_study_population, data_process]
# outputs:
# highly_sensitive :
# models: output/models/testing/mod*.rds
# # Coxme model
# coxme_model:
# run: r:latest analysis/R/Scripts/02b_models_coxme.R
# needs: [generate_study_population, data_process]
# outputs:
# highly_sensitive :
# models: output/models/testing/mod_test*.rds
# # Model summaries
# cox_models_summaries:
# run: r:latest -e 'rmarkdown::render("analysis/R/Markdown/Model_comparisons.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [generate_study_population, data_process, cox_models, coxme_model]
# outputs:
# moderately_sensitive:
# html: output/Model_comparisons.html
# # AFT vs Cox models feasibility
# aft_vs_cox_poc:
# run: r:latest analysis/R/Scripts/02c_models_cox_vs_aft_poc.R
# needs: [generate_study_population, data_process]
# outputs:
# highly_sensitive :
# models: output/models/testing/cox_vs_aft/mod*.rds
# moderately_sensitive:
# tables: output/models/testing/cox_vs_aft/table*.csv
# plots: output/models/testing/cox_vs_aft/plot*.svg
# # AFT models
# aft_vs_cox_models:
# run: r:latest analysis/R/Scripts/02d_models_cox_vs_aft.R
# needs: [generate_study_population, data_process]
# outputs:
# highly_sensitive :
# models: output/models/cox_vs_aft/mod*.rds
# # Model comparison
# aft_vs_cox_comparison:
# run: r:latest -e 'rmarkdown::render("analysis/R/Markdown/Cox_vs_aft_model_comparison.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [generate_study_population, data_process, aft_vs_cox_models]
# outputs:
# moderately_sensitive:
# html: output/Cox_vs_aft_model_comparison.html
# Final (stratified cox) model
model_final:
run: r:latest analysis/R/Scripts/03_model_final.R
needs: [generate_study_population, data_process]
outputs:
highly_sensitive :
models: output/model/mod*.rds
moderately_sensitive:
csv: output/model/tidy_*.csv
# Strata summaries
strata_summary:
run: r:latest analysis/R/Scripts/04_strata_summary.R
needs: [data_process, model_final]
outputs:
moderately_sensitive:
plots: output/model/plot_strata*.svg
csv: output/model/cmlhaz_quantiles.csv
# # Results summary
# results_summary:
# run: r:latest -e 'rmarkdown::render("analysis/R/Markdown/Results_summary.Rmd", knit_root_dir = "/workspace", output_dir="/workspace/output")'
# needs: [data_process, model_final]
# outputs:
# moderately_sensitive:
# html: output/Results_summary.html
# Table and figure
table_and_figure:
run: r:latest analysis/R/Scripts/05_table_and_figure.R
needs: [generate_study_population, data_process, model_final]
outputs:
moderately_sensitive:
table1: output/model/tab*.csv
table2: output/model/counts_redacted.csv