TP 5
TP 5 - Programmation pour les Sciences (Python)
Quelques modules d’intérêt en Sciences
Exercice 1
Fichiers et Graphes
Soit g définie sur [0 ;5] par 𝑔(𝑥) = sin(4𝑥) exp(−𝑥 2 + 3𝑥)
Partie 1 :
1. Ecrire une fonction python qui définit la fonction g.
2. Construire la liste listesX des abscisses x variant de 0 à 5 avec un pas de 0.01 puis la liste
listesY des ordonnées correspondantes y = g(x).
3. Tracer la courbe représentative de la fonction g.
4. Ecrire dans un fichier "data.txt" les coordonnées x et y des deux listes précédentes. Chaque
ligne du fichier contiendra deux nombres x et y séparés par une tabulation ("\t").
5. Vérifier le contenu du fichier "data.txt".
Partie 2
On souhaite constituer un échantillon des données du fichier "data.txt".
1. Ouvrir le fichier "data.txt" en lecture et construire la liste listesX des abscisses et la liste
listesY des ordonnées en prenant une ligne sur dix du fichier (les lignes 0, 10, 20, . . .).
2. Afficher sur deux colonnes "abscisses" et "ordonnées" le contenu des deux listes. Les
nombres seront arrondis à 10−4 près.
3. Sur une même figure, tracer à l’aide des listes listesX et listesY la courbe représentative de
la fonction g, et placer les points dont les abscisses et ordonnées sont contenues
respectivement dans les listes listesX et listesY.
Exercice 2
Courbes paramétriques
Ecrire un programme python pour tracer les courbes suivantes :
sin 𝑡
𝑥(𝑡) = 1+𝑐𝑜𝑠2 𝑡
-La Lemniscate de Bernoulli { sin 𝑡 cos 𝑡
sur [0, 2𝜋]
𝑦(𝑡) = 1+𝑐𝑜𝑠2 𝑡
𝑥(𝑡) = 𝑡cos(𝑡)
-La spirale d’Archimède { sur[0, 10𝜋]
𝑦(𝑡) = 𝑡sin(𝑡)
𝑥(𝑡) = 16𝑠𝑖𝑛3 𝑡
-La courbe du cœur { 𝑠𝑢𝑟[0,2𝜋]
13 cos 𝑡 − 5 cos(2𝑡) − 2 cos(3𝑡) − cos(4𝑡)
1/4
𝑝
𝑥(𝑡) = (1 + cos (𝑞 𝑡)) cos(𝑡)
-Les cyclo-harmoniques { 𝑝
𝑝𝑜𝑢𝑟𝑝𝑒𝑡𝑞𝑒𝑛𝑡𝑖𝑒𝑟𝑠𝑠𝑢𝑟[0,2𝑞𝜋]
𝑦(𝑡) = (1 + cos (𝑞 𝑡)) sin(𝑡)
Affichez les quatre tracés dans la même figure. Pour le faire, il suffit d’utiliser la fonction subplot()
qui permet d’organiser différents tracés à l’intérieur d’une grille d’affichage. Il faut spécifier le
nombre de lignes, le nombre de colonnes ainsi que le numéro du tracé. Le résultat final devra
ressembler à la figure suivante.
Exercice 3
Concentration d’un produit
Dans cet exercice, nous considérons l'évolution de la concentration d'un produit dans le sang
(exprimé en mg/L) en fonction du temps (exprimé en heure).
Nous avons les résultats suivants :
1. Représentez à l’aide d’un graphe l'évolution de la concentration en fonction du temps
2. On sait par ailleurs que l’évolution de la concentration du produit en fonction du temps
peut-être modélisée par la fonction𝑓(𝑥) = 2 + 3𝑥. Représentez ce modèle avec les points
expérimentaux et sauvegardez le graphique obtenu sous forme d’une image.
2/4
Exercice 4
Séquence ADN et diagrammes en bâtons
On considère une séquence d’ADN sequence = "ACGATCATAGCGAGCTACGTAGAA".
Représentez graphiquement sous forme de diagrammes en bâtons la distribution des différentes
bases ["A", "C", "G", "T"] dans une séquence d'ADN.
Exercice 5
Pandas et un Tableur
Le fichier transferrin_report.csv que vous pouvez télécharger contient une liste de structures de la
transferrine. Cette protéine est responsable du transport du fer dans l'organisme.
Le format CSV : l'acronyme CSV signifie « Comma-Separated values » qu'on peut traduire
littéralement par « valeurs séparées par des virgules ». De façon similaire, TSV signifie «
Tabulation-Separated Values», soit des « valeurs séparées par des tabulations ». Ce format est utile
pour stocker des données structurées sous forme de tableau, comme vous pourriez l'avoir dans un
tableur.
Le tableau ci-dessous liste (une partie du fichier transferrin_report.csv) les structures associées à la
transferrine, protéine présente dans le plasma sanguin et impliquée dans la régulation du fer. Ces
données proviennent de la Protein Data Bank (PDB). Pour chaque protéine (PDB ID), est indiqué le
nom de l'organisme associé (Source), la date à laquelle cette structure a été déposée dans la PDB
(Deposit Date), le nombre d'acides aminés de la protéine (Length) et sa masse moléculaire (MW).
1. Chargez le fichier sous la forme d'un dataframe
2. Avant d'analyser un jeu de données, il est intéressant de l'explorer un peu. Pour le faire :
a. Afficher les dimensions
b. Afficher le type de données est constituée chaque colonne
c. Utilisez la méthode .info() qui permet d'aller un peu plus loin dans l'exploration du
jeu de données. Qu’est-ce que ça vous affiche ?
d. Affichez les premières lignes du jeu de données
3/4
e. Enumérez les colonnes
f. Affichez le type de chaque colonne
g. Accédez à la quatrième colonne
h. Affichez les statistiques descriptives de la quatrième colonne
i. Calculez explicitement la moyenne de cette colonne
j. Comptez le nombre des valeurs des organismes d’où vient cette protéine
k. On souhaite vérifier l’hypothèse que plus il y a d'acides aminés dans la protéine, plus
sa masse moléculaire va être élevée. Vérifiez-le graphiquement en représentant la
masse moléculaire de la protéine en fonction de sa taille (c'est-à-dire du nombre
d'acides aminés).
l. zoomer sur le groupe de points le plus à gauche en ne sélectionnant que les protéines
constituées de moins de 400 résidus.
4/4