Objectif

On se propose de re-implémenter la commande cut (que nous avons précédemment lors des cours sur le language BASH). L’objectif est de créer un programme (sous sa forme la plus simple), capable de:

  • Ouvrir un fichier tabulé.
  • Parcourir le fichier ligne à ligne
  • Couper (en anglais, split) chacune des lignes en fonction du séparateur (ici une tabulation, ").
  • Récuperer la colonne d’intérêt en indexant la liste.
  • Imprimer la colonne recherchée.

Données

Téléchargement

A l’aide du terminal créez un dossier dossier TD_python. Placez vous dans ce dossier et téléchargez le fichier hg38_5k.gtf.

Le Format GTF

Le format GTF est un fichier tabulé (i.e. dont les colonnes sont séparées par des tabulations) qui contient des informations concernant des éléments génomiques (souvent des transcripts et leurs exons). Les informations portées par les colonnes sont les suivantes:

  • Colonne 1 - Nom du chromosome.
  • Colonne 2 - Source de l’annotation.
  • Colonne 3 - Type d’élément (exon, CDS, 5’UTR, 3’UTR,…).
  • Colonne 4 - Position de départ (Start).
  • Colonne 5 - Position de fin (End).
  • Colonne 6 - Score.
  • Colonne 7 - Le brin (+ ou -).
  • Colonne 8 - Frame (0,1,2). ‘0’ indique que la première base de l’élément est la première base d’un codon, ‘1’ que la deuxième base est la première base d’un codon, etc…
  • Colonne 9 - Attribute. Une liste de couples clefs/valeurs séparées par un point virgule.

Visualisez les cinq premières et dernières lignes du fichier avec head et tail

Préparation du notebook

On utilisera ici le notebook jupyter comme éditeur de code. Vous devriez pouvoir lancer le jupyter en utilisant le menu principal du système. Sinon, vous pouvez le lancer en ligne de commande.

Une fois le notebook lancé, dans le menu de gauche, choisissez “new > Python 3”. Une nouvelle fenêtre apparait. Double cliquez sur “Untitled” pour renommer le notebook en “cut”.