Ich versuche, ein Skript zu erstellen, das eine MTZ-Datei (Reflexionen) aufnimmt, sie in eine CCP4-Karte konvertiert und diese Karte dann so reduziert, dass sie nur einen gewünschten Bereich umfasst, um die Größe meiner PyMol-Sitzungsdateien zu verringern, damit sie ' E-Mail-fähig (auch bekannt als nicht 200 MB) und entlasten meinen POS-Computer.
Ich habe derzeit ein Python-Skript, mit dem fft
(CCP4) die Karte erstellt und mapmask
Probleme mit der Kachelung von Einheitszellen behoben werden können. Was ich jetzt hinzufügen möchte, ist etwas, das eine PDB-Datei nehmen und das meiste davon entfernen kann, außer zum Beispiel Reste innerhalb von 10 Å von # 123.
Ich habe mir ProDy angesehen , bin mir aber nicht ganz sicher, wo ich anfangen soll. Ich wäre auch offen dafür, etwas aus dem CCP4-Toolkit zu verwenden.
Mit dem Programm RasMol kann man, wie Mad Scientist es für PyMol erklärt hat, alles in einem bestimmten Abstand um ein Atom selektieren. RasMol kann mithilfe eines Skripts (mit der Option -script unter UNIX) von der Befehlszeile aus ausgeführt werden.
ProDy funktioniert recht gut, insbesondere innerhalb eines vorhandenen Python-Skripts.
Der folgende Code nimmt eine vorhandene PDB-Datei, führt eine Auswahlabfrage dafür durch und speichert sie dann in einer anderen Datei.
import prody
def pdbsubset(inpdb, outpdb, selection):
with open(inpdb) as protf:
prot = prody.parsePDBStream(protf)
atoms = prot.select(selection)
prody.writePDB(outpdb, atoms)
Ein Beispiel für den Builder für Auswahlabfragen
residues
ist eine Liste zB ['A12', 'A39'] mit jedem Element in der Form <chain><residue number>
. Sie wurden über die Befehlszeile mit argparse
with erfasst
parser.add_argument('-i', '--residues', nargs='+')
-i A12 A39
oder was auch immer.pdb
und outpdb
sind Dateipfaderadius
ist der Abstand in Angström, um den die Auswahl erweitert werden soll.reslist = ["(chid {0} and resid {1})".format(res[0], res[1:]) for res in residues]
selector = 'within {0} of ({1})'.format(radius, ' or '.join(reslist))
# and running it:
pdbsubset(pdb, outpdb, selector)
Die Dokumentation zu ProDy-Auswahlabfragen ist nicht die einfachste, aber ziemlich analog zu PyMol, also machbar.
Benutzer560
Nick T
mapmask
sich sowieso ein wenig zu erweitern scheint), scheint aber nicht so optimal zu sein. Ich werde eine Weile darauf herumschlagen und Sie wissen lassen, was ich herausgefunden habe.Benutzer560
Verrückter Wissenschaftler
Nick T
Verrückter Wissenschaftler
David LeBauer
Nick T