Python-Kurs zum Lernen mit Chemoinfomatik

Einführung

In Anlehnung an Python-Funktionen, die von Chemoinfomatics gelernt wurden werden wir "Klassen" mit dem Thema Lipidomics (umfassende Analyse von Lipiden) erklären. Wir werden hauptsächlich praktische Beispiele für Chemoinfomatik erläutern. Wenn Sie also die Grundlagen überprüfen möchten, lesen Sie bitte den folgenden Artikel, bevor Sie diesen Artikel lesen.

Forscher von Pharmaunternehmen haben die Klassen in Python zusammengefasst

Klassen erstellen und verwenden

Eine Klasse ist ein Bild wie ein Objekt, das Variablen und Funktionen zusammenhält. Es kann durch Schreiben von class class name: erstellt werden. Darüber hinaus gibt es eine "Initialisierungsmethode" zur Beschreibung der Anfangseinstellungen, die allen aus der Klasse generierten Instanzen gemeinsam sind, und die mit "init" beschrieben wird.

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) #Generieren Sie eine Instanz von "Palmitinsäure"
linoleic_acid = FattyAcid(18, 2) #Erstellen Sie eine Instanz von "Linolsäure"
 
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.

Im obigen Beispiel definieren wir eine "Klasse" namens "FattyAcid" (Fettsäure) und generieren daraus "Instanzen" namens "Palmitinsäure" (Palmitinsäure) und "Linolsäure" (Linolsäure). Es ist eine gute Idee, das Bild zu haben, dass eine "Klasse" wie eine Vorlage und eine "Instanz" wie ein konkretes Beispiel ist. Bei der Initialisierungsmethode werden die Anzahl der Kohlenstoffatome, die Anzahl der Doppelbindungen, die genaue Masse usw. festgelegt und beim Erstellen der Instanz automatisch berechnet.

Klassenvererbung

Klassen haben das Konzept der "Vererbung", und vorhandene Klassen können als "übergeordnete Klassen" verwendet werden, um "untergeordnete Klassen" zu erstellen, die der übergeordneten Klasse zusätzliche Funktionen verleihen.

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())

Im obigen Beispiel erzeugt die Elternklasse "FattyAcid" (Fettsäure) die untergeordneten Klassen "SaturatedFattyAcid" (gesättigte Fettsäure) und "UnsaturatedFattyAcid" (ungesättigte Fettsäure). Gesättigte Fettsäuren werden im doppelt gebundenen Teil nicht oxidiert, aber ungesättigte Fettsäuren werden im doppelt gebundenen Teil oxidiert, so dass der Unterschied durch ein Verfahren ausgedrückt wird, das als "oxidieren" bezeichnet wird. Unabhängig davon, ob es sich um gesättigte oder ungesättigte Fettsäuren handelt, kann auch "genaue Masse" usw. berechnet werden, sodass diese durch die Initialisierungsmethode der übergeordneten Klasse "FattyAcid" festgelegt werden.

Zusammenfassung

Hier haben wir Python-Klassen erklärt, wobei wir uns auf praktisches Wissen konzentrieren, das in der Chemoinfomatik verwendet werden kann. Lassen Sie uns die wichtigsten Punkte noch einmal überprüfen.

Als nächstes werde ich im folgenden Artikel NumPy in Python erläutern.

NumPy Learned with Chemo Informatics

Referenzmaterialien / Links

Was ist die Programmiersprache Python? Kann es für KI und maschinelles Lernen verwendet werden?

Recommended Posts

Python-Kurs zum Lernen mit Chemoinfomatik
Python-Funktionen mit Chemoinfomatik gelernt
Mit Python erlerntes Refactoring (Basic)
Was ich in Python gelernt habe
In Python gelernter Zeichencode
Python-Datenstruktur mit Chemoinfomatik gelernt
Ich habe versucht, den Prozess mit Python zu studieren
Grundlegende ITK-Verwendung mit Python gelernt
Quadtree in Python --2
Python in der Optimierung
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Ein Forscher eines Pharmaunternehmens fasste die Klassen in Python zusammen
Bedingte Verzweigung von Python mit Chemoinfomatik gelernt
Epoche in Python
Zwietracht in Python
Deutsch in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
In Python ② erlernte statistische Wahrscheinlichkeitsverteilung für Testgrad 2
Überlebensanalyse mit Python 2-Kaplan-Meier-Schätzung
In Python ① erlernte statistische Wahrscheinlichkeitsverteilung für Testgrad 2
TensorFlow: Führen Sie in Python gelernte Daten unter Android aus
Sortierte Liste in Python
Täglicher AtCoder # 36 mit Python
AtCoder # 2 jeden Tag mit Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 18 in Python