NetSurvival
A pure-Julia take on standard net survival routines
Science Score: 44.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
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.6%) to scientific vocabulary
Repository
A pure-Julia take on standard net survival routines
Basic Info
- Host: GitHub
- Owner: JuliaSurv
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://juliasurv.github.io/NetSurvival.jl/
- Size: 7.19 MB
Statistics
- Stars: 17
- Watchers: 1
- Forks: 1
- Open Issues: 7
- Releases: 3
Metadata Files
README.md
NetSurvival.jl
A pure-Julia take on standard net survival routines
The NetSurvival.jl package is part of the JuliaSurv survival analysis suite. It provides the necessary tools to perform estimations and analysis in the Net Survival field. This specialized branch of Survival Analysis focuses on estimating the probability of survival from a specific event of interest, for example a given cancer, without considering other causes of death, in the (unfortunately quite common) case where the cause of death indicatrix is unavailable (or e.g. untrustworthy). Consequently, the so-called missing indicatrix issue forbids the use of standard competitive risks survival analysis methods on these datasets. Thus, a few standard estimators were established in the last 50 years, backed by a wide literature.
Features
This package is an attempt to bring standard relative survival analysis modeling routines to Julia, while providing an interface that is close to the R package relsurv, albeit significantly faster and easier to maintain in the future. We aim at covering the standard estimators, needed for routines and comparisons, but also to provide the most up to date state of the art.
Some key features in NetSurvival.jl are:
- A panel of different non-parametric net survival estimators (Ederer I, Ederer II, Hakulinen, Pohar Perme) with an interface compliant with Julia's standards.
- Grafféo's log-rank test to compare net survival curves accross groups, including stratified testing.
- A 'Nessie' function that outputs the estimated sample size by yearly intervals and the average lifespan expectancy left for a given group.
- A compact, readable and efficient codebase (up to 100x less LOC than
relsurvfor the same functionalities), ensuring long-term maintenability. - Significant performance improvements (see below) compared
relsurv.
Getting Started
The package is available on Julia's general registry, and thus can be installed through the following command:
julia
using NetSurvival
See the rest of this documentation to have a glimpse of the functionalities! You can also take a look at our talk at JuliaCon2024.
Benchmarks
NetSurvival.jl is fast. Below numbers gives runtime mulitpliers w.r.t. R::relsurv, computed on a i9-13900 processor. A version of these numbers computed on (even slower) github action's runners are availiable in our documentation, alongside the code needed to re-ran these numbers on your environnement.
The comparison is done on the colrec dataset with the slopop ratetable. The first numbers compare the timing in the obtention of the net survival curve:
| | UnstratifiedSurv(time,status)~1 | StratifiedSurv(time,status)~sex |
|--------------------------:|------------------------------:|----------------------------:|
| Pohar Perme | 20.8431 | 20.1461 |
| EdererI | 7.216 | 4.1363 |
| EdererII | 29.2397 | 29.0399 |
| Hakulinen | 23.493 | 15.6676 |
While the second numbers compare the implementation the Grafféo's log-rank-type test:
| | UnstratifiedSurv(time,status)~stage | StratifiedSurv(time,status)~stage+Strata(sex) |
|--------------------------:|------------------------------:|----------------------------:|
| Graffeo's LRT | 13.1556 | 18.156 |
Call to contributions : If you have access to stata's implementation (which is not free) and want to report timings, do not hesitate to open an issue.
Contributions are welcome
If you want to contribute to the package, ask a question, found a bug or simply want to chat, do not hesitate to open an issue on this repo. General guidelines on collaborative practices (colprac) are available at https://github.com/SciML/ColPrac.
Owner
- Name: JuliaSurv
- Login: JuliaSurv
- Kind: organization
- Repositories: 1
- Profile: https://github.com/JuliaSurv
Citation (CITATION.bib)
@misc{NetSurvival.jl,
author = {Oskar Laverny <oskar.laverny@univ-amu.fr> and contributors},
title = {NetSurvival.jl},
url = {https://github.com/JuliaSurv/NetSurvival.jl},
version = {v1.0.0-DEV},
year = {2024},
month = {3}
}
GitHub Events
Total
- Create event: 14
- Commit comment event: 4
- Release event: 1
- Watch event: 8
- Delete event: 9
- Issue comment event: 3
- Push event: 54
- Pull request event: 29
- Fork event: 1
Last Year
- Create event: 14
- Commit comment event: 4
- Release event: 1
- Watch event: 8
- Delete event: 9
- Issue comment event: 3
- Push event: 54
- Pull request event: 29
- Fork event: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 1
- Total pull requests: 11
- Average time to close issues: 5 months
- Average time to close pull requests: 11 days
- Total issue authors: 1
- Total pull request authors: 3
- Average comments per issue: 0.0
- Average comments per pull request: 0.27
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 8
Past Year
- Issues: 1
- Pull requests: 11
- Average time to close issues: 5 months
- Average time to close pull requests: 11 days
- Issue authors: 1
- Pull request authors: 3
- Average comments per issue: 0.0
- Average comments per pull request: 0.27
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 8
Top Authors
Issue Authors
- lrnv (8)
- rimhajal (4)
- JuliaTagBot (1)
Pull Request Authors
- lrnv (18)
- dependabot[bot] (14)
- rimhajal (6)
- github-actions[bot] (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 2 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 3
juliahub.com: NetSurvival
A pure-Julia take on standard net survival routines
- Homepage: https://juliasurv.github.io/NetSurvival.jl/
- Documentation: https://docs.juliahub.com/General/NetSurvival/stable/
- License: MIT
-
Latest release: 0.1.2
published about 1 year ago
Rankings
Dependencies
- actions/checkout v4 composite
- benchmark-action/github-action-benchmark v1 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/setup-julia v2 composite
- actions/checkout v4 composite
- codecov/codecov-action v4.3.0 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-docdeploy v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- julia-actions/RegisterAction latest composite
- JuliaRegistries/TagBot v1 composite