Die Arbeit von Pharmaunternehmen befasst sich häufig mit der Struktur von Verbindungen. Fähigkeiten zur Messung der Konzentration und Strukturanalyse von intern synthetisierten neuen Wirkstoffkandidatenverbindungen und ihren Metaboliten sowie endogenen Metaboliten (Aminosäuren, Zucker, Lipide usw.), die natürlicherweise im Körper vorhanden sind, sind wichtig.
Daher werden wir hier die Python-Programmierung mit Lipidomics erklären, einer umfassenden Analyse der im lebenden Körper vorhandenen Lipide. Es gibt molekulare Spezies mit verschiedenen Strukturen im Körper von Lipiden, und es gibt mehr als 1 Million molekulare Spezies, die mit * in silico * Strukturen erzeugen können. Es ist praktisch schwierig, die Struktur jeder dieser Molekülspezies manuell zu beschreiben und physikalische Eigenschaftswerte wie Molekulargewicht und Polarität zu berechnen, und die Programmierung ist wesentlich.
Wenn wir die Struktur und die physikalischen Eigenschaften von Lipiden durch Programmierung handhaben können, wird dies auf die Chemoinfomatik für neue Wirkstoffkandidaten anwendbar sein, also hoffe ich, dass Sie es lernen werden.
Dieses Mal werde ich über "Variablen und Datentypen" 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 eines Pharmaunternehmens haben die grundlegenden Beschreibungsregeln von Python zusammengefasst Forscher von Pharmaunternehmen haben Variablen in Python zusammengefasst Forscher von Pharmaunternehmen haben die in Python verwendeten Operatoren zusammengefasst
Bitte lesen Sie den folgenden Artikel über Umweltbau.
So installieren Sie Anaconda für Forscher von Pharmaunternehmen
Sie können eine neue Variable erstellen, indem Sie "Variable = Wert" setzen.
Sie können auch print ()
verwenden, um die Objekte in Klammern zu drucken (Variablenwerte, Programmausführungsergebnisse usw.).
Zeichenfolgen nach "#" werden als Kommentare erkannt und aus dem Ausführungsbereich des Programms ausgeschlossen.
Es kann verwendet werden, um Notizen in das Skript zu schreiben oder um zu verhindern, dass der Teil, in dem der Fehler auftritt, ausgeführt wird.
lipid_class = 'FA' #String
Cn = 16 #Numerischer Wert
Un = 0 #Numerischer Wert
print(lipid_class) #Variables "Lipid"_Geben Sie den Wert von "class" aus.
print(Cn) #Geben Sie den Wert der Variablen "Cn" aus.
print(Un) #Geben Sie den Wert der Variablen "Un" aus.
Sie können auch mehrere Variablen in einer Zeile erstellen, wie unten gezeigt.
Wenn Sie "print (Objekt 1, Objekt 2)" einstellen, wird es auch als "Objekt 1 (Raum halber Breite) Objekt 2" ausgegeben.
Wenn Sie den Raum mit halber Breite in ein anderes Zeichen oder Symbol ändern möchten, können Sie ihn mit sep =
ändern.
Wenn "sep =" gesetzt ist, werden "Objekt 1" und "Objekt 2" verkettet und ohne Leerzeichen ausgegeben.
Cn, Un = 16, 0 # 「Cn = 16、Un =Bedeutet "0"
print(Cn) #"16" wird ausgegeben
print(Un) #"0" wird ausgegeben
print(Cn, Un) #"160" wird ausgegeben
print(Cn, Un, sep='Wann') # 「16Wann0」Wann出力される
Erstens verwendet der Variablenname grundsätzlich englische Wörter, und es ist nicht möglich, einen Variablennamen anzugeben, der mit einer Zahl beginnt (es ist auch möglich, eine Zahl zu verwenden, wenn es sich um das zweite Zeichen oder später handelt). Es ist gut, einen Variablennamen zu verwenden, mit dem Sie auf einen Blick sehen können, welcher Wert in der Variablen gespeichert ist. Wenn es mehrere Wörter gibt, trennen Sie sie mit "_" (Unterstrich) und schreiben Sie grundsätzlich jedes Wort in allen unteren Buchstaben.
Wenn Sie Variablennamen angeben, müssen Sie darauf achten, keine Schlüsselwörter (reservierte Wörter) zu verwenden, die im Voraus in Python definiert wurden. Sie können die reservierten Wörter mit dem folgenden Skript überprüfen. (Sie müssen die Details wie "Importieren" vorerst nicht kennen. Ich hoffe, Sie können dies überprüfen, indem Sie einfach das folgende Skript als Copy & Pace ausführen.)
import keyword
import pprint
pprint.pprint(keyword.kwlist, compact=True)
Das Ausführungsergebnis ist wie folgt. Verwenden Sie keine Variablennamen für die unten aufgeführten Elemente.
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue',
'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global',
'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',
'return', 'try', 'while', 'with', 'yield']
Die Zeichenfolge muss in '
(Anführungszeichen) eingeschlossen sein.
Umgekehrt werden in Anführungszeichen eingeschlossene Zahlen auch als Zeichenfolgen behandelt.
Cn_int = 16 #"16" als numerischer Wert
print(type(Cn_int)) # <class 'int'>
Cn_str = '16' #"16" als Zeichenkette
print(type(Cn_str)) # <class 'str'>
Sie können den Datentyp des Objekts in Klammern überprüfen, indem Sie "Typ" verwenden.
Eine Sonderzeichenfolge (Escape-Sequenz) wird bereitgestellt, wenn Sie ein Angebot schreiben oder eine neue Zeile im Angebot beginnen möchten. Ein Beispiel ist unten gezeigt.
print('molecular species: FA 16:0')
print('\'molecular species: FA 16:0\'') #Zitate hinzufügen
print('molecular species: \nFA 16:0') #Fügen Sie einen Zeilenumbruch ein
Im obigen Beispiel steht "" für "sich selbst". Daher wird das Zitat getrennt von dem Zitat ausgegeben, das die Zeichenfolge umgibt.
Außerdem zeigt \ n
einen Zeilenumbruch an. Daher wird im Ausgabeergebnis von "Drucken" ein Zeilenumbruch nach "Molekülspezies" eingefügt: ".
Hier ist "FA", das in der Variablen "lipid_class" gespeichert ist, eine Abkürzung für "Fettsäure" oder "Fettsäure".
lipid_class
ist die" Lipidklasse "auf Japanisch und gibt die Kategorie der Lipide an.
"Cn" ist auch die "Anzahl der Kohlenstoffatome", dh die Anzahl der Kohlenstoffatome (Länge der Kohlenstoffkette).
"Un" gibt die "Anzahl (Grad) der Ungesättigtheit" an, dh den Grad der Ungesättigtheit (die Anzahl der Doppelbindungen).
In der Lipidklasse haben Fettsäuren die einfachste Struktur, und wenn Sie "Cn" und "Un" angeben, ist die Struktur fast bestimmt. Viele der anderen Lipidklassen haben eine chemische Struktur, in der Fettsäuren wie Glycerin an das Gerüst gebunden sind, und der Gerüstteil charakterisiert die Lipidklasse. Durch Kombinieren der Lipidklasse, der Anzahl der Kohlenstoffatome und des Sättigungsgrades wird die molekulare Spezies des Lipids nahezu bestimmt. Betrachten Sie also die Kombination von "lipid_class", "Cn" und "Un" als Zeichenfolge.
Die molekulare Spezies der Fettsäuren mit 16 Kohlenstoffatomen und 0 Doppelbindungen ist übrigens Palmitinsäure. Die chemische Struktur von Palmitinsäure ist auf der unten verlinkten Seite angegeben. Bitte beziehen Sie sich darauf. Palmitic acid (FA 16:0) | LIPID MAPS Structure Database
lipid_class = 'FA'
Cn = 16
Un = 0
molecular_species = lipid_class + ' ' + str(Cn) + ':' + str(Un)
print(molecular_species) # 「FA 16:0 "wird ausgegeben
Sie können Zeichenfolgen mit +
kombinieren.
Hier ist '' '
ein Raum halber Breite.
Außerdem ist "str" eine Abkürzung für "string", die das Objekt in Klammern in Zeichenfolgendaten konvertiert.
Dies liegt daran, dass Cn
und Un
hier Zahlen sind und daher nicht so wie sie sind als Zeichenfolge kombiniert werden können.
Darüber hinaus ist es auf dem Gebiet der Lipidomik üblich, "Cn" und "Un" mit ":" zu verbinden.
Verwenden Sie "int" oder "float", um eine Zeichenfolgenummer wieder in numerische Daten umzuwandeln. "int" ist eine Abkürzung für "Ganzzahl" und bezieht sich auf eine Ganzzahl, und "float" bezieht sich auf eine Zahl mit einem Dezimalpunkt (Gleitkommazahl).
Cn = 16
Cn_str = str(Cn)
Cn_int = int(Cn_str)
print(type(Cn_str)) # <class 'str'>
print(type(Cn_int)) # <class 'int'>
exact_mass = 256.2402 #Präzisionsmasse von Palmitinsäure
exact_mass_str = str(exact_mass)
exact_mass_float = float(exact_mass_str)
print(type(exact_mass_str)) # <class 'str'>
print(type(exact_mass_float)) # <class 'float'>
Der Unterschied zwischen der Verwendung des Operators "+" für numerische Daten und der Verwendung für Zeichenkettendaten ist wie folgt.
Cn = 16
Un = 0
print(Cn + Un) #Zahlenwert "16"
print(type(Cn + Un))
print(str(Cn) + str(Un)) #Zeichenkette "160" (Zeichenkette, in der 1s, 6s und 0s aufgereiht sind)
print(type(str(Cn) + str(Un)))
Wenn numerische Variablen addiert werden, erfolgt die Addition normal, aber wenn Stringvariablen addiert werden, werden die Zeichenketten kombiniert. (Das Hinzufügen von "Cn" und "Un" hat keine chemische Bedeutung, aber hier wird es als Beispiel gegeben, um das Verhalten des Programms zu zeigen.)
Sie können Zeichenfolgen auch kombinieren (Variablenwerte in Zeichenfolgen einbetten), indem Sie wie folgt schreiben.
lipid_class = 'FA'
Cn = 16
Un = 0
molecular_species = '{0} {1}:{2}'.format(lipid_class, Cn, Un)
print(molecular_species) #Dies ist auch "FA 16:0 "wird ausgegeben
Schreiben Sie "{}" in das Anführungszeichen, ordnen Sie die Variablen in den Klammern des "Formats" an und setzen Sie die 0, 1 und 2 in die Klammern des "Formats" in der Reihenfolge "{}". Es wird aus der Variablen links eingebettet. In der Welt der Programmierung beginnen Seriennummern häufig bei Nummer 0 anstelle von Nummer 1. Seien Sie also vorsichtig, wenn Sie mit der Programmierung beginnen.
Darüber hinaus ist es in Python 3.6 und höher möglich, Variablen mit einer einfacheren Schreibmethode namens "f-string" in eine Zeichenfolge einzubetten, wie unten gezeigt.
lipid_class = 'FA'
Cn = 16
Un = 0
molecular_species = f'{lipid_class} {Cn}:{Un}'
print(molecular_species)
Legen Sie einfach die Zeichenfolge, die Sie erstellen möchten, als "Zeichenfolge" fest und geben Sie den Variablennamen in "{}" ein. Der Teil "{}" wird durch die angegebene Variable ersetzt.
Sie können replace
verwenden, um eine bestimmte Zeichenfolge durch eine andere zu ersetzen.
molecular_species = 'FA 16:0'
print(molecular_species.replace(':', '_')) # 「:"(Doppelpunkt) bis"_"(Unter Punktzahl)
print(molecular_species.replace(' ', '')) #Raum mit halber Breite löschen
Es gibt eine Methode namens "SMILES-Notation (Simplified Molecular Input Line Entry System)" zur Beschreibung der Struktur einer Verbindung. Wie unten gezeigt, kann die chemische Struktur nur mit einer Zeichenkette beschrieben werden.
smiles_pa = 'OC(' + 'C' * (Cn - 1) + ')=O' # 'pa'Ist'palmitic acid'Abkürzung für
print(smiles_pa)
Wie oben erwähnt, beschreibt die SMILES-Notation die chemische Struktur ohne Verwendung des Wasserstoffatoms (H).
Mit der SMILES-Notation kann die Molekülstruktur automatisch beschrieben werden, selbst wenn sich der Wert von "Cn" ändert.
*
kann nicht nur zum Multiplizieren von Zahlen verwendet werden, sondern auch zum Wiederholen derselben Zeichenfolge.
Als nächstes betrachten wir eine molekulare Spezies namens Linolsäure, die 18 Kohlenstoffatome und 2 Doppelbindungen aufweist. Linoleic acid (FA 18:2) | LIPID MAPS Structure Database
smiles_la = 'OC(CCCCCCC/C=C\C/C=C\CCCCC)=O' #Linolsäure
Doppelverknüpfungen werden mit =
beschrieben.
/
und \
geben an, ob die Doppelbindung * cis * oder * trans *, * cis * ist, wenn die Symbole vor oder nach dem Kohlenstoffatom, das die Doppelbindung bildet, unterschiedliche Orientierungen haben und wenn sie dieselbe Orientierung haben. Es wird * trans *.
smiles_la = 'OC(CCCC/C=C\C/C=C\CCCCCCCC)=O' #Linolsäure
smiles_la_oxidized = smiles_la.replace('/C=C\C', 'C(O)CC')
print(smiles_la_oxidized)
Auf diese Weise kann das oben erwähnte "Ersetzen" verwendet werden, um die Oxidation des doppelt gebundenen Teils auszudrücken. Übrigens scheint es als ".replace (" / C = C \ "," C (O) C ")" ersetzt werden zu können, aber der Teil nach "/ C = C" "" \ ". `Wird die Escape-Sequenz oben erwähnt und die Anführungszeichen zum Schließen der Zeichenfolge werden als Anführungszeichen in der Zeichenfolge erkannt, was zu einem Syntaxfehler führt. Also habe ich hier ein weiteres Kohlenstoffatom rechts platziert und es ".replace (" / C = C \ C "," C (O) CC ")" gemacht ".
Ein boolescher Wert (boolescher Typ) bezieht sich auf einen Datentyp, der entweder "True" oder "False" ist. Es kann verwendet werden, um zu vergleichen, ob mehrere Variablen gleich sind, oder um herauszufinden, ob eine bestimmte Bedingung erfüllt ist.
palmitic_acid = 'FA 16:0' #Palmitinsäure (gesättigte Fettsäure mit 16 Kohlenstoffatomen)
stearic_acid = 'FA 18:0' #Stealinsäure (gesättigte Fettsäure mit 18 Kohlenstoffatomen)
print(molecular_species == palmitic_acid) # True
print(molecular_species == stearic_acid) # False
Eine Fettsäure mit 16 Kohlenstoffatomen und 0 Doppelbindungen ist "Palmitinsäure", nicht "Stearinsäure".
Hier haben wir Python-Variablen und Datentypen 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.
+
kombiniert werden. Sie können auch F-String usw. verwenden, um Variablen in eine Zeichenfolge einzubetten. Es kann verwendet werden, wenn Verbindungsnamen mechanisch generiert werden.Als nächstes erklärt der folgende Artikel die Datenstruktur von Python (Liste, Wörterbuch usw.).
Python-Datenstruktur mit Chemoinfomatik gelernt
Recommended Posts