Dans le prolongement des variables Python et types de données appris de la chimioinfomatique, nous expliquerons la "structure des données" 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é la structure des données de Python
Une liste est un type de données qui stocke plusieurs éléments et peut être créée avec nom de la liste = [élément 1, élément 2, ...]
.
L'exemple ci-dessous est une liste qui ne contient que des chaînes de caractères, mais vous pouvez également entrer des nombres et des valeurs booléennes, plusieurs éléments avec la même valeur et un mélange de plusieurs types de données.
Les éléments de la liste peuvent être référencés par leur nom de liste [numéro d'index]
.
Il convient de noter que le numéro d'index commence par «0», pas par «1».
fatty_acids = ['FA 16:0', 'FA 18:0', 'FA 18:1', 'FA 18:2', 'FA 18:3']
print(fatty_acids[0]) #Premier (premier) élément
print(fatty_acids[1]) #Deuxième élément
print(fatty_acids[-1]) #Premier (dernier) élément de l'arrière
print(fatty_acids[2:4]) #3e au 4e éléments
print(fatty_acids[3:]) #4e et suivants éléments
print(fatty_acids[:3]) #Jusqu'à 4 éléments
print(fatty_acids[:-2]) #Le deuxième élément de l'arrière
Vous pouvez mettre à jour la valeur de l'élément avec le numéro d'index spécifié en définissant nom de la liste [numéro d'index] = valeur
.
fatty_acids[3] = 'FA 18:2 (6Z, 9Z)'
print(fatty_acids)
À propos, «(6Z, 9Z)» représente la position et le style de la double liaison. «6» et «9» indiquent le nombre d'atomes de carbone formant la double liaison à partir de l'atome de carbone sur le côté opposé de l'acide carboxylique, et «Z» signifie que la double liaison est * cis *. Cela montre que. Si c'est ʻE`, ce sera * trans *. Pour plus de détails sur la structure de l'acide linoléique, veuillez consulter le lien ci-dessous. Linoleic acid (FA 18:2) S'il y a une double liaison, il est nécessaire de spécifier la position et le mode de liaison de la double liaison comme décrit ci-dessus, mais ce sera un peu plus long, donc nous l'omettons à partir de maintenant.
Vous pouvez vérifier le nombre d'éléments dans la liste avec len
.
Au fait, «len» est une abréviation de «longueur».
print(len(fatty_acids))
Les opérations de liste les plus couramment utilisées sont «+» et «». Vous pouvez combiner des listes avec «+» et créer une liste avec le nombre spécifié des mêmes éléments avec «».
saturated_fatty_acids = ['FA 16:0', 'FA 18:0'] #Acides gras saturés (acides gras sans doubles liaisons)
unsaturated_fatty_acids = ['FA 18:1', 'FA 18:2', 'FA 18:3'] #Acides gras insaturés (acides gras à doubles liaisons)
fatty_acids = saturated_fatty_acids + unsaturated_fatty_acids #Rejoindre la liste
print(fatty_acids)
number_carbons = [16] + [18]*4 #Joindre et dupliquer la liste
print(number_carbons)
«nombre_carbons» est le nombre d'atomes de carbone dans la liste «acides gras». Puisque «acides gras» contient quatre espèces moléculaires avec 18 atomes de carbone, il est dupliqué avec «*».
Les méthodes souvent utilisées dans la liste sont présentées ci-dessous.
fatty_acids = ['FA 16:0', 'FA 18:0', 'FA 18:1', 'FA 18:2', 'FA 18:3']
fatty_acids_copy = fatty_acids.copy() #Faire une copie
print(fatty_acids_copy)
fatty_acids.append('FA 20:4') #Ajouter un élément à la fin
print(fatty_acids)
fatty_acids.extend(['FA 20:5', 'FA 22:6']) #Ajouter plusieurs éléments à la fin
print(fatty_acids)
fatty_acids.insert(1, 'FA 16:1') #Ajouter un élément au numéro d'index spécifié
print(fatty_acids)
fatty_acids.remove('FA 18:3') #Supprimer l'élément spécifié
print(fatty_acids)
print(fatty_acids.pop()) #Supprimer le dernier élément et afficher l'élément supprimé
print(fatty_acids.pop(2)) #Supprimer le troisième élément et afficher l'élément supprimé
fatty_acids.sort(key=None, reverse=True) #Trier les éléments par ordre décroissant
print(fatty_acids)
fatty_acids.sort(key=None, reverse=False) #Trier les éléments par ordre croissant
print(fatty_acids)
print(fatty_acids.index('FA 18:2')) #Numéro d'index de l'élément spécifié
print(fatty_acids.count('FA 18:2')) #Nombre d'éléments spécifiés
.extend (['FA 20: 5', 'FA 22: 6')
peut être écrit comme .append (['FA 20: 5', 'FA 22: 6'])
. Cependant, le résultat de l'exécution changera.
Si vous utilisez ʻextend, deux éléments sont ajoutés, "" FA 20: 5 "et" "FA 22: 6", mais si vous utilisez ʻappend
, ['FA 20 La liste: 5 ',' FA 22: 6 '] ʻest ajoutée comme un élément. En d'autres termes, si vous utilisez ʻappend
, la liste sera incluse dans la liste.
Soyez prudent lorsque vous utilisez correctement ʻappend et ʻextend
.
Les chaînes peuvent être traitées comme des listes. Vous pouvez considérer une chaîne comme une liste à un seul caractère, faire référence au cinquième caractère à partir du début, et ainsi de suite.
palmitic_acid = fatty_acids[0] #Liste "gras_premier élément "acide"
print(palmitic_acid) # FA 16:0
print(palmitic_acid[0]) # 「FA 16:Le premier caractère de la chaîne de caractères "0", c'est-à-dire "F"
print(len(palmitic_acid)) #nombre de mots
lipid_class = palmitic_acid[0:2]
print(lipid_class) # FA
Cn = int(palmitic_acid[3:5])
print(Cn) #16 (valeur numérique)
Un = int(palmitic_acid[6])
print(Un) #0 (valeur numérique)
En guise d'application, envisagez de compter le nombre d'atomes de carbone et de doubles liaisons d'acides gras en notation SMILES.
smiles_la = 'OC(CCCCCCC/C=C\C/C=C\CCCCC)=O' #Sourires d'acide linoléique
Cn = smiles_la.count('C') #Nombre d'atomes de carbone
Un = smiles_la.count('=') - 1 #Nombre de doubles liaisons dans la chaîne carbonée
linoleic_acid = f'FA {Cn}:{Un}' # f-string
print(linoleic_acid)
Un tuple est un type de données de type liste qui peut être créé avec tupple name = (élément 1, élément 2, ...)
.
Comme pour la liste, vous pouvez voir la valeur par nom du taple [numéro d'index]
, mais vous ne pouvez pas mettre à jour la valeur.
Donc, si vous souhaitez créer un tableau de données dont vous ne souhaitez pas réécrire la valeur, vous pouvez utiliser taple.
fatty_acids = ('FA 16:0', 'FA 18:0', 'FA 18:1', 'FA 18:2', 'FA 18:3')
print(fatty_acids[0]) #Premier élément
print(fatty_acids[1]) #Deuxième élément
print(fatty_acids[-1]) #Premier élément de l'arrière
print(fatty_acids[2:4]) #3e au 4e éléments
print(fatty_acids[3:]) #4e et suivants éléments
print(fatty_acids[:3]) #Jusqu'à 4 éléments
print(fatty_acids[:-2]) #Le deuxième élément de l'arrière
Un dictionnaire est une correspondance univoque entre des «clés» et des «valeurs», et un tableau de ces combinaisons clé / valeur.
Il peut être créé avec nom du dictionnaire = {clé 1: valeur 1, clé 2: valeur 2, ...}
.
Cn = 18 #Nombre d'atomes de carbone (longueur de chaîne) d'acide gras
Un = 2 #Nombre de doubles liaisons (insaturation)
num_C = Cn #Nombre d'atomes de carbone dans la molécule entière
num_H = Cn * 2 - Un * 2 #Nombre d'atomes d'hydrogène dans la molécule entière
num_O = 2 #Nombre d'atomes d'oxygène dans la molécule entière
molecular_formula = {'C': num_C, 'H': num_H, 'O': num_O}
Dans l'exemple ci-dessus, un dictionnaire est créé avec le nombre d'atomes comme valeur, en utilisant le symbole d'élément comme clé. Pour voir toutes les clés et valeurs du dictionnaire:
print(molecular_formula.keys()) #Liste des clés
print(molecular_formula.values()) #Liste de valeurs
print(molecular_formula.items()) #Liste des tuples de clé et de valeur
Avec dictionary name [key] = value
, la valeur est mise à jour si la clé existe déjà dans le dictionnaire, et une nouvelle clé et valeur sont ajoutées si la clé n'existe pas.
molecular_formula['C'] = 16 #Réécriture de valeur
molecular_formula['H'] = 32 #Réécriture de valeur
molecular_formula['N'] = 0 #Ajouter de nouvelles clés et valeurs
print(molecular_formula)
Un ensemble peut être créé avec set name = {}
.
Il n'y a pas de concept d'ordre, et il est utilisé pour juger s'il y a ou non un élément spécifique sans spécifier l'élément par numéro d'index.
fatty_acids = {'FA 16:0', 'FA 18:0', 'FA 18:1', 'FA 18:2', 'FA 18:3'}
Ici, nous avons expliqué la structure de données de Python, en nous concentrant sur les connaissances pratiques qui peuvent être utilisées en chimioinfomatique. Revoyons à nouveau les principaux points.
Ensuite, l'article suivant explique le branchement conditionnel en Python.
Branchage conditionnel de Python appris par chemoinfomatics
Recommended Posts