Python-Datenstruktur mit Chemoinfomatik gelernt

Einführung

In Anlehnung an Python-Variablen und Datentypen aus der Chemoinfomatik werden wir die "Datenstruktur" mit dem Thema Lipidomik (umfassende Analyse von Lipiden) erläutern. .. 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 fassten die Datenstruktur von Python zusammen

aufführen

Liste erstellen, Elementwerte durchsuchen, aktualisieren

Eine Liste ist ein Datentyp, der mehrere Elemente speichert und mit list name = [element 1, element 2, ...] erstellt werden kann. Das folgende Beispiel ist eine Liste, die nur Zeichenfolgen enthält. Sie können jedoch auch Zahlen und boolesche Werte, mehrere Elemente mit demselben Wert und eine Mischung aus mehreren Datentypen eingeben. Elemente in der Liste können durch ihren "Listennamen [Indexnummer]" referenziert werden. Es ist zu beachten, dass die Indexnummer mit "0" beginnt, nicht mit "1".

fatty_acids = ['FA 16:0', 'FA 18:0', 'FA 18:1', 'FA 18:2', 'FA 18:3']

print(fatty_acids[0]) #Erstes (erstes) Element
print(fatty_acids[1]) #Zweites Element
print(fatty_acids[-1]) #Erstes (letztes) Element von hinten
print(fatty_acids[2:4]) #3. bis 4. Elemente
print(fatty_acids[3:]) #4. und nachfolgende Elemente
print(fatty_acids[:3]) #Bis zu 4 Elemente
print(fatty_acids[:-2]) #Das zweite Element von hinten

Sie können den Wert des Elements mit der angegebenen Indexnummer aktualisieren, indem Sie "Listenname [Indexnummer] = Wert" festlegen.

fatty_acids[3] = 'FA 18:2 (6Z, 9Z)'
print(fatty_acids)

Übrigens repräsentiert "(6Z, 9Z)" die Position und den Stil der Doppelbindung. "6" und "9" geben die Anzahl der Kohlenstoffatome an, die vom Kohlenstoffatom auf der gegenüberliegenden Seite der Carbonsäure zur Bildung einer Doppelbindung gezählt werden, und "Z" bedeutet, dass die Doppelbindung * cis * ist. Es zeigt, dass. Wenn es "E" ist, ist es * trans *. Einzelheiten zur Struktur von Linolsäure finden Sie unter dem folgenden Link. Linoleic acid (FA 18:2) Wenn es eine Doppelbindung gibt, ist es notwendig, die Position und den Bindungsmodus der Doppelbindung wie oben beschrieben anzugeben, aber es wird etwas länger dauern, so dass wir es von nun an weglassen werden.

Holen Sie sich die Anzahl der Elemente in der Liste

Sie können die Anzahl der Elemente in der Liste mit len überprüfen. Übrigens ist "len" eine Abkürzung für "Länge".

print(len(fatty_acids))

Listenberechnung

Die am häufigsten verwendeten Listenoperationen sind "+" und "*". Sie können Listen mit + kombinieren und mit*eine Liste mit der angegebenen Anzahl derselben Elemente erstellen.

saturated_fatty_acids = ['FA 16:0', 'FA 18:0'] #Gesättigte Fettsäuren (Fettsäuren ohne Doppelbindungen)
unsaturated_fatty_acids = ['FA 18:1', 'FA 18:2', 'FA 18:3'] #Ungesättigte Fettsäuren (Fettsäuren mit Doppelbindungen)
fatty_acids = saturated_fatty_acids + unsaturated_fatty_acids #Beitrittsliste
print(fatty_acids)

number_carbons = [16] + [18]*4 #Liste verbinden und duplizieren
print(number_carbons)

number_carbons ist die Anzahl der Kohlenstoffatome in der Liste fat_acids. Da "Fettsäuren" vier Molekülspezies mit 18 Kohlenstoffatomen enthält, wird es mit "*" dupliziert.

Listenmethode

Die in der Liste häufig verwendeten Methoden werden im Folgenden vorgestellt.

fatty_acids = ['FA 16:0', 'FA 18:0', 'FA 18:1', 'FA 18:2', 'FA 18:3']

fatty_acids_copy = fatty_acids.copy() #Eine Kopie machen
print(fatty_acids_copy)

fatty_acids.append('FA 20:4') #Fügen Sie am Ende ein Element hinzu
print(fatty_acids)

fatty_acids.extend(['FA 20:5', 'FA 22:6']) #Fügen Sie am Ende mehrere Elemente hinzu
print(fatty_acids)

fatty_acids.insert(1, 'FA 16:1') #Element zur angegebenen Indexnummer hinzufügen
print(fatty_acids)

fatty_acids.remove('FA 18:3') #Löschen Sie das angegebene Element
print(fatty_acids)

print(fatty_acids.pop()) #Löschen Sie das letzte Element und geben Sie das gelöschte Element aus

print(fatty_acids.pop(2)) #Löschen Sie das dritte Element und geben Sie das gelöschte Element aus

fatty_acids.sort(key=None, reverse=True) #Sortieren Sie die Elemente in absteigender Reihenfolge
print(fatty_acids)

fatty_acids.sort(key=None, reverse=False) #Sortieren Sie die Elemente in aufsteigender Reihenfolge
print(fatty_acids)

print(fatty_acids.index('FA 18:2')) #Indexnummer des angegebenen Elements
print(fatty_acids.count('FA 18:2')) #Anzahl der angegebenen Elemente

".extend (['FA 20: 5', 'FA 22: 6')" kann als ".append (['FA 20: 5', 'FA 22: 6'])" geschrieben werden. Das Ausführungsergebnis ändert sich jedoch. Wenn Sie "Erweitern" verwenden, werden zwei Elemente "FA 20: 5" und "FA 22: 6" hinzugefügt. Wenn Sie jedoch "Anhängen" verwenden, wird "[" FA 20 " Die Liste: 5 ',' FA 22: 6 '] `wird als ein Element hinzugefügt. Mit anderen Worten, wenn Sie "Anhängen" verwenden, wird die Liste in die Liste aufgenommen. Seien Sie vorsichtig, wenn Sie "Anhängen" und "Erweitern" richtig verwenden.

Umgang mit Zeichenketten

Zeichenfolgen können wie Listen behandelt werden. Sie können sich eine Zeichenfolge als Liste mit nur einem Zeichen vorstellen, sich auf das fünfte Zeichen von vorne beziehen und so weiter.

palmitic_acid = fatty_acids[0] #Liste "fett_erstes Element von "Säure"
print(palmitic_acid) # FA 16:0
print(palmitic_acid[0]) # 「FA 16:Das erste Zeichen der Zeichenfolge "0", dh "F"
print(len(palmitic_acid)) #Wortzahl

lipid_class = palmitic_acid[0:2]
print(lipid_class) # FA
Cn = int(palmitic_acid[3:5])
print(Cn) #16 (numerischer Wert)
Un = int(palmitic_acid[6])
print(Un) #0 (numerischer Wert)

Anwendung: SMILES-Notation

Als fortgeschrittene Version sollten Sie die Anzahl der Kohlenstoffatome und Doppelbindungen der Fettsäuren in der SMILES-Notation zählen.

smiles_la = 'OC(CCCCCCC/C=C\C/C=C\CCCCC)=O' #LÄCHELN von Linolsäure

Cn = smiles_la.count('C') #Anzahl der Kohlenstoffatome
Un = smiles_la.count('=') - 1 #Anzahl der Doppelbindungen in der Kohlenstoffkette

linoleic_acid = f'FA {Cn}:{Un}' # f-string
print(linoleic_acid)

Taple

Ein Tupel ist ein listenartiger Datentyp, der mit tupple name = (Element 1, Element 2, ...) erstellt werden kann. Wie bei der Liste können Sie den Wert unter "Taple-Name [Indexnummer]" sehen, aber Sie können den Wert nicht aktualisieren. Wenn Sie also ein Datenarray erstellen möchten, das Sie nicht neu schreiben möchten, können Sie taple verwenden.

fatty_acids = ('FA 16:0', 'FA 18:0', 'FA 18:1', 'FA 18:2', 'FA 18:3')

print(fatty_acids[0]) #Erstes Element
print(fatty_acids[1]) #Zweites Element
print(fatty_acids[-1]) #Erstes Element von hinten
print(fatty_acids[2:4]) #3. bis 4. Elemente
print(fatty_acids[3:]) #4. und nachfolgende Elemente
print(fatty_acids[:3]) #Bis zu 4 Elemente
print(fatty_acids[:-2]) #Das zweite Element von hinten

Wörterbuch

Wörterbuch erstellen

Ein Wörterbuch ist eine Eins-zu-Eins-Entsprechung zwischen "Schlüsseln" und "Werten" und einem Array dieser Schlüssel / Wert-Kombinationen. Es kann mit dictionary name = {key 1: value 1, key 2: value 2, ...} erstellt werden.

Cn = 18 #Anzahl der Kohlenstoffatome (Kettenlänge) der Fettsäure
Un = 2 #Anzahl der Doppelbindungen (Ungesättigtheit)

num_C = Cn #Anzahl der Kohlenstoffatome im gesamten Molekül
num_H = Cn * 2 - Un * 2 #Anzahl der Wasserstoffatome im gesamten Molekül
num_O = 2 #Anzahl der Sauerstoffatome im gesamten Molekül

molecular_formula = {'C': num_C, 'H': num_H, 'O': num_O}

Referenz von Wörterbuchelementen

Im obigen Beispiel wird ein Wörterbuch mit der Anzahl der Atome als Wert erstellt, wobei das Elementsymbol als Schlüssel verwendet wird. So zeigen Sie alle Schlüssel und Werte im Wörterbuch an:

print(molecular_formula.keys()) #Liste der Schlüssel
print(molecular_formula.values()) #Liste von Werten
print(molecular_formula.items()) #Liste der Schlüssel- und Wertetupel

Aktualisieren und Hinzufügen von Wörterbuchelementen

Mit Wörterbuchname [Schlüssel] = Wert wird der Wert aktualisiert, wenn der Schlüssel bereits im Wörterbuch vorhanden ist, und ein neuer Schlüssel und Wert werden hinzugefügt, wenn der Schlüssel nicht vorhanden ist.

molecular_formula['C'] = 16 #Umschreiben von Werten
molecular_formula['H'] = 32 #Umschreiben von Werten
molecular_formula['N'] = 0 #Fügen Sie neue Schlüssel und Werte hinzu
print(molecular_formula)

einstellen

Ein Set kann mit set name = {} erstellt werden. Es gibt kein Ordnungskonzept und es wird verwendet, um zu beurteilen, ob es ein bestimmtes Element gibt oder nicht, ohne das Element durch die Indexnummer anzugeben.

fatty_acids = {'FA 16:0', 'FA 18:0', 'FA 18:1', 'FA 18:2', 'FA 18:3'}

Zusammenfassung

Hier haben wir die Datenstruktur von Python erklärt und uns dabei auf praktisches Wissen konzentriert, das in der Chemoinfomatik verwendet werden kann. Lassen Sie uns die wichtigsten Punkte noch einmal überprüfen.

Im folgenden Artikel wird die bedingte Verzweigung in Python erläutert.

Bedingte Verzweigung von Python durch Chemoinfomatik gelernt

Referenzmaterialien / Links

Überraschend wenige! ?? "Minimale" Kenntnisse für die Programmierung in einem Pharmaunternehmen erforderlich

Recommended Posts

Python-Datenstruktur mit Chemoinfomatik gelernt
Datenanalyse mit Python 2
Datenanalyse mit Python
Python-Variablen und Datentypen, die mit Chemoinfomatik gelernt wurden
Mit Python erstellte Beispieldaten
Holen Sie sich Youtube-Daten mit Python
Python-Kurs zum Lernen mit Chemoinfomatik
Python-Funktionen mit Chemoinfomatik gelernt
Lesen von JSON-Daten mit Python
[Python] Mit Pokemon erlernte objektorientierte Programmierung
[Python] Mit DataReader Wirtschaftsdaten abrufen
Perceptron-Lernexperiment mit Python
Effiziente Netzaufnahme mit Python
1. Mit Python 1-1 gelernte Statistiken. Grundlegende Statistiken (Pandas)
Visualisieren Sie Ihre Daten ganz einfach mit Python Seaborn.
Verarbeiten Sie Pubmed .xml-Daten mit Python
Datenanalyse beginnend mit Python (Datenvisualisierung 1)
Datenanalyse beginnend mit Python (Datenvisualisierung 2)
Anwendung von Python: Datenbereinigung Teil 2: Datenbereinigung mit DataFrame
[Python] Kapitel 04-06 Verschiedene Datenstrukturen (Erstellung eines Wörterbuchs)
Holen Sie sich mit Python zusätzliche Daten zu LDAP
[Python] Mit RxPY (3.0.1) gelernte reaktive Erweiterungen [Rx]
Datenpipeline-Aufbau mit Python und Luigi
Empfangen Sie Textdaten von MySQL mit Python
[Hinweis] Mit Python Daten von PostgreSQL abrufen
Verarbeiten Sie Pubmed .xml-Daten mit Python [Teil 2]
Ali Buch in Python: Abschnitt 2-4, Datenstruktur
Versuchen Sie, mit Binärdaten in Python zu arbeiten
Generieren Sie japanische Testdaten mit Python faker
Bedingte Verzweigung von Python mit Chemoinfomatik gelernt
[Python] Kapitel 04-03 Verschiedene Datenstrukturen (mehrdimensionale Liste)
[Python] Kapitel 04-04 Verschiedene Datenstrukturen (siehe Liste)
Konvertieren Sie Excel-Daten mit Python in JSON
Laden Sie japanische Aktienkursdaten mit Python herunter
[Python] Kapitel 04-02 Verschiedene Datenstrukturen (Listenmanipulation)
1. Mit Python 1-3 gelernte Statistiken. Berechnung verschiedener Statistiken (Statistiken)
[Python] Kapitel 04-07 Verschiedene Datenstrukturen (Wörterbuchmanipulation)
Empfehlung von Altair! Datenvisualisierung mit Python
Datenanalyse beginnend mit Python (Datenvorverarbeitung - maschinelles Lernen)
Lassen Sie uns MySQL-Daten mit Python bearbeiten
Organisieren Sie mit Python nach Ordnern getrennte Daten
Behandeln Sie 3D-Datenstrukturen mit Pandas
Verarbeiten Sie Big Data mit Dataflow (ApacheBeam) + Python3
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Python mit Go