[PYTHON] Apprenez avec Chemo Informatics Matplotlib

introduction

Poursuivant l'apprentissage des pandas avec la chimioinfomatique, "Matplotlib" est l'une des bibliothèques représentatives de Python avec le thème de la lipidomique (analyse complète des lipides). Je vais vous expliquer. Nous expliquerons principalement des exemples pratiques de chimioinfomatique, donc si vous souhaitez vérifier les bases, veuillez lire l'article suivant avant de lire cet article.

Les chercheurs des sociétés pharmaceutiques ont résumé Matplotlib

Nuage de points

Matplotlib est une bibliothèque pour dessiner des graphiques. Il peut être utilisé pour visualiser les tendances des données.

Tout d'abord, chargez la bibliothèque avec ʻimport. Si vous utilisez un bloc-notes Jupyter, vous pouvez dessiner un graphique sur votre bloc-notes en écrivant % matplotlib inline`.

Considérons maintenant l'analyse de la relation entre le nombre d'atomes de carbone et les doubles liaisons des acides gras et leurs propriétés physiques.

%matplotlib inline
import matplotlib.pyplot as plt


abbreviations = ['FA 12:0', 'FA 14:0', 'FA 16:0', 'FA 18:0', 'FA 20:0', 'FA 22:0'] #Abréviation des espèces moléculaires d'acides gras
Cns = [12, 14, 16, 18, 20, 22] #Nombre d'atomes de carbone (longueur de chaîne) d'acide gras
logPs = [3.99, 4.77, 5.55, 6.33, 7.11, 7.89] #Valeur LogPow des espèces moléculaires d'acides gras

plt.scatter(Cns, logPs) #Créer un diagramme de dispersion
plt.xlabel('Cn') #étiquette de l'axe des x
plt.ylabel('logPow') #étiquette de l'axe y

plt.savefig('logP_saturated-fatty-acids.png') #Enregistrez le diagramme de dispersion en tant que fichier image (fichier PNG)
plt.show() #Afficher le diagramme de dispersion terminé

logP_saturated-fatty-acids.png

Dans l'exemple ci-dessus, la relation entre le nombre d'atomes de carbone "Cns" et logPow "logPs" est illustrée pour les acides gras saturés (espèces moléculaires d'acides gras sans doubles liaisons dans la chaîne carbonée). logPow est le «coefficient de partage d'octanol de l'eau» et indique l'ampleur de l'hydrophobicité du composé. Cette fois, la valeur de logPow faisait référence à LIPID MAPS. Comme vous pouvez le voir, à mesure que le nombre d'atomes de carbone augmente, la valeur de logPow augmente également. Cela indique que lorsque le nombre d'atomes de carbone augmente, l'hydrophobicité de la molécule augmente.

Considérons la même chose pour les acides gras insaturés (espèces grasses avec des doubles liaisons dans la chaîne carbonée).

%matplotlib inline
import matplotlib.pyplot as plt


abbreviations = ['FA 18:1', 'FA 18:2', 'FA 18:3', 'FA 18:4']
Uns = [1, 2, 3, 4] #Nombre de doubles liaisons de la chaîne carbonée de l'acide gras (degré d'insaturation)
logPs = [6.11, 5.88, 5.66, 5.44]

plt.scatter(Uns, logPs)
plt.xlabel('Un')
plt.ylabel('logPow')

plt.savefig('logP_C18-fatty-acids.png')
plt.show()

logP_C18-fatty-acids.png

Cette fois, le nombre d'atomes de carbone est le même et montre comment logPow change lorsque le nombre de doubles liaisons (degré d'insaturation) est modifié. On peut voir que lorsque le nombre de doubles liaisons augmente, l'hydrophobicité de la molécule diminue.

graphique à barres

Ensuite, pensez à illustrer la concentration intracellulaire en acides gras dans une expérience * in vitro *.

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np


concs_ctrl = [0.1, 0.05] #Concentrations d'acide arachidonique et d'acide docosahexaénoïque dans les expériences de contrôle
concs_cmpd_low = [0.05, 0.07] #Concentrations d'acide arachidonique et d'acide docosahexaénoïque dans les expériences d'addition de composés (faible dose)
concs_cmpd_high = [0.01, 0.08] #Concentrations d'acide arachidonique et d'acide docosahexaénoïque dans les expériences d'addition de composés (dose élevée)
x = np.arange(len(concs_ctrl)) #Nombre d'acides gras à afficher

bar_width = 0.3 #Largeur du graphique à barres

plt.bar(x, concs_ctrl, width=bar_width, align='center') #Graphique à barres des conditions de contrôle
plt.bar(x+bar_width, concs_cmpd_low, width=bar_width, align='center') #Graphique à barres des conditions lors de l'ajout du composé (faible dose)
plt.bar(x+bar_width*2, concs_cmpd_high, width=bar_width, align='center') #Graphique à barres des conditions lors de l'ajout du composé (dose élevée)
plt.xticks(x+bar_width, ['AA', 'DHA']) #nom des données de l'axe des x
plt.ylabel('Concentration (uM)')
plt.legend(('Control', 'Compound X 0.1uM', 'Compound X 1 uM')) #Guide d'utilisation

plt.savefig('fatty acid concs.png')
plt.show()

fatty acid concs.png

Ici, nous montrons comment les concentrations intracellulaires d'acide arachidonique (AA) et d'acide docosahexaénoïque (DHA) changent dans trois types de conditions expérimentales. Par ailleurs, en termes de nombre d'atomes de carbone et de nombre de doubles liaisons, AA est «FA 20: 4» et DHA est «FA 22: 6». Vous pouvez voir que lorsque le composé X est ajouté aux cellules, la production d'AA est supprimée et la production de DHA est progressivement augmentée de manière dose-dépendante. Dans cet exemple, le graphique est créé en tant que données expérimentales avec n = 1 et aucune barre d'erreur n'est jointe.

Résumé

Ici, j'ai expliqué Matplotlib, en me concentrant sur les connaissances pratiques qui peuvent être utilisées en chimioinfomatique. Revoyons à nouveau les principaux points.

Ensuite, l'article suivant explique scikit-learn.

Apprentissage Scikit-learn avec chimio-automatique

Documents de référence / liens

Quel est le langage de programmation Python? Peut-il être utilisé pour l'IA et l'apprentissage automatique?

Recommended Posts

Apprenez avec Chemo Informatics Matplotlib
Pandas apprenant avec la chimioinfomatique
Apprenez avec Chemo Informatics NumPy
Animation avec matplotlib
Japonais avec matplotlib
Animation avec matplotlib
histogramme avec matplotlib
Faire une animation avec matplotlib
Graphique 2 axes avec Matplotlib
Apprenez Python avec ChemTHEATER
Apprenez Zundokokiyoshi en utilisant LSTM
Apprentissage Scikit-Learn avec la chimioinfomatique
Carte thermique par Python + matplotlib
Graphique de bande avec matplotlib
Dessin en temps réel avec matplotlib
Différentes barres de couleurs avec Matplotlib
Graphique 3D avec matplotlib
DCGAN avec TF Learn
Ajustez les axes avec matplotlib
Apprenez Pendulum-v0 avec DDPG
Apprenez librosa avec un tutoriel 1
Apprenez les orbites elliptiques avec Chainer
Méthode de dessin graphique avec matplotlib
Apprenez de nouvelles données avec PaintsChainer
Graphique des données Excel avec matplotlib (2)
Bar plot empilable avec matplotlib
Traitement itératif Python appris avec ChemoInfomatics
Sélectionnez les couleurs en dégradé avec matplotlib
Animer plusieurs graphiques avec matplotlib
Créer une animation de tracé avec Python + Matplotlib
Manuel de graphisme Python avec Matplotlib.
Affichage des inférences et des résultats avec Tensorflow + matplotlib
Japaneseize Matplotlib avec Alpine en utilisant Docker
Apprendre avec Causal ML Package Meta-Learner
Apprenez avec FizzBuzz Iterator, Generator, Decorator
Apprenez avec les réseaux convolutifs PyTorch Graph
[TensorFlow 2] Apprendre RNN avec perte CTC
Dessinez le japonais avec matplotlib sur Ubuntu
Apprenons Deep SEA avec Selene
Dessinez un graphique lâche avec matplotlib
Traçage de données polyvalent avec pandas + matplotlib
Apprendre la catégorisation de documents avec la CLI spaCy
Heatmap avec dendrogramme en Python + matplotlib
Réglage facile de la police japonaise avec matplotlib
Dessinez facilement des graphiques avec matplotlib
Couleur en continu avec le diagramme de dispersion matplotlib
Dessinez Riapnov Fractal avec Python, matplotlib
Quand matplotlib ne fonctionne pas avec python2.7
Effectuer un tracé de probabilité normale logarithmique avec Python, matplotlib
Animation facile avec matplotlib (mp4, gif)
Écrire un histogramme empilé avec matplotlib
Implémentez "Data Visualization Design # 2" avec matplotlib
Comment titrer plusieurs figures avec matplotlib
[Python] Définissez la plage du graphique avec matplotlib
Ajustez l'espacement entre les chiffres avec Matplotlib
Apprenez à coloriser les images monochromes avec Chainer
Alignez la taille de la barre de couleurs avec matplotlib
Apprenez les données distribuées avec TensorFlow Y = 2X