Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| teaching:progappchim:bioinformatic [2016/03/15 11:54] – créée villersd | teaching:progappchim:bioinformatic [2022/09/22 16:59] (Version actuelle) – [Références] villersd | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Bioinformatique ====== | ====== Bioinformatique ====== | ||
| - | Manipulations | + | Un des objectifs majeurs de la [[wp> |
| + | |||
| + | Ces séquences sont accessibles librement et publiquement, | ||
| + | |||
| + | {{wp> | ||
| + | |||
| + | Voir aussi le site [[https:// | ||
| + | |||
| + | {{wp> | ||
| + | |||
| + | Voir aussi le site [[https:// | ||
| + | |||
| + | ===== Installer Biopython ===== | ||
| + | |||
| + | [[https:// | ||
| + | * Avec la distribution Anaconda, via l' | ||
| + | * via le site Pypi (pypi.org) et la commande suivante : pip install biopython | ||
| + | |||
| ===== Compter les nucléotides d'une séquence ADN ===== | ===== Compter les nucléotides d'une séquence ADN ===== | ||
| - | <sxh python; title : Counting_DNA_Nucleotides-01.py> | + | <code python Counting_DNA_Nucleotides-01.py> |
| # | # | ||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||
| Ligne 14: | Ligne 32: | ||
| # utilisation d'une liste et de la méthode .count() | # utilisation d'une liste et de la méthode .count() | ||
| - | bases=[" | + | bases = [" |
| for base in bases: | for base in bases: | ||
| - | print adn.count(base), | + | print(adn.count(base), |
| - | + | print() | |
| # Variante : | # Variante : | ||
| for c in ' | for c in ' | ||
| - | print adn.count(c), | + | print(adn.count(c), |
| - | + | print() | |
| # variante un peu moins lisible | # variante un peu moins lisible | ||
| Ligne 31: | Ligne 49: | ||
| # utilisation de la technique "list comprehension" | # utilisation de la technique "list comprehension" | ||
| - | count=[adn.count(c) for c in ' | + | count = [adn.count(c) for c in ' |
| for val in count: | for val in count: | ||
| - | print val, | + | print(val,) |
| - | + | print() | |
| # autre "list comprehension", | # autre "list comprehension", | ||
| - | print "%d %d %d %d" % tuple([adn.count(X) for X in " | + | print("%d %d %d %d" % tuple([adn.count(X) for X in " |
| # count "à la main", sans utilisation de fonctions/ | # count "à la main", sans utilisation de fonctions/ | ||
| Ligne 47: | Ligne 65: | ||
| count[i] +=1 | count[i] +=1 | ||
| for val in count: | for val in count: | ||
| - | print val, | + | print(val,) |
| - | + | print() | |
| # count "à la main", avec .index() | # count "à la main", avec .index() | ||
| Ligne 56: | Ligne 74: | ||
| count[ACGT.index(c)] += 1 | count[ACGT.index(c)] += 1 | ||
| for val in count: | for val in count: | ||
| - | print val, | + | print(val,) |
| - | + | print() | |
| # utilisation de la librairie collections | # utilisation de la librairie collections | ||
| Ligne 64: | Ligne 82: | ||
| for c in adn: | for c in adn: | ||
| ncount[c] += 1 | ncount[c] += 1 | ||
| - | print ncount[' | + | print(ncount[' |
| # collections.Counter | # collections.Counter | ||
| from collections import Counter | from collections import Counter | ||
| - | for k,v in sorted(Counter(adn).items()): | + | for k,v in sorted(Counter(adn).items()): |
| - | + | | |
| + | print() | ||
| # avec un dictionnaire | # avec un dictionnaire | ||
| Ligne 75: | Ligne 94: | ||
| for c in adn: | for c in adn: | ||
| freq[c] += 1 | freq[c] += 1 | ||
| - | print freq[' | + | print(freq[' |
| # avec un dictionnaire et count(), impression différente | # avec un dictionnaire et count(), impression différente | ||
| dico={} | dico={} | ||
| for base in bases: | for base in bases: | ||
| - | dico[base]=adn.count(base) | + | dico[base] = adn.count(base) |
| for key,val in dico.items(): | for key,val in dico.items(): | ||
| - | print "{} = {}" | + | print("{} = {}" |
| - | </sxh> | + | </ |
| + | |||
| + | |||
| + | ===== Trouver un motif ===== | ||
| + | + lecture de fichier | ||
| + | |||
| + | <code python Finding_a_Protein_Motif-01.py> | ||
| + | # | ||
| + | # -*- coding: utf-8 -*- | ||
| + | """ | ||
| + | La description complète et les caractéristiques d'une protéine particulière peuvent être obtenues via l'ID " | ||
| + | http:// | ||
| + | |||
| + | On peut aussi obtenir la séquence peptidique au format FASTA via le lien : | ||
| + | http:// | ||
| + | """ | ||
| + | |||
| + | from Bio import SeqIO | ||
| + | from Bio import ExPASy | ||
| + | from Bio import SeqIO | ||
| + | |||
| + | dic = {" | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | |||
| + | aminoacids = '' | ||
| + | print(aminoacids) | ||
| + | |||
| + | # UniProt Protein Database access IDs | ||
| + | proteins = [' | ||
| + | |||
| + | handle = ExPASy.get_sprot_raw(proteins[0]) | ||
| + | seq_record = SeqIO.read(handle, | ||
| + | handle.close() | ||
| + | print() | ||
| + | print(seq_record) | ||
| + | |||
| + | </code> | ||
| ===== Références ===== | ===== Références ===== | ||
| - | | + | * [[http:// |
| - | * [[http:// | + | |
| - | * [[http:// | + | |
| - | | + | |
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | * [[http:// | + | |
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * Articles de la revue " | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * documentation sur les arbres phylogénétiques : [[https:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | | ||
| + | * [[https:// | ||
| + | * [[http:// | ||
| + | * références sur la lecture de fichiers : | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * données exemples dans le cadre de la COVID-19 : | ||
| + | * [[https:// | ||
| + | |||