# Éditeur de code et terminal MEDomics

{% hint style="info" %}
Vous pouvez lire à propos de notre éditeur de code [ici](https://medomicslab.gitbook.io/medomics-docs/new-features#code-editor).
{% endhint %}

### Créez votre espace de travail

Commencez par télécharger le jeu de données initial utilisé dans l'étude originale. Ce jeu de données sert d'entrée brute à partir de laquelle nous extrairons les données nécessaires pour notre preuve de concept. Il contient l'ensemble complet des visites des patients et est requis pour reproduire le processus de sélection des données décrit dans l'étude.

Télécharger le jeu de données [ici](https://zenodo.org/records/12954673). Le fichier se nomme  `dataset.csv` .

Ensuite, créez un dossier dans votre explorateur de fichiers et placez-y le fichier téléchargé. Ce dossier sera utilisé comme votre espace de travail dans *MEDomics* dans les étapes suivantes.

Lancez la plateforme et sélectionnez le dossier comme votre nouvel espace de travail.

### Créez le fichier d'extraction

Créez un *Python* fichier (en dehors de *MEDomics*) nommé  `creating_homr_any_visit.py` dans lequel insérez le code suivant :

```py
import pandas as pd

# Graine pour la reproductibilité
SEED = 54288

# ID du patient à extraire
PATIENT_ID = 16

# Modifiez ceci avec le chemin vers votre jeu de données avant d'exécuter le script
path = "dataset.csv"

# 1) Charger les données
df = pd.read_csv(path)

# 2) Construire homr_any_visit : exactement une visite sélectionnée aléatoirement par patient
homr_any_visit = (
    df.groupby("patient_id", group_keys=False)
    .sample(n=1, random_state=SEED)
    .reset_index(drop=True)
)

# 3) Extraire le patient sélectionné de homr_any_visit
patient_df = homr_any_visit[homr_any_visit["patient_id"] == PATIENT_ID]
patient_df.to_csv(f"patient_{PATIENT_ID}.csv", index=False)

# 4) Retirer ce patient de homr_any_visit
homr_any_visit = homr_any_visit[homr_any_visit["patient_id"] != PATIENT_ID]

# 5) Sauvegarder le jeu de données final homr_any_visit
homr_any_visit.to_csv("homr_any_visit.csv", index=False)

# 5bis) Extraire 1/10 du jeu de données final
homr_any_visit_10pct = homr_any_visit.sample(frac=0.1, random_state=SEED)
homr_any_visit_10pct.to_csv("homr_any_visit_10pct.csv", index=False)

# 6) Journal de synthèse
print(

    f"homr_any_visit.csv enregistré avec "
    f"{homr_any_visit['patient_id'].nunique()} patients uniques "
    f"(lignes={len(homr_any_visit)}), seed={SEED}\n"
    f"Patient {PATIENT_ID} extrait vers patient_{PATIENT_ID}.csv\n"
    f"Sous-ensemble de 10% enregistré dans homr_any_visit_10pct.csv "
    f"(lignes={len(homr_any_visit_10pct)})"
)
```

Ce script génère 3 fichiers :&#x20;

1. `homr_any_visit.csv` : Ce jeu de données est créé en sélectionnant aléatoirement une visite par patient à partir du jeu de données original de manière reproductible. Assurez-vous que la graine reste inchangée pour garantir que la même sortie soit obtenue à travers toutes les étapes.
2. `patient_{id}.csv` : Nous excluons un patient spécifique (défini par `PATIENT_ID`) du jeu de données. Le patient exclu est ensuite utilisé pour tester différentes entrées de données dans le module d'application.
3. `homr_any_visit_10pct.csv`: Ce fichier contient un échantillon de 10% de `homr_any_visit.csv`. Il est utilisé pour la preuve de concept car le jeu de données extrait complet est trop volumineux pour des tests de bout en bout efficaces au sein de la plateforme. Réduire la taille du jeu de données améliore l'utilisation de la mémoire et la scalabilité globale pendant les tests.

Comme étape finale de cette section, n'oubliez pas d'ajouter le fichier nouvellement généré à l'espace de travail utilisé pour cette preuve de concept. Appuyez sur le bouton de rechargement si vous ne le voyez pas encore.

<figure><img src="https://2361277526-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUO0RN9PzFLqAgLEwwaSn%2Fuploads%2FSuVdlJcLUCmylb7ImtC7%2Fimage.png?alt=media&#x26;token=9e9bc198-30e7-4426-9488-719fc8574da3" alt="" width="308"><figcaption><p>Fichier d'extraction dans l'espace de travail</p></figcaption></figure>

### Visualiser et éditer le fichier d'extraction

Suivez les étapes indiquées ci-dessous pour ouvrir le fichier `creating_homr_any_visit.py` dans l'éditeur de code de MEDomics.&#x20;

<figure><img src="https://2361277526-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUO0RN9PzFLqAgLEwwaSn%2Fuploads%2FyAeF4Ch3bEuczKivNbKF%2Fimage%2011.png?alt=media&#x26;token=39d14098-83d6-4f3c-b066-9ed8cb113978" alt="" width="547"><figcaption><p>Ouverture du fichier d'extraction dans l'éditeur de code de MEDomics</p></figcaption></figure>

Ceci est un aperçu du fichier ouvert dans MEDomics. Vous pouvez, par exemple, changer la graine ou l'ID du patient ou les noms des variables.

<figure><img src="https://2361277526-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUO0RN9PzFLqAgLEwwaSn%2Fuploads%2FT5dF54RiC4Pf9wowTCKw%2Fimage.png?alt=media&#x26;token=80ccaf07-01b5-4c93-b4bd-117d4245177a" alt=""><figcaption><p>Fichier d'extraction dans l'éditeur de code</p></figcaption></figure>

### Exécuter le fichier d'extraction

Afin d'exécuter le fichier d'extraction dans le terminal intégré de MEDomics, cliquez sur le bouton IPython comme montré dans la figure ci-dessous. Ensuite, exécutez le fichier avec cette commande :&#x20;

```vb
!python creating_homr_any_visit.py
```

<figure><img src="https://2361277526-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUO0RN9PzFLqAgLEwwaSn%2Fuploads%2FgUU5MZ1L0HZDt70iArys%2Fterminal_MEDomics.png?alt=media&#x26;token=08d630a3-7efa-4eea-9a15-76613deba016" alt=""><figcaption><p>Exécuter le code dans IPython</p></figcaption></figure>

Pour exécuter le script Python généré, assurez-vous que vous utilisez l' **environnement Python de MEDomics**, surtout si Python n'est pas installé localement sur votre machine.

Vous pouvez récupérer le chemin exact de l'exécutable Python directement depuis l'application :

1. Ouvrir **Paramètres** dans MEDomics.
2. Localisez le **chemin de l'environnement Python configuré**.
3. Copiez le chemin complet de l'exécutable Python.

Ensuite, exécutez le script depuis votre terminal en utilisant le format de commande suivant :

```bash
C:\Users\<your_username>\.medomics\Python\python.exe creating_homr_any_visit.py
```

Une fois le fichier exécuté, cliquez sur le bouton d'actualisation dans votre espace de travail. Vous devriez pouvoir voir les 3 nouveaux fichiers mentionnés ci-dessus.

<figure><img src="https://2361277526-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUO0RN9PzFLqAgLEwwaSn%2Fuploads%2FxUTHVpznZ1xGJGma8JX8%2Fimage%2015.png?alt=media&#x26;token=d85ffe3e-23a0-4082-873a-4c0c3a4c947d" alt="" width="375"><figcaption><p>Fichiers résultants dans l'espace de travail</p></figcaption></figure>

{% hint style="info" %}
Pour les étapes suivantes, nous utiliserons le `homr_any_visit_10pct.csv` jeu de données. Comme le `homr_any_visit.csv` fichier, il y aura des tutoriels sur la façon de l'utiliser pour reproduire l'étude originale.
{% endhint %}

Cela conclut la première étape de cette preuve de concept. Dans la suivante, nous approfondirons le traitement du jeu de données en utilisant le module d'entrée.
