26/12/2022
PyMOL er et kraftfuldt open-source visualiseringsværktøj, der bruges bredt inden for biokemi, molekylærbiologi og medicinsk kemi. Dets evne til at vise og analysere komplekse molekylære strukturer gør det uundværligt for forskere. En central funktion i PyMOL er manipulationen af molekylære strukturer, herunder justering af atomer og ændring af deres egenskaber. Dette dækker alt fra at placere molekyler korrekt i forhold til hinanden til at farvelægge specifikke atomer baseret på deres egenskaber. Lad os udforske de mest relevante PyMOL-kommandoer til at håndtere atomegenskaber og molekylær justering.

Grundlæggende Molekylær Justering
Når du arbejder med molekylære strukturer, er det ofte nødvendigt at sammenligne dem eller placere dem i en bestemt orientering. PyMOL tilbyder flere kommandoer til dette formål:
- align: Denne kommando udfører en sekvensjustering efterfulgt af en strukturel superposition. Den er særligt effektiv for proteiner med en vis grad af sekvenslighed (over 30% identitet). Den kan også bruges til at raffinere pasformen ved at afvise strukturelle outliers.
- super: Bruges til at superponere to molekyler baseret på deres atomidentifikatorer. Den er generelt god til proteiner med lignende sekvenser.
- cealign: En mere avanceret justeringsalgoritme baseret på CE (Combinatorial Extension). Den er især nyttig, når sekvensligheden er lavere, eller når man ønsker en mere robust justering.
- fit: Denne kommando superponerer en model (mobil) på en anden (mål). Den bruger matchende atomer fra begge selektioner til at udføre justeringen.
- alignto: En praktisk kommando, der justerer alle andre indlæste objekter til et specifikt mål (target) ved hjælp af en valgt justeringsmetode.
Eksempel på Justering
Lad os sige, du har to proteinstrukturer, 'mol1' og 'mol2', og du vil justere 'mol1' til 'mol2' baseret på alfa-kulstofatomerne (CA):
PyMOL> align mol1, mol2, /CA PyMOL> super mol1, mol2, /CA PyMOL> cealign mol1, mol2, /CA PyMOL> fit mol1, mol2, /CA Hvis du ønsker at justere alle indlæste objekter til 'mol1':
PyMOL> alignto mol1 Manipulation af Atomegenskaber
Udover justering kan du også direkte ændre og manipulere egenskaberne for individuelle atomer eller grupper af atomer. Dette er afgørende for at tilpasse visualiseringen og analysere specifikke molekylære træk.
- alter: En meget alsidig kommando, der ændrer atom-egenskaber ved hjælp af et udtryk. Du kan ændre alt fra atomnavne til ladninger og farver.
- alter_state: Ligesom 'alter', men specifikt for at ændre koordinater og flag over en bestemt tilstand.
- alphatoall: Udvider en given egenskab fra CA-atomer til alle atomer i den tilsvarende rest. Bruges ofte til at overføre B-faktorer eller andre egenskaber.
- color: Ændrer farven på atomer eller objekter baseret på et navn eller en farvekode.
- label: Bruges til at tilføje labels til atomer, f.eks. restnummer, atomnavn eller beregnede egenskaber.
- flag: Sætter specifikke flag for atomer, som kan bruges til selektion eller yderligere manipulation.
Eksempler på Ændring af Egenskaber
Ændring af B-faktor for alle atomer til 10:
PyMOL> alter all, b=10 Ændring af ladningen for et specifikt atom:
PyMOL> alter chain A and resi 50 and name CA, partial_charge=-0.5 Farvelægning af alle oxygenatomer:
PyMOL> color red, elem O Tilføjelse af labels med restnummer og atomnavn:
PyMOL> label all, "%%s-%%s" %% (resn, resi) Specifikke Udfordringer: Små Molekylers Justering
Du nævnte en udfordring med at justere små molekyler, hvor PyMOL giver fejlen "ExecutiveAlign: mobile selection must derive from one object only". Dette skyldes typisk, at PyMOLs justeringskommandoer (som align og super) er designet til at fungere på atomer inden for et enkelt objekt eller en enkelt tilstand. Når du forsøger at justere to separate små molekyler, som måske er indlæst som separate objekter eller endda som forskellige tilstande inden for samme objekt, kan PyMOL have svært ved at identificere det entydige "mobile" objekt.
For at omgå dette problem kan du:
- Kombiner til et enkelt objekt: Inden du udfører justeringen, kan du kopiere eller samle de to molekyler i et nyt, enkelt objekt. Dette kan gøres med kommandoer som create eller copy.
- Brug 'pair_fit' eller 'super' med specifikke selektioner: Hvis molekylerne er strukturelt ens, kan du bruge `pair_fit` eller `super` med meget specifikke atomselektioner, der sikrer, at PyMOL kun arbejder med atomer fra et enkelt "mobil" objekt ad gangen.
- Python API: Den mest fleksible metode er at bruge PyMOLs Python API. Du kan skrive et lille Python-script, der henter de relevante atomer fra hvert molekyle, samler dem i en midlertidig selektion eller et objekt, og derefter udfører justeringen.
Eksempel med 'create' til at kombinere molekyler:
# Antag at dine to molekyler er kaldet 'ligand1' og 'ligand2' PyMOL> create combined_ligands, ligand1 + ligand2 PyMOL> align combined_ligands, combined_ligands, /* specificer selektion for at justere, f.eks. */ name C1+C2+C3, name C1+C2+C3 # Eller brug en mere specifik justering, hvis de er kendt at have samme topologi: PyMOL> super ligand1, ligand2 Hvis dine ligander har ens atomer, men forskellige koordinater, og du vil justere den ene til den anden, kan du prøve at samle dem og så bruge 'super' eller 'align' på den kombinerede selektion, men med klare specifikationer for, hvilke atomer der skal matche:
# Antag at ligand1 og ligand2 har ens atomnavne og rækkefølge PyMOL> super ligand1, ligand2 Hvis det ikke virker, kan du definere en specifik parring:
PyMOL> pair_fit ligand1///C1, ligand2///C1, ligand1///C2, ligand2///C2, ligand1///C3, ligand2///C3 Avancerede Funktioner og Visualisering
Udover de grundlæggende justerings- og egenskabsmanipulationskommandoer tilbyder PyMOL en række avancerede funktioner:
- distance, angle, dihedral: Bruges til at måle afstande, vinkler og dihedrale vinkler mellem atomer.
- cartoon: Ændrer repræsentationen af sekundære strukturelementer (som alfa-helixer og beta-sheets).
- show, hide, as: Kontrollerer synligheden og repræsentationen af molekylære elementer (f.eks. sfærer, bånd, pinde).
- ray, draw: Bruges til at generere højkvalitetsbilleder af molekylerne.
- zoom, center, orient: Justerer visningen for at passe til molekylets størrelse og orientering.
- save, load, fetch: Håndterer indlæsning og lagring af molekylære filer og data fra internettet.
Tabellarisk Oversigt over Justeringskommandoer
| Kommando | Beskrivelse | Anvendelse |
|---|---|---|
| align | Sekvens- og strukturjustering | Proteiner med >30% identitet |
| super | Strukturjustering baseret på atomer | Generel brug, god til lignende strukturer |
| cealign | CE-algoritme justering | Lav sekvenslighed, robusthed |
| fit | Superponerer en model på en anden | Pasform baseret på matchende atomer |
| alignto | Justerer alle objekter til et mål | Ensartet orientering af datasæt |
| pair_fit | Justerer specifikke atompar | Præcis kontrol over parring |
Ofte Stillede Spørgsmål (FAQ)
Q: Hvordan kan jeg se atomtyperne i PyMOL?
Du kan bruge kommandoen label med et udtryk, der henter elementtypen, f.eks.:PyMOL> label all, elem
Q: Kan jeg justere kun en del af et molekyle?
Ja, brug selektionssyntaksen til at specificere den ønskede del. For eksempel:PyMOL> align mol1, mol2, resi 10-50
Q: Hvordan gemmer jeg min PyMOL-session?
Brug kommandoen save filnavn.pse, hvor `.pse` er filtypen for PyMOL-sessionsfiler.

Q: Hvad hvis mine ligander ikke har ens atomnavne?
I dette tilfælde skal du bruge `pair_fit` og eksplicit angive, hvilke atomer der skal matche, eller overveje at redigere filerne for at ensrette atomnavnene, hvis strukturen tillader det.
PyMOLs fleksibilitet gør det muligt at udføre utroligt detaljerede analyser og visualiseringer. Ved at mestre disse kommandoer kan du effektivt håndtere og forstå dine molekylære data.
Hvis du vil læse andre artikler, der ligner PyMOL: Juster molekyler og atomegenskaber, kan du besøge kategorien Software.
