Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:impilopedia:genex:rnaseq:airway_project:fetching_raw_data [2026/06/15 07:26] – [Protocole - Pour commencer] foisysfr:impilopedia:genex:rnaseq:airway_project:fetching_raw_data [2026/06/15 09:41] (Version actuelle) – [Protocole - Téléchargement simple] foisys
Ligne 34: Ligne 34:
  
   * Après les opérations de téléchargement des fichiers, on reviendra retoucher les permissions. En principe, on veut pouvoir voir le contenu des répertoires et lire leur contenu ainsi que lire les fichiers qui s'y trouvent. Comme l'usager est le propriétaire des fichiers, il peut se retirer des permissions d'écriture des répertoires et fichiers pour éviter d'en écraser le contenu et d'y mettre des fichiers pas rapport. Évidemment, il faut voir comment les usagers du groupe d'usagers auquel appartient l'usager créateur et le reste des usagers du système peuvent accéder aux données.   * Après les opérations de téléchargement des fichiers, on reviendra retoucher les permissions. En principe, on veut pouvoir voir le contenu des répertoires et lire leur contenu ainsi que lire les fichiers qui s'y trouvent. Comme l'usager est le propriétaire des fichiers, il peut se retirer des permissions d'écriture des répertoires et fichiers pour éviter d'en écraser le contenu et d'y mettre des fichiers pas rapport. Évidemment, il faut voir comment les usagers du groupe d'usagers auquel appartient l'usager créateur et le reste des usagers du système peuvent accéder aux données.
-      * On y reviendra lors du processus de téléchargement via le scrip de démonstration. 
  
   * Dans le cas de l'analyse, le simple fait que chacun peut la faire selon ses propres hypothèses, on va plutôt mettre le tout dans notre répertoire ''$HOME'':   * Dans le cas de l'analyse, le simple fait que chacun peut la faire selon ses propres hypothèses, on va plutôt mettre le tout dans notre répertoire ''$HOME'':
Ligne 72: Ligne 71:
 # Inclure les libraries qui seront nécessaires... # Inclure les libraries qui seront nécessaires...
 import csv import csv
-import gzip 
-import os 
-import shutil 
 import subprocess import subprocess
 import time import time
Ligne 128: Ligne 124:
        # Téléchargement        # Téléchargement
        #*********************        #*********************
-       # Ça ne fonctionnera que si l'application est sur $PATH+       # Ça ne fonctionnera que si les applications est sur $PATH
        # L'utilisation de la méthode run assure que les commandes seront        # L'utilisation de la méthode run assure que les commandes seront
        # effectuée une à la fois.        # effectuée une à la fois.
Ligne 171: Ligne 167:
        # Compressons maintenant les fichiers sur notre stockage        # Compressons maintenant les fichiers sur notre stockage
        # Les outils à venir sont tous capables de lire les fichiers         # Les outils à venir sont tous capables de lire les fichiers 
-       # comprimés+       # comprimés.  
 +       # 
 +       # On utilise le progamme bgzip, installé sur Impilo, pour faire 
 +       # une compression multi-fils et accélérer le processus.
        #        #
        # Comme on fait deux fois la même procédure (sur chaque fichier),         # Comme on fait deux fois la même procédure (sur chaque fichier), 
Ligne 179: Ligne 178:
        for k in range(2):        for k in range(2):
          k = k+1          k = k+1
-         with open(f"{saveF}/{nameF}_{k}.fastq", 'rb') as z_in: 
-           with gzip.open(f"{saveF}/{nameF}_{k}.fastq.gz", 'wb') as z_out: 
-             shutil.copyfileobj(z_in, z_out) 
-           z_out.close() 
-         z_in.close() 
          #          #
-         # Le fichier non compressé n'est plus utile..+         # Pas besoin d'effacer le fichier .fastq; bgzip le fera après la  
-         #  +         # compression 
-         os.remove(f"{saveF}/{nameF}_{k}.fastq")+         
 +         subprocess.run(["bgzip","--threads","4",f"{saveF}/{nameF}_{k}.fastq"])
 </sxh> </sxh>
  
-  * À la fin de l'exécution, vous devriez avoir 32 fichiers dont l'extension se termine par ''_x.fastq.gz'' avec x=1 ou x=2.  Les fichiers devraient se trouver dans le bons répertoire avec un nom sous la forme ''traitement_ligneeCellulaire_SRAuid'', ce qui nous facilitera la vie pour la suite :-)+  * À la fin de l'exécution, vous devriez avoir 32 fichiers dont l'extension se termine par ''_x.fastq.gz'' avec x=1 ou x=2.  Les fichiers devraient se trouver dans le bons répertoire avec un nom sous la forme ''traitement_ligneeCellulaire_SRRxyz'', ce qui nous facilitera la vie pour la suite :-)
  
-  * De plus, vous devriez avoir pour certains échantillons un autre fichier se terminant simplement par ''.fastq''; ce fichier existe car certains échantillons ont généré plusieurs lectures qui n'ont pas d'équivalent entre les deux fichiers pour toute sorte de raison: séquences techniques comme les codes barres ou bien des séquences d'amorces ou autres séquences sans correspondance . On ne veut pas utiliser ces fichiers donc le paramètre ''--split-3'' nous permet de les retirer en amont plutôt que de devoir le faire post-alignement.+  * De plus, vous devriez avoir pour certains échantillons un autre fichier se terminant simplement par ''.fastq'' ou sans extension mais avec le même nom; ce fichier existe car certains échantillons ont généré plusieurs lectures qui n'ont pas d'équivalent entre les deux fichiers pour toute sorte de raison: séquences techniques comme les codes barres ou bien des séquences d'amorces ou autres séquences sans correspondance . On ne veut pas utiliser ces fichiers donc le paramètre ''--split-3'' nous permet de les retirer en amont plutôt que de devoir le faire post-alignement.
  
 ===== Protocole - Téléchargement sur serveur et traitement sur grappe de calcul ===== ===== Protocole - Téléchargement sur serveur et traitement sur grappe de calcul =====