Dans le prolongement des fonctions Python apprises par chimioinfomatique, nous expliquerons les «classes» avec le thème de la lipidomique (analyse complète des lipides). 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é les classes en Python
Une classe est une image comme un objet qui contient des variables et des fonctions ensemble.
Il peut être créé en écrivant class class name:
.
De plus, il existe une «méthode d'initialisation» pour décrire les paramètres initiaux communs à toutes les instances générées à partir de la classe, et elle est décrite en utilisant «init».
class FattyAcid:
def __init__(self, c, u):
self.Cn = c
self.Un = u
self.abbreviation = str(c) + ':' + str(u)
self.exact_mass = 12 * c + 1.00783 * (2 * c - 2 * u) + 15.99491 * 2
def describe(self):
return f'The exact mass value of {self.abbreviation} is {self.exact_mass}.'
palmitic_acid = FattyAcid(16, 0) #Générer une instance "d'acide palmitique"
linoleic_acid = FattyAcid(18, 2) #Créer une instance "d'acide linoléique"
print(palmitic_acid.Cn) # 16
print(palmitic_acid.Un) # 0
print(palmitic_acid.abbreviation) # 16:0
print(palmitic_acid.exact_mass) # 256.24238
print(palmitic_acid.describe()) # The exact mass value of 16:0 is 256.24238.
print(linoleic_acid.Cn) # 18
print(linoleic_acid.Un) # 2
print(linoleic_acid.abbreviation) # 18:2
print(linoleic_acid.exact_mass) # 280.24238
print(linoleic_acid.describe()) # The exact mass value of 18:2 is 280.24238.
Dans l'exemple ci-dessus, nous définissons une "classe" appelée "FattyAcid" (acide gras) et générons des "instances" appelées "palmitic_acid" (acide palmitique) et "linoleic_acid" (acide linoléique). C'est une bonne idée d'avoir l'image qu'une «classe» est comme un modèle et qu'une «instance» est comme un exemple concret. Dans la méthode d'initialisation, le nombre d'atomes de carbone, le nombre de doubles liaisons, la masse précise, etc. sont définis, et ils sont automatiquement calculés lorsqu'une instance est créée.
Les classes ont le concept d '"héritage" et les classes existantes peuvent être utilisées comme "classes parentes" pour créer des "classes enfants" qui donnent à la classe parente des fonctionnalités supplémentaires.
class FattyAcid:
def __init__(self, c, u):
self.Cn = c
self.Un = u
self.abbreviation = str(c) + ':' + str(u)
self.exact_mass = 12 * c + 1.00783 * (2 * c - 2 * u) + 15.99491 * 2
def describe(self):
return f'The exact mass value of {self.abbreviation} is {self.exact_mass}.'
class SaturatedFattyAcid(FattyAcid):
def oxidize(self):
return f'{self.abbreviation} cannot be oxidized. '
class UnsaturatedFattyAcid(FattyAcid):
def oxidize(self):
return f'{self.Un} double bond(s) can be oxidized. '
palmitic_acid = SaturatedFattyAcid(16, 0)
linoleic_acid = UnsaturatedFattyAcid(18, 2)
print(palmitic_acid.abbreviation)
print(palmitic_acid.describe())
print(palmitic_acid.oxidize())
print(linoleic_acid.abbreviation)
print(linoleic_acid.describe())
print(linoleic_acid.oxidize())
Dans l'exemple ci-dessus, la classe parente "FattyAcid" (acide gras) produit les classes enfants "SaturatedFattyAcid" (acide gras saturé) et "Non saturéFattyAcid" (acide gras insaturé). Les acides gras saturés ne sont pas oxydés au niveau de la partie à double liaison, mais les acides gras insaturés sont oxydés à la partie à double liaison, la différence est donc exprimée par une méthode appelée «oxydation». De plus, indépendamment du fait qu'il s'agisse d'un acide gras saturé ou d'un acide gras insaturé, «exact_mass» etc. peut être calculé, ainsi ceux-ci sont définis par la méthode d'initialisation de la classe parente «FattyAcid».
Ici, nous avons expliqué les classes Python, en nous concentrant sur les connaissances pratiques pouvant être utilisées en chimioinfomatique. Revoyons à nouveau les principaux points.
Ensuite, je vais expliquer NumPy en Python dans l'article suivant.
NumPy appris avec Chemo Informatics
Recommended Posts