South Green Logo

South Green Trainings pages

Description Hands On Lab Exercises for Python
Related-course materials Python introduction
Creation Date 2019
Last Modified Date 11/06/2022

Summary


Connexion Cluster

Dans mobaXterm: 1.onglet session, puis SSH.

srun -p normal --pty bash -i
module load system/python/3.7.2
cd /scratch/ &&  mkdir formationXX_python && cd formationXX_python

Pratique 1: Premier script

Mode interactif

En mode interactif, demander à l’interpréteur de calculer

5*6
10/3
10.0/3.0
print("Hello world !")

Rappel mode interactif

Mode script

Créer un programme python qui affiche “Hello world”

 print("Hello world")

dans le fichier

python3 hello.py

OU

print("Hello world")

dans le fichier

./hello2.py

Pratique 2: Les tests:

Créer un programme python exo2.py qui affiche la moyenne de 3 notes données par l’utilisateur. Voici le code python3 pour demander 3 valeurs à l’utilisateur qui seront stockées dans les variables note1, note2, note3:

note1 = input("Donner une note : ")
note2 = input("Donner une note : ")
note3 = input("Donner une note : ")

!! Attention les variables note1, note2, note3 sont de type chaîne de caractère !!

Modifier votre programme précédent afin qu’il affiche

dans le script exo3.py
#!/usr/bin/env python3

note1 = input("Donner une note : ")
note2 = input("Donner une note : ")
note3 = input("Donner une note : ")

moyenne = (int(note1)+int(note3)+int(note2))/3

print(f"La moyenne est {moyenne}")

if moyenne < 10 :
	print("ajournée")
elif moyenne < 12 :
	print("passable")
elif moyenne < 14 :
	print("AB")
elif moyenne < 16 :
	print("B")
else :
	print("TB")


if moyenne < 10 :
	print("ajournée")
elif moyenne >= 10 and moyenne < 12 :
	print("passable")
elif moyenne >= 12 and moyenne < 14:
	print("AB")
elif moyenne >=14 and moyenne < 16:
	print("B")
else :
	print("TB")

if moyenne < 10 :
	print("ajournée")
elif 10 <= moyenne < 12 :
	print("passable")
elif 12 <= moyenne < 14:
	print("AB")
elif 14 <= moyenne < 16:
	print("B")
else :
	print("TB")

Pratique 3: Les listes et les boucles :

Soit la liste suivante:

liste_animaux = ['vache','souris','levure','bacterie']

Soit la liste de nombres suivante

impairs = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21]

Pratique 4: Les listes et les boucles suite :

seq1= "ATGCGTAGTCGT"
seq2= "AGGTTCGTATG"
mes_seq = [seq1,seq2]

Pratique 5: Le passage de paramètre :


Pratique 6: Les fichiers :

>gi|374429558|ref|NR_046237.1| Rattus norvegicus 18S ribosomal RNA (Rn18s), ribosomal RNA
TACCTGGTTGATCCTGCCAGTAGCATATGCTTGTCTCAAAGATTAAGCCATGCATGTCTAAGTACGCACG
GCCGGTACAGTGAAACTGCGAATGGCTCATTAAATCAGTTATGGTTCCTTTGGTCGCTCGCTCCTCTCCT
tacctggttgatcctgccagtagcatatgcttgtctcaaagattaagccatgcatgtctaagtacgcacg
gccggtacagtgaaactgcgaatggctcattaaatcagttatggttcctttggtcgctcgctcctctcct
acttggataactgtggtaattctagagctaatacatgccgacgggcgctgaccccccttcccgtgggggg
aacgcgtgcatttatcagatcaaaaccaacccggtcagccccctcccggctccggccgggggtcgggcgc
cggcggctttggtgactctagataacctcgggccgatcgcacgtccccgtggcggcgacgacccattcga
>gi|374429558|ref|NR_046237.1| Rattus norvegicus 18S ribosomal RNA (Rn18s), ribosomal RNA
GCCGGTACAGTGAAACTGCGAATGGCTCATTAAATCAGTTATGGTTCCTTTGGTCGCTCGCTCCTCTCCT
AACGCGTGCATTTATCAGATCAAAACCAACCCGGTCAGCCCCCTCCCGGCTCCGGCCGGGGGTCGGGCGC

Details de l’en-tête d’une séquence au format fasta (/path/to/sequence/sequence2.fasta)

>gi|374429558|ref|NR_046237.1| Rattus norvegicus 18S ribosomal RNA (Rn18s), ribosomal RNA

Exemple de fichier résultat :

>gi|374429558|ref|NR_046237.1| Rattus norvegicus 18S ribosomal RNA (Rn18s), ribosomal RNA
>gi|374429558|ref|NR_046237.1| Rattus norvegicus 18S ribosomal RNA (Rn18s), ribosomal RNA
>gi|374429558|ref|NR_046237.1| Rattus norvegicus 18S ribosomal RNA (Rn18s), ribosomal RNA
>gi|374429558|ref|NR_046237.1| Rattus norvegicus 18S ribosomal RNA (Rn18s), ribosomal RNA

Exemple de fichier résultat :

seq 1 => num gi : 374429558, num accession : NR_046237.1
seq 2 => num gi : 374429558, num accession : NR_046237.1
seq 3 => num gi : 374429558, num accession : NR_046237.1

Exemple de fichier résultat :

Valeur 1	Valeur 2	Somme
5	10	15
3	22	25

Pratique 7: Les dictionnaires :

# help:
{'G': 'purinique', 'A': 'pyrimidinique', 'C': 'purinique', 'T': 'pyrimidinique'}
# Votre programme doit afficher :
{'P': 2, 'I': 2, 'W': 3, 'G': 6, 'L': 3, 'A': 7, 'M': 1, 'S': 3}
dico_espece = {'Escherichia coli':3.6,'Homo sapiens':3200,'Saccharomyces cerevisae':12,'Arabidopsis thaliana':125}
MK032998.1	Homo sapiens
MH180353.1	Homo sapiens
NM_001129758.2	Homo sapiens
SUMJ01000221.1	Escherichia coli
BH404634.1	Anopheles gambiae
MK032999.1	Homo sapiens

Créez un script exo18.py lit ce fichier et, à l’aide d’un dictionnaire, écrit un fichier de sortie qui contient le nom d’une espèce précédé d’un dièze sur une ligne puis tous les identifiants de séquence associés à cette espèce sur les lignes suivantes. Exemple de fichier de sortie :

# Homo sapiens
MK032998.1
MH180353.1
NM_001129758.2
...
# Escherichia coli
SUMJ01000221.1
....

N’oubliez pas qu’un dictionnaire peut contenir n’importe quelle type de variable ou objet comme valeur.


Pratique 8: bioPython Seq, SeqRecord et SeqIO:



License

The resource material is licensed under the Creative Commons Attribution 4.0 International License (here).