prostate-nomograms


Nameprostate-nomograms JSON
Version 0.0.9 PyPI version JSON
download
home_pagehttps://github.com/MaxenceLarose/prostate-nomograms
SummaryPrediction tools based on existing prostate cancer nomograms.
upload_time2023-06-19 17:15:28
maintainer
docs_urlNone
authorMaxence Larose
requires_python>=3.7
licenseApache License 2.0
keywords cancer medical nomogram prediction prostate python3
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Prostate Nomograms

A simple implementation of prostate cancer nomograms.

> Prostate cancer nomograms are prediction tools designed to help patients and their physicians understand the nature of their prostate cancer, assess risk based on specific characteristics of a patient and his disease, and predict the likely outcomes of treatment. <sup>[1][1]</sup>

## Installation

### Latest stable version :

```
pip install prostate-nomograms
```

### Latest (possibly unstable) version :

```
pip install git+https://github.com/MaxenceLarose/prostate-cancer-nomograms
```

## Quick usage preview

```python
import pandas as pd

from prostate_nomograms import MskccPreRadicalProstatectomyNomogram, ClassificationOutcome

mskcc_nomogram = MskccPreRadicalProstatectomyNomogram(outcome=ClassificationOutcome.LYMPH_NODE_INVOLVEMENT)

dataframe = pd.read_csv("data.csv")

probability = mskcc_nomogram.predict_proba(dataframe)
```

## Motivation

Nomograms are typically implemented as web-based applications in which a physician must fill in certain boxes using a patient's medical information. Once all the boxes are filled in, the prediction tool can either calculate the probability of several clinical outcomes or calculate a risk score associated with the patient's health status, depending on the type of nomogram. The **purpose** of this application is to speed up the process for a very large number of patients. Indeed, the statistical models of the nomograms are reproduced in Python which allows to calculate in a few seconds the probabilities and the scores of thousands of patients. The coefficients of the models are read from the web sites, then used for the calculations.

## Which nomograms are currently implemented?

Currently, the nomograms of two major centers are implemented, namely :

1. Memorial Sloan Kettering Cancer Center (MSKCC)
   - [Pre-Radical Prostatectomy](https://www.mskcc.org/nomograms/prostate/pre_op)
2. UCSF - CAPRA
   - [CAPRA Score](https://urology.ucsf.edu/research/cancer/prostate-cancer-risk-assessment-and-the-ucsf-capra-score#.YS1Kqo5KiUk)

The MSKCC nomogram directly gives the probability and risk of different outcomes. The UCSF one gives a CAPRA score, which is then converted to probability using logistic regression or cox regression on patient data.

Note that a custom nomogram is also implemented, i.e. a simple logistic regression or cox regression using arbitrary variables. 

## Getting started

You can find examples [here](https://github.com/MaxenceLarose/ProstateCancerNomograms/tree/main/examples).

## License

This code is provided under the [Apache License 2.0](https://github.com/MaxenceLarose/delia/blob/main/LICENSE).

## Citation

```
@misc{prostate-nomograms,
  title={prostate-nomograms: Prediction tools based on existing prostate cancer nomograms},
  author={Maxence Larose},
  year={2022},
  publisher={Université Laval},
  url={https://github.com/MaxenceLarose/prostate-nomograms},
}
```

## Contact

Maxence Larose, B. Ing., [maxence.larose.1@ulaval.ca](mailto:maxence.larose.1@ulaval.ca)

[comment]: REFERENCES>
[1]: <https://www.mskcc.org/nomograms/prostate> "MSKCC - Prostate Cancer Nomograms"

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/MaxenceLarose/prostate-nomograms",
    "name": "prostate-nomograms",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "cancer medical nomogram prediction prostate python3",
    "author": "Maxence Larose",
    "author_email": "maxence.larose.1@ulaval.ca",
    "download_url": "https://files.pythonhosted.org/packages/ce/1c/42f7fb4a653a43815264f8d986daa5b0d6be00b97f79144c44ebd2ef6b33/prostate-nomograms-0.0.9.tar.gz",
    "platform": null,
    "description": "# Prostate Nomograms\r\n\r\nA simple implementation of prostate cancer nomograms.\r\n\r\n> Prostate cancer nomograms are prediction tools designed to help patients and their physicians understand the nature of their prostate cancer, assess risk based on specific characteristics of a patient and his disease, and predict the likely outcomes of treatment. <sup>[1][1]</sup>\r\n\r\n## Installation\r\n\r\n### Latest stable version :\r\n\r\n```\r\npip install prostate-nomograms\r\n```\r\n\r\n### Latest (possibly unstable) version :\r\n\r\n```\r\npip install git+https://github.com/MaxenceLarose/prostate-cancer-nomograms\r\n```\r\n\r\n## Quick usage preview\r\n\r\n```python\r\nimport pandas as pd\r\n\r\nfrom prostate_nomograms import MskccPreRadicalProstatectomyNomogram, ClassificationOutcome\r\n\r\nmskcc_nomogram = MskccPreRadicalProstatectomyNomogram(outcome=ClassificationOutcome.LYMPH_NODE_INVOLVEMENT)\r\n\r\ndataframe = pd.read_csv(\"data.csv\")\r\n\r\nprobability = mskcc_nomogram.predict_proba(dataframe)\r\n```\r\n\r\n## Motivation\r\n\r\nNomograms are typically implemented as web-based applications in which a physician must fill in certain boxes using a patient's medical information. Once all the boxes are filled in, the prediction tool can either calculate the probability of several clinical outcomes or calculate a risk score associated with the patient's health status, depending on the type of nomogram. The **purpose** of this application is to speed up the process for a very large number of patients. Indeed, the statistical models of the nomograms are reproduced in Python which allows to calculate in a few seconds the probabilities and the scores of thousands of patients. The coefficients of the models are read from the web sites, then used for the calculations.\r\n\r\n## Which nomograms are currently implemented?\r\n\r\nCurrently, the nomograms of two major centers are implemented, namely :\r\n\r\n1. Memorial Sloan Kettering Cancer Center (MSKCC)\r\n   - [Pre-Radical Prostatectomy](https://www.mskcc.org/nomograms/prostate/pre_op)\r\n2. UCSF - CAPRA\r\n   - [CAPRA Score](https://urology.ucsf.edu/research/cancer/prostate-cancer-risk-assessment-and-the-ucsf-capra-score#.YS1Kqo5KiUk)\r\n\r\nThe MSKCC nomogram directly gives the probability and risk of different outcomes. The UCSF one gives a CAPRA score, which is then converted to probability using logistic regression or cox regression on patient data.\r\n\r\nNote that a custom nomogram is also implemented, i.e. a simple logistic regression or cox regression using arbitrary variables. \r\n\r\n## Getting started\r\n\r\nYou can find examples [here](https://github.com/MaxenceLarose/ProstateCancerNomograms/tree/main/examples).\r\n\r\n## License\r\n\r\nThis code is provided under the [Apache License 2.0](https://github.com/MaxenceLarose/delia/blob/main/LICENSE).\r\n\r\n## Citation\r\n\r\n```\r\n@misc{prostate-nomograms,\r\n  title={prostate-nomograms: Prediction tools based on existing prostate cancer nomograms},\r\n  author={Maxence Larose},\r\n  year={2022},\r\n  publisher={Universit\u00e9 Laval},\r\n  url={https://github.com/MaxenceLarose/prostate-nomograms},\r\n}\r\n```\r\n\r\n## Contact\r\n\r\nMaxence Larose, B. Ing., [maxence.larose.1@ulaval.ca](mailto:maxence.larose.1@ulaval.ca)\r\n\r\n[comment]: REFERENCES>\r\n[1]: <https://www.mskcc.org/nomograms/prostate> \"MSKCC - Prostate Cancer Nomograms\"\r\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "Prediction tools based on existing prostate cancer nomograms.",
    "version": "0.0.9",
    "project_urls": {
        "Homepage": "https://github.com/MaxenceLarose/prostate-nomograms"
    },
    "split_keywords": [
        "cancer",
        "medical",
        "nomogram",
        "prediction",
        "prostate",
        "python3"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e8e5c506cf1384be33dd2b86975c93296e3324e45af716a2a75c80281c1884d3",
                "md5": "df68552758335a00277e6ceced238aec",
                "sha256": "1e136c55abfa26b3f5a3740b3a0854cc5c366d3a4246f64b282c341bd1e92619"
            },
            "downloads": -1,
            "filename": "prostate_nomograms-0.0.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "df68552758335a00277e6ceced238aec",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 27575,
            "upload_time": "2023-06-19T17:15:27",
            "upload_time_iso_8601": "2023-06-19T17:15:27.440280Z",
            "url": "https://files.pythonhosted.org/packages/e8/e5/c506cf1384be33dd2b86975c93296e3324e45af716a2a75c80281c1884d3/prostate_nomograms-0.0.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ce1c42f7fb4a653a43815264f8d986daa5b0d6be00b97f79144c44ebd2ef6b33",
                "md5": "1848159a6f7e5bae47cee7584cab9079",
                "sha256": "5057fcdb3a9cf76a12e93b8d60d099e2efaab51da1159158e4df4841fb1d64ec"
            },
            "downloads": -1,
            "filename": "prostate-nomograms-0.0.9.tar.gz",
            "has_sig": false,
            "md5_digest": "1848159a6f7e5bae47cee7584cab9079",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 18748,
            "upload_time": "2023-06-19T17:15:28",
            "upload_time_iso_8601": "2023-06-19T17:15:28.837464Z",
            "url": "https://files.pythonhosted.org/packages/ce/1c/42f7fb4a653a43815264f8d986daa5b0d6be00b97f79144c44ebd2ef6b33/prostate-nomograms-0.0.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-19 17:15:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MaxenceLarose",
    "github_project": "prostate-nomograms",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "prostate-nomograms"
}
        
Elapsed time: 0.08139s