dssurvival

Survival functions for DataSHIELD. Package for building survival models, Cox proportional hazards models and Cox regression models in DataSHIELD.

https://github.com/neelsoumya/dssurvival

Science Score: 41.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 19 DOI reference(s) in README
  • Academic publication links
    Links to: biorxiv.org, zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

clinical-informatics cox-models cox-regression datashield datashield-technical-team datashield-testing dssurvival meta-analysis r survival-analysis survival-functions survival-models
Last synced: 6 months ago · JSON representation ·

Repository

Survival functions for DataSHIELD. Package for building survival models, Cox proportional hazards models and Cox regression models in DataSHIELD.

Basic Info
Statistics
  • Stars: 5
  • Watchers: 4
  • Forks: 12
  • Open Issues: 3
  • Releases: 7
Topics
clinical-informatics cox-models cox-regression datashield datashield-technical-team datashield-testing dssurvival meta-analysis r survival-analysis survival-functions survival-models
Created almost 5 years ago · Last pushed over 2 years ago
Metadata Files
Readme Contributing Funding Citation

README.md

dsSurvival

License

Introduction

dsSurvival is a package for building survival functions for DataSHIELD (a platform for federated analysis of private data). These are server side functions for survival models, Cox proportional hazards models and Cox regression models.

A tutorial in bookdown format with executable code is available here:

https://neelsoumya.github.io/dsSurvivalbookdown/

DataSHIELD is a platform in R for federated analysis of private data. DataSHIELD has a client-server architecture and this package has a client side and server side component.

  • The client side package is called dsSurvivalClient

    • https://github.com/neelsoumya/dsSurvivalClient
  • The server side package is called dsSurvival

    • https://github.com/neelsoumya/dsSurvival

If you use the code, please cite the following manuscript:

Banerjee S, Sofack G, Papakonstantinou T, Avraam D, Burton P, et al. (2022), dsSurvival: Privacy preserving survival models for federated individual patient meta-analysis in DataSHIELD, bioRxiv: 2022.01.04.471418.

https://www.biorxiv.org/content/10.1101/2022.01.04.471418v2

https://doi.org/10.1101/2022.01.04.471418

https://bmcresnotes.biomedcentral.com/articles/10.1186/s13104-022-06085-1

A bibliography file is available here:

https://github.com/neelsoumya/dsSurvival/blob/main/CITATION.bib

bibtex @article{Banerjee2022, author = {Banerjee, Soumya and Sofack, Ghislain and Papakonstantinou, Thodoris and Avraam, Demetris and Burton, Paul and Z{\"{o}}ller, Daniela and Bishop, Tom RP}, doi = {10.1101/2022.01.04.471418}, journal = {bioRxiv}, month = {jan}, pages = {2022.01.04.471418}, publisher = {Cold Spring Harbor Laboratory}, title = {{dsSurvival: Privacy preserving survival models for federated individual patient meta-analysis in DataSHIELD}}, year = {2022} }

Quick start

  • Install R

https://www.r-project.org/

and R Studio

https://www.rstudio.com/products/rstudio/download/preview/

  • Install the following packages in R:

r install.packages('devtools') library(devtools) devtools::install_github('neelsoumya/dsSurvivalClient') devtools::install_github('datashield/dsBaseClient@6.1.1') install.packages('rmarkdown') install.packages('knitr') install.packages('tinytex') install.packages('metafor') install.packages('DSOpal') install.packages('DSI') install.packages('opalr') install.packages('patchwork')

  • Follow the tutorial in bookdown format with executable code and synthetic data:

https://neelsoumya.github.io/dsSurvivalbookdown/

This uses the Opal demo server which has all server-side packages preinstalled

https://opal-sandbox.mrc-epid.cam.ac.uk/

You can also see the script simple_script.R

https://github.com/neelsoumya/dsSurvival/blob/main/vignettes/simple_script.R

Installation

  • Install R Studio and the development environment as described below:

    • https://data2knowledge.atlassian.net/wiki/spaces/DSDEV/pages/12943461/Getting+started
  • Install the virtual machines as described below:

    • https://data2knowledge.atlassian.net/wiki/spaces/DSDEV/pages/931069953/Installation+Training+Hub-+DataSHIELD+v6
    • https://data2knowledge.atlassian.net/wiki/spaces/DSDEV/pages/1657634881/Testing+100+VM
    • https://data2knowledge.atlassian.net/wiki/spaces/DSDEV/pages/1657634898/Tutorial+6.1.0+100+VM
    • https://hub.docker.com/layers/rock-base/datashield/rock-base/6.2-R4.2/images/sha256-2b1ae879a4387e1dac6843ea59ac1db61816ee78467c9d30d6769a2aed330b0e?context=explore
  • Install dsBase and dsSurvival on Opal server in the Virtual Machine (type neelsoumya/dsSurvival and main in the textboxes) as shown in the screenshot below

Screenshot of installation of package in VM

In the newer version of Opal your window may look like the screenshot below

Screenshot in new version of Opal

See the link below on how to install a package in Opal

https://opaldoc.obiba.org/en/latest/web-user-guide/administration/datashield.html#add-package

If you have an older version of Opal, please use this version by Stuart Wheater

https://github.com/StuartWheater/dsSurvival

```r

install.packages('devtools')

library(devtools)

devtools::install_github('neelsoumya/dsBaseClient')

devtools::install_github('neelsoumya/dsSurvivalClient')

```

If you want to use a certain release then you can do the following

```r

library(devtools)

devtools::install_github('neelsoumya/dsSurvivalClient@v1.0.0')

```

If you want to try privacy preserving survival curves (available in v2.0), you can use the main branch or you can do the following

```r

library(devtools)

devtools::installgithub('neelsoumya/dsSurvivalClient', ref = 'privacysurvival_curves')

```

or

```r

library(devtools)

devtools::install_github('neelsoumya/dsSurvivalClient@v2.1.3')

```

Usage

A tutorial with executable code in bookdown format is available here:

https://neelsoumya.github.io/dsSurvivalbookdown/

A screenshot of the meta-analyzed hazard ratios from a survival model is shown below.

A screenshot of meta-analyzed hazard ratios from the survival model is shown below

For polished publication ready plots, use the following script forestplot_FINAL.R

https://github.com/neelsoumya/dsSurvival/blob/main/forestplot_FINAL.R

or the script simple_script.R

https://github.com/neelsoumya/dsSurvival/blob/main/vignettes/simple_script.R

If you want to plot survival curves or Kaplan-Meier curves, see the following link:

https://neelsoumya.github.io/dsSurvivalbookdown/computational-workflow.html#plotting-of-privacy-preserving-survival-curves

If you want to learn the basics of survival models, please see the following repository:

https://github.com/neelsoumya/survival_models

If you want to learn coding models in DataSHIELD, see the following repository:

https://github.com/neelsoumya/dsMiscellaneous

Release notes

v1.0.0: A basic first release of survival models in DataSHIELD. This release has Cox proportional hazards models, summaries of models, diagnostics and the ability to meta-analyze hazard ratios. There is also capability to generate forest plots of meta-analyzed hazard ratios. This release supports study-level meta-analysis (SLMA).

A shiny graphical user interface for building survival models in DataSHIELD has also been created by Xavier Escriba Montagut and Juan Gonzalez. It uses dsSurvival and dsSurvivalClient.

  • https://github.com/isglobal-brge/ShinyDataSHIELD

  • https://isglobal-brge.github.io/ShinyDataSHIELD_bookdown/

  • https://isglobal-brge.github.io/ShinyDataSHIELD_bookdown/functionalities.html#survival-analysis

  • https://datashield-demo.obiba.org/

v1.0.1: Minor fixes.

v2.0.0: This has privacy preserving survival curves.

v2.1.0: This has vcov() functionality.

v2.1.1: This has minor fixes.

v2.1.2: This has minor fixes.

v2.1.3: This has minor fixes, fixes for plotting of a stratified survival analysis and use of ggplot in plotting survival curves.

Acknowledgements

We acknowledge the help and support of the DataSHIELD technical team. We are especially grateful to Elaine Smith, Eleanor Hyde, Shareen Tan, Stuart Wheater, Yannick Marcon, Paul Burton, Demetris Avraam, Patricia Ryser-Welch, Kevin Rue-Albrecht, Maria Gomez Vazquez and Wolfgang Viechtbauer for fruitful discussions and feedback.

We thank Yannick Marcon and @StuartWheater for fixes, @joerghenkebuero for suggestions about documentation, @AlanRace and Stefan Buchka for bug fixes and Xavier Escriba Montagut for a fix to the plotting functionality.

Contact

  • Soumya Banerjee, Demetris Avraam, Paul Burton, Xavier Escriba Montagut, Juan Gonzalez, Tom R. P. Bishop and DataSHIELD technical team

  • sb2333@cam.ac.uk

  • DataSHIELD

    • DataSHIELD is a platform that enables the non-disclosive analysis of distributed sensitive data
    • https://www.datashield.ac.uk

Citation

If you use the code, please cite the following manuscript:

Banerjee S, Sofack G, Papakonstantinou T, Avraam D, Burton P, et al. (2022), dsSurvival: Privacy preserving survival models for federated individual patient meta-analysis in DataSHIELD, bioRxiv: 2022.01.04.471418.

https://www.biorxiv.org/content/10.1101/2022.01.04.471418v2

https://doi.org/10.1101/2022.01.04.471418

https://bmcresnotes.biomedcentral.com/articles/10.1186/s13104-022-06085-1

A bib file is available here:

https://github.com/neelsoumya/dsSurvival/blob/main/CITATION.bib

```bibtex @article{Banerjee2022, author = {Banerjee, Soumya and Sofack, Ghislain and Papakonstantinou, Thodoris and Avraam, Demetris and Burton, Paul and Z{\"{o}}ller, Daniela and Bishop, Tom RP}, doi = {10.1101/2022.01.04.471418}, journal = {bioRxiv}, month = {jan}, pages = {2022.01.04.471418}, publisher = {Cold Spring Harbor Laboratory}, title = {{dsSurvival: Privacy preserving survival models for federated individual patient meta-analysis in DataSHIELD}}, year = {2022} }

```

Publications

The following publications describe dsSurvival

Banerjee, S., Sofack, G.N., Papakonstantinou, T. et al. dsSurvival: Privacy preserving survival models for federated individual patient meta-analysis in DataSHIELD. BMC Res Notes 15, 197 (2022). https://doi.org/10.1186/s13104-022-06085-1

Banerjee, S., Bishop, T.R.P. dsSurvival 2.0: privacy enhancing survival curves for survival models in the federated DataSHIELD analysis system. BMC Res Notes 16, 98 (2023). https://doi.org/10.1186/s13104-023-06372-5

If you use the code, please cite the following manuscript:

Banerjee, S., Sofack, G.N., Papakonstantinou, T. et al. dsSurvival: Privacy preserving survival models for federated individual patient meta-analysis in DataSHIELD. BMC Res Notes 15, 197 (2022). https://doi.org/10.1186/s13104-022-06085-1

Owner

  • Name: Soumya Banerjee
  • Login: neelsoumya
  • Kind: user
  • Location: Cambridge, UK
  • Company: University of Cambridge

My research interests are in complex systems data science, machine learning, computational biology, computational immunology and computational immunogenomics.

Citation (CITATION.bib)

@article{Banerjee2022,
author = {Banerjee, Soumya and Sofack, Ghislain and Papakonstantinou, Thodoris and Avraam, Demetris and Burton, Paul and Z{\"{o}}ller, Daniela and Bishop, Tom RP},
doi = {10.1101/2022.01.04.471418},
journal = {bioRxiv},
month = {jan},
pages = {2022.01.04.471418},
publisher = {Cold Spring Harbor Laboratory},
title = {{dsSurvival: Privacy preserving survival models for federated individual patient meta-analysis in DataSHIELD}},
year = {2022}
}

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 16
  • Total pull requests: 5
  • Average time to close issues: 3 months
  • Average time to close pull requests: 5 days
  • Total issue authors: 6
  • Total pull request authors: 4
  • Average comments per issue: 1.06
  • Average comments per pull request: 2.2
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • tombisho (6)
  • neelsoumya (4)
  • AlanRace (2)
  • ymarcon (2)
  • davraam (1)
  • ghost (1)
Pull Request Authors
  • ESCRI11 (2)
  • tombisho (1)
  • StuartWheater (1)
  • ymarcon (1)
Top Labels
Issue Labels
enhancement (8) question (1)
Pull Request Labels
enhancement (2)

Dependencies

DESCRIPTION cran
  • R >= 3.5.0 depends
  • RANN * imports
  • dplyr * imports
  • dsBase * imports
  • fANCOVA * imports
  • ggplot2 * imports
  • reshape2 * imports
  • stringr * imports
  • survival >= 3.2 imports