Skip to content

Commit ad54348

Browse files
committed
Updating docs for mnpFlex
2 parents 90402bd + 00fd074 commit ad54348

7 files changed

Lines changed: 171 additions & 9 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ and this project (almost) adheres to [Semantic Versioning](https://semver.org/sp
5858
- IGV-ready BAM creation for consistent genome browser loading.
5959
- Workflow support for `igv_bam` and `snp_analysis` job types.
6060
- SNP analysis queueing from the GUI with concurrency control.
61-
- MNP-FLEX upload support for bedMethyl outputs for beta users with Epignostix credentials (https://epignostix.com/). Supply credentials via `MNPFLEX_USER` and `MNPFLEX_PASS` environment variables.
61+
- MNP-FLEX upload support for bedMethyl outputs for beta users with Epignostix credentials (https://epignostix.com/). The initial implementation used `MNPFLEX_USER` and `MNPFLEX_PASS`; current GUI and batch integrations use `MNPFLEX_USERNAME` and `MNPFLEX_PASSWORD`.
6262
- `robin utils mgmt` command to summarize MGMT CpG site methylation counts from `mgmt_sorted.bam` outputs.
6363

6464
### Changed

‎README.md‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
- [Common issues](#common-issues)
1616
- [Usage](#usage)
1717
- [BAM read limit and MinKNOW](#bam-read-limit-and-minknow-settings)
18+
- [Optional MNP-Flex integration](#optional-mnp-flex-integration)
1819
- [Command reference](#command-reference)
1920
- [Known issues and limitations](#known-issues-and-limitations)
2021
- [Performance](#performance)
@@ -167,6 +168,18 @@ You can add that to your shell config (after conda init).
167168

168169
On machines with **≤ 64 GB RAM**, restart the machine (or at least Dorado) before a heavy run. Dorado can retain memory indefinitely; on a P2i, after a run on position A and then B, restarting after position B (once basecalling finishes) is recommended.
169170

171+
### Optional MNP-Flex integration
172+
173+
ROBIN can submit methylation data to the commercial **MNP-Flex** service from
174+
Heidelberg Epignostix and display the returned results in the GUI. This
175+
requires an agreement and credentials from Epignostix.
176+
177+
Set `MNPFLEX_USERNAME` and `MNPFLEX_PASSWORD` in the server environment before
178+
starting ROBIN. See the
179+
[MNP-Flex setup guide](docs/getting-started/mnpflex.md) for configuration,
180+
data-transfer considerations, optional API settings, operation, and
181+
troubleshooting.
182+
170183
### Example workflows
171184

172185
Primary pattern:

‎docs/getting-started/mnpflex.md‎

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
# MNP-Flex setup
2+
3+
ROBIN can submit methylation data to **MNP-Flex** and display the returned
4+
classification, quality-control, and MGMT results in the web interface.
5+
MNP-Flex is a commercial service provided by
6+
[Heidelberg Epignostix GmbH](https://epignostix.com/).
7+
8+
## Before you begin
9+
10+
You need:
11+
12+
- An agreement with Epignostix covering use of MNP-Flex.
13+
- An Epignostix username and password with access to the MNP-Flex service.
14+
- A ROBIN workflow that produces the per-sample methylation parquet file.
15+
- Network access from the machine running ROBIN to the Epignostix service.
16+
17+
ROBIN sends sample-derived methylation data to an external service. Confirm
18+
that this is permitted by your local information-governance and data-transfer
19+
policies before enabling the integration.
20+
21+
## Configure credentials
22+
23+
Set the credentials in the environment of the **server process running
24+
ROBIN**, before starting `robin workflow`:
25+
26+
```bash
27+
export MNPFLEX_USERNAME="your-epignostix-username"
28+
export MNPFLEX_PASSWORD="your-epignostix-password"
29+
```
30+
31+
Then start ROBIN from the same shell:
32+
33+
```bash
34+
robin workflow <data_folder> \
35+
--work-dir <output_folder> \
36+
--reference <reference.fa> \
37+
--center <center_id>
38+
```
39+
40+
Both variables are required. If either is absent, ROBIN hides the MNP-Flex
41+
controls and does not submit samples.
42+
43+
Do not put credentials in the repository, command history, workflow output,
44+
screenshots, or other files that may be shared. For a persistent deployment,
45+
configure these variables through the service manager or secret-management
46+
system used to launch ROBIN.
47+
48+
!!! note "Legacy variable names"
49+
50+
Older ROBIN code and release notes may refer to `MNPFLEX_USER` and
51+
`MNPFLEX_PASS`. Current GUI and batch integration uses
52+
`MNPFLEX_USERNAME` and `MNPFLEX_PASSWORD`; use the current names for new
53+
deployments.
54+
55+
## Optional settings
56+
57+
The defaults match the standard Epignostix integration. Change these only when
58+
Epignostix supplies different values:
59+
60+
| Variable | Default | Purpose |
61+
|----------|---------|---------|
62+
| `MNPFLEX_BASE_URL` | `https://app.epignostix.com` | Epignostix API base URL |
63+
| `MNPFLEX_WORKFLOW_ID` | `18` | MNP-Flex workflow identifier |
64+
| `MNPFLEX_CLIENT_ID` | `ROBIN` | OAuth client identifier |
65+
| `MNPFLEX_CLIENT_SECRET` | `SECRET` | OAuth client secret |
66+
| `MNPFLEX_SCOPE` | empty | Optional OAuth scope |
67+
68+
For example:
69+
70+
```bash
71+
export MNPFLEX_WORKFLOW_ID="18"
72+
export MNPFLEX_BASE_URL="https://app.epignostix.com"
73+
```
74+
75+
## Confirm that it is enabled
76+
77+
After restarting ROBIN:
78+
79+
1. Open a sample page.
80+
2. Look for the **MNP-Flex results** section.
81+
3. Use **Generate MNP-Flex subset BED** to confirm that the sample methylation
82+
parquet can be prepared.
83+
4. Use **Run MNP-Flex analysis** to submit that sample.
84+
85+
The samples overview also shows **mnpflex run all** when credentials are
86+
available. This runs MNP-Flex sequentially for eligible samples that do not
87+
already have results.
88+
89+
ROBIN may automatically submit a completed sample when its analysis jobs have
90+
finished and no MNP-Flex result is present.
91+
92+
## Inputs and outputs
93+
94+
ROBIN reconstructs bedMethyl data from the sample parquet, prepares the subset
95+
required by MNP-Flex, uploads it, and retrieves the result bundle.
96+
97+
Files are written within the sample output directory:
98+
99+
```text
100+
<sample-id>/
101+
├── <sample-id>.mnpflex.bed
102+
├── <sample-id>.MNPFlex.subset.bed
103+
└── mnpflex_results_<sample-id>/
104+
└── bundle_summary.json
105+
```
106+
107+
Additional plots and result files may be present in the results directory.
108+
These files feed both the sample page and ROBIN-generated reports.
109+
110+
## Troubleshooting
111+
112+
**The MNP-Flex section or bulk button is missing**
113+
114+
- Confirm both `MNPFLEX_USERNAME` and `MNPFLEX_PASSWORD` are set for the
115+
process that launches ROBIN.
116+
- Restart ROBIN after changing its environment.
117+
- If ROBIN is launched by a service, setting variables in an interactive shell
118+
does not change the service environment.
119+
120+
**The sample cannot generate a subset BED**
121+
122+
- Confirm the sample output directory contains `<sample-id>.parquet` or
123+
another sample parquet file.
124+
- Confirm methylation preprocessing completed successfully.
125+
126+
**Authentication or upload fails**
127+
128+
- Check the credentials with Epignostix.
129+
- Confirm the machine can reach `MNPFLEX_BASE_URL`.
130+
- Confirm any custom workflow ID, client ID, client secret, or scope with
131+
Epignostix.
132+
- Review the ROBIN log for messages containing `MNPFlex`.
133+
134+
**Results do not appear immediately**
135+
136+
- MNP-Flex processing is asynchronous and can take time.
137+
- Use the section's status and refresh controls, and check the ROBIN log for
138+
upload, polling, or result-download errors.

‎docs/releases/v0.5.md‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,10 @@
5757
- **Classification:** scoring and aggregation improved across **Sturgeon / NanoDX / PanNanoDX / Random Forest**.
5858
- **CNV (GUI):** bin-width selector; chromosome set aligned with reports (chr0–22, X, Y; excludes chrM and odd contigs).
5959
- **Fusion (GUI):** faster refresh when the fusion section is built; optional timing logs for diagnostics.
60-
- **MNP-Flex:** optional **Epignostix** upload for bedMethyl (`MNPFLEX_USER` / `MNPFLEX_PASS`); panel hides empty fields until data exists.
60+
- **MNP-Flex:** optional **Epignostix** upload for bedMethyl. Current
61+
deployments should use `MNPFLEX_USERNAME` / `MNPFLEX_PASSWORD`; the initial
62+
implementation used `MNPFLEX_USER` / `MNPFLEX_PASS`. See
63+
[MNP-Flex setup](../getting-started/mnpflex.md).
6164
- **Target** analysis always emits **`targets_exceeding_threshold.bed`** for downstream SNP use.
6265

6366
### Reports and PDFs

‎docs/using-robin/index.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ Sign in, use the **menu**, **Dark mode**, **Links**, **Log out**, and read the t
3434
**Run summary**, **Classification**, **Analysis**, reports, and optional **Sample details**.
3535
</div>
3636

37+
<div class="robin-feature-card" markdown>
38+
### [MNP-Flex setup](../getting-started/mnpflex.md)
39+
Configure Epignostix credentials, submit samples, and troubleshoot the optional MNP-Flex integration.
40+
</div>
41+
3742
<div class="robin-feature-card" markdown>
3843
### [Troubleshooting](troubleshooting.md)
3944
Connection, sign-in, unknown sample, dark mode, reports.

‎docs/using-robin/sample-results.md‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -235,16 +235,18 @@ Some sites show an **MNP-Flex results** block in the sample page. It may include
235235

236236
A toolbar may show whether the integration is **idle**, **busy**, or **running**. If you never see this block, your deployment may not use MNP-Flex, or credentials may not be configured.
237237

238-
**Applying your Epignostix credentials in ROBIN:** The ROBIN process that runs the workflow and web UI reads **environment variables** on the **server** (not in the browser). Set the username and password Epignostix gave you before starting ROBIN, for example:
238+
**Applying your Epignostix credentials in ROBIN:** The ROBIN process that runs the workflow and web UI reads **environment variables** on the **server** (not in the browser). Set the username and password Epignostix gave you before starting ROBIN:
239239

240-
- **`MNPFLEX_USERNAME`** — your Epignostix user name
241-
- **`MNPFLEX_PASSWORD`** — your Epignostix password
240+
```bash
241+
export MNPFLEX_USERNAME="your-epignostix-username"
242+
export MNPFLEX_PASSWORD="your-epignostix-password"
243+
```
242244

243245
If either variable is missing, ROBIN does not show the MNP-Flex block and will not run the integration.
244246

245-
How you set them depends on your setup: typically export them in the shell before `robin …` - whoever operates the sequencing machine or server should make them **persistent** and **secure** (never commit them to git).
246-
247-
Your administrator may also tune optional settings (for example **`MNPFLEX_BASE_URL`**, **`MNPFLEX_WORKFLOW_ID`**, OAuth **`MNPFLEX_CLIENT_ID`** / **`MNPFLEX_CLIENT_SECRET`**, **`MNPFLEX_SCOPE`**) if Epignostix instructs you to; defaults match the standard Epignostix app integration.
247+
For the complete operator guide, including secure persistent configuration,
248+
optional API settings, data-transfer considerations, bulk operation, output
249+
files, and troubleshooting, see [MNP-Flex setup](../getting-started/mnpflex.md).
248250

249251
---
250252

‎mkdocs.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ nav:
7979
- At startup (disclaimer, GUI, password): getting-started/startup.md
8080
- Library Preparation: getting-started/library-preparation.md
8181
- MinKNOW Configuration: getting-started/minknow-configuration.md
82+
- MNP-Flex Setup: getting-started/mnpflex.md
8283
- Command-line reference:
8384
- Overview: cli/index.md
8485
- workflow command: cli/workflow.md
@@ -91,4 +92,4 @@ nav:
9192
- First steps and navigation: using-robin/authentication-and-layout.md
9293
- Tour of the screens: using-robin/pages-and-routes.md
9394
- Reading your results: using-robin/sample-results.md
94-
- Troubleshooting: using-robin/troubleshooting.md
95+
- Troubleshooting: using-robin/troubleshooting.md

0 commit comments

Comments
 (0)