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:
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 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:
Visualisez les cinq premières et dernières lignes du fichier avec head et tail
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”.
# -*- coding: utf-8 -*-
# La ligne précédente permet d'utiliser des caractères accentués
# dans les commentaires
# La colonne qu l'on souhaite imprimer
col_to_print = 4
# On ouvre le fichier
# Adaptez le chemin en fonction de la localisation du
# file_handler est un objet 'file'. C'est un objet capable de lire
# les lignes d'un fichier.
file_handler = open("hg38_5k.gtf", "r")
# Dans la structure for ci-dessous,
# line est une variable renvoyée
# par file_handler. On parcours donc
# le fichier ligne à ligne
for line in file_handler:
# A chaque itération/ligne,
# On découpe la chaîne de caractère
# sur le séparateur tabulation (\t).
column = line.split("\t")
# column[0] si l'on veut la première colonne
print(column[ col_to_print - 1])