Skip to content

Commit

Permalink
Merge pull request #20 from papaemmelab/organize-readme
Browse files Browse the repository at this point in the history
📒 organize readme sections
  • Loading branch information
juanesarango authored Nov 1, 2024
2 parents 70ae052 + 3fd2c02 commit 8b7935d
Showing 1 changed file with 71 additions and 66 deletions.
137 changes: 71 additions & 66 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# IPSS-M API and CLI

<!-- badges: start -->
[![Compute IPSS-M and IPSS-M Risks on IWG-PM Cohort (Bernard et al, 2022 NJEM Evid)](https://github.com/papaemmelab/ipssm-js/actions/workflows/risk-scores-test.yml/badge.svg)](https://github.com/papaemmelab/ipssm-js/actions/workflows/risk-scores-test.yml)
[![Can be run as CLI](https://github.com/papaemmelab/ipssm-js/actions/workflows/cli-test.yml/badge.svg)](https://github.com/papaemmelab/ipssm-js/actions/workflows/cli-test.yml)
Expand All @@ -10,41 +12,98 @@
> [!important]
> **You may use `IPSS-M API`, the underlying content, and any output therefrom for personal for academic and research and noncommercial purposes only. See [LICENSE](LICENSE) for more details.**
# ipssm API and CLI

⚡️ API Reference Available at: https://api.mds-risk-model.com

API and CLI of the Molecular International Prognostic Scoring System (IPSS-M) for Myelodysplastic Syndromes.

- For the R package, see [papaemmelab/ipssm](https://github.com/papaemmelab/ipssm).
⚡️ API Reference Available at: https://api.mds-risk-model.com

- For the R package, see [https://github.com/papaemmelab/ipssm](https://github.com/papaemmelab/ipssm).
- For the Online Web Calculator, visit [https://mds-risk-model.com](https://mds-risk-model.com).

## Table of contents

- [📖 IPSS-M Publication](#page_with_curl-ipss-m-publication)
- [🗒️ Input Variables Definition](#spiral_notepad-input-variables-definition)
- [🚀 API Usage](#rocket-api-usage)
- [🧬 IPSS-M API Endpoint](#dna-ipss-m-api-endpoint)
- [🆎 IPSS-R API Endpoint](#ab-ipss-r-api-endpoint)
- [🤖 CLI Usage](#robot-cli-usage)
- [🔥 Using it as a node/javascript package](#fire-using-it-as-a-nodejavascript-package)
- [💥 IPSS-M](#boom-ipss-m)
- [⚡️ IPSS-R and IPSS-R (Age adjusted)](#zap-ipss-r-and-ipss-r-age-adjusted)
- [🎯 Annotating batch from CSV/Excel file](#dart-annotating-batch-from-csvexcel-file)
- [🗒️ Input Variables Definition](#spiral_notepad-input-variables-definition)
- [👨🏻‍💻 Development](#-development)
- [❓ Question](#question-question)

[inputs](#inputs)

## :page_with_curl: IPSS-M Publication

>**Bernard E**, Tuechler H, Greenberg PL, Hasserjian RP, Arango Ossa JE et al. **Molecular International Prognostic Scoring System for Myelodysplastic Syndromes**, *NEJM Evidence* 2022.
https://evidence.nejm.org/doi/full/10.1056/EVIDoa2200008

<!-- Anchor to target cli help -->
<!-- <span id="inputs" /> -->

## :spiral_notepad: Input Variables Definition

Note: Values for mutations:

- `0` means wild-type (non-mutated)
- `1` means mutated, and
- `NA` means 'Not Asssesed'.

| Category | Variable Explanation | Variable | type, and Unit | Possible Value |
|----------------------------|-------------------------------|--------------|----------------------------------|-------------------------------------------------------------|
| clinical | Hemoglobin | `HB` | float, in g/dL | [`4`-`20`] |
| clinical | Platelets | `PLT` | float, in Giga/L | [`0`-`2000`] |
| clinical | Bone Marrow Blasts | `BM_BLAST` | float, in % | [`0`-`30`] |
| clinical (only for IPSS-R) | Absolute Neutrophil Count | `ANC` | float, in Giga/L | [`0`-`15`] |
| clinical (only for IPSS-RA)| Bone Marrow Blasts | `AGE` | float, in years | [`18`-`120`] |
| cytogenetics | Presence of del(5q) | `del5q` | integer | `0`/`1` |
| cytogenetics | Presence of -7/del(7q) | `del7_7q` | integer | `0`/`1` |
| cytogenetics | Presence of -17/del(17p) | `del17_17p` | integer | `0`/`1` |
| cytogenetics | Complex karyotype | `complex` | integer | `0`/`1` |
| cytogenetics | Cytogenetics Category | `CYTO_IPSSR` | string | `Very Good`/`Good`/`Intermediate`/`Poor`/`Very Poor` |
| TP53 locus | Number of TP53 mutations | `TP53mut` | string | `0`/`1`/`2 or more` |
| TP53 locus | Maximum TP53 VAF | `TP53maxvaf` | float, between 0 and 1 | [`0`-`1`] |
| TP53 locus | Loss of heterozygosity at TP53| `TP53loh` | integer: 0 or 1, string `'NA'` | `0`/`1` |
| MLL and FLT3 mutations | MLL PTD | `MLL_PTD` | integer: 0 or 1, string `'NA'` | `0`/`1` / `NA` |
| MLL and FLT3 mutations | FLT3 ITD or TKD | `FLT3` | integer: 0 or 1, string `'NA'` | `0`/`1` |
| gene main effect | ASXL1 | `ASXL1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | CBL | `CBL` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | DNMT3A | `DNMT3A` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | ETV6 | `ETV6` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | EZH2 | `EZH2` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | IDH2 | `IDH2` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | KRAS | `KRAS` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | NPM1 | `NPM1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | NRAS | `NRAS` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | RUNX1 | `RUNX1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | SF3B1 | `SF3B1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | SRSF2 | `SRSF2` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | U2AF1 | `U2AF1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | BCOR | `BCOR` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | BCORL1 | `BCORL1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | CEBPA | `CEBPA` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | ETNK1 | `ETNK1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | GATA2 | `GATA2` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | GNB1 | `GNB1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | IDH1 | `IDH1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | NF1 | `NF1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | PHF6 | `PHF6` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | PPM1D | `PPM1D` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | PTPN11 | `PTPN11` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | PRPF8 | `PRPF8` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | SETBP1 | `SETBP1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | STAG2 | `STAG2` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | WT1 | `WT1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |

## :rocket: API Usage

The API is available at: https://api.mds-risk-model.com

- **IPSS-M endpoint:** `/ipssm`
### :dna: IPSS-M API Endpoint

Endpoint: `POST` `/ipssm`

```bash
curl \
Expand Down Expand Up @@ -114,7 +173,9 @@ curl \
}
```
- **IPSS-R endpoint:** `/ipssr`
### :ab: IPSS-R API Endpoint
Endpoint: `POST` `/ipssr`
```bash
$ curl \
Expand Down Expand Up @@ -325,62 +386,6 @@ const outputFile = 'IPSSMexample.annotated.xlsx'
await annotateFile(inputFile, outputFile)
```
<!-- Anchor to target cli help -->
<span id="inputs" />
## :spiral_notepad: Input Variables Definition
Note: Values for mutations:
- `0` means wild-type (non-mutated)
- `1` means mutated, and
- `NA` means 'Not Asssesed'.
| Category | Variable Explanation | Variable | type, and Unit | Possible Value |
|----------------------------|-------------------------------|--------------|----------------------------------|-------------------------------------------------------------|
| clinical | Hemoglobin | `HB` | float, in g/dL | [`4`-`20`] |
| clinical | Platelets | `PLT` | float, in Giga/L | [`0`-`2000`] |
| clinical | Bone Marrow Blasts | `BM_BLAST` | float, in % | [`0`-`30`] |
| clinical (only for IPSS-R) | Absolute Neutrophil Count | `ANC` | float, in Giga/L | [`0`-`15`] |
| clinical (only for IPSS-RA)| Bone Marrow Blasts | `AGE` | float, in years | [`18`-`120`] |
| cytogenetics | Presence of del(5q) | `del5q` | integer | `0`/`1` |
| cytogenetics | Presence of -7/del(7q) | `del7_7q` | integer | `0`/`1` |
| cytogenetics | Presence of -17/del(17p) | `del17_17p` | integer | `0`/`1` |
| cytogenetics | Complex karyotype | `complex` | integer | `0`/`1` |
| cytogenetics | Cytogenetics Category | `CYTO_IPSSR` | string | `Very Good`/`Good`/`Intermediate`/`Poor`/`Very Poor` |
| TP53 locus | Number of TP53 mutations | `TP53mut` | string | `0`/`1`/`2 or more` |
| TP53 locus | Maximum TP53 VAF | `TP53maxvaf` | float, between 0 and 1 | [`0`-`1`] |
| TP53 locus | Loss of heterozygosity at TP53| `TP53loh` | integer: 0 or 1, string `'NA'` | `0`/`1` |
| MLL and FLT3 mutations | MLL PTD | `MLL_PTD` | integer: 0 or 1, string `'NA'` | `0`/`1` / `NA` |
| MLL and FLT3 mutations | FLT3 ITD or TKD | `FLT3` | integer: 0 or 1, string `'NA'` | `0`/`1` |
| gene main effect | ASXL1 | `ASXL1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | CBL | `CBL` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | DNMT3A | `DNMT3A` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | ETV6 | `ETV6` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | EZH2 | `EZH2` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | IDH2 | `IDH2` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | KRAS | `KRAS` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | NPM1 | `NPM1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | NRAS | `NRAS` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | RUNX1 | `RUNX1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | SF3B1 | `SF3B1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | SRSF2 | `SRSF2` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene main effect | U2AF1 | `U2AF1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | BCOR | `BCOR` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | BCORL1 | `BCORL1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | CEBPA | `CEBPA` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | ETNK1 | `ETNK1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | GATA2 | `GATA2` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | GNB1 | `GNB1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | IDH1 | `IDH1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | NF1 | `NF1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | PHF6 | `PHF6` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | PPM1D | `PPM1D` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | PTPN11 | `PTPN11` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | PRPF8 | `PRPF8` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | SETBP1 | `SETBP1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | STAG2 | `STAG2` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
| gene residual | WT1 | `WT1` | integer: 0 or 1, string `'NA'` | `0`/`1`/`NA` |
## :question: Question
Expand Down

0 comments on commit 8b7935d

Please sign in to comment.