# Open all reverse transcriptase PDB structures, align them and keep only the ligands. pdbs = '4G1Q, 4ICL, 4I7G, 2ZD1, 4IG3, 4ID5, 3DLK, 4IFV, 4IDK, 4IFY, 2YNG, 1VRT, 3QIP, 3BGR, 2YKN, 1RTH, 3DLG, 4DG1, 1VRU, 2RF2, 2YNF, 2RKI, 4I2P, 2OPS, 3DYA, 1S1T, 1C1B, 3T1A, 3LAK, 3MEC, 1RTJ, 2HND, 3TAM, 2YNI, 1JLA, 4IG0, 1RT1, 3DRP, 3MEE, 3DMJ, 2OPP, 3DLE, 2HNY, 1FK9, 1RT2, 3T19, 3LP1, 4I7F, 3LAL, 1TKT, 2BE2, 3ISN, 3DOL, 3MED, 1C1C, 1C0U, 3C6U, 1S1W, 2IAJ, 1LWC, 1S1V, 1JLG, 3C6T, 1JKH, 3KK1, 1C0T, 3M8P, 1REV, 3DI6, 3DRR, 1EP4, 4I2Q, 3LAN, 1EET, 3M8Q, 2B6A, 1TL3, 1TKZ, 3FFI, 1JLF, 2OPQ, 1IKX, 1DTT, 1DTQ, 3KK2, 1LWE, 3NBP, 3ITH, 3IS9, 1FKO, 1KLM, 3QLH, 1LW0, 3QO9, 2YNH, 1FKP, 3I0S, 3V6D, 1TKX, 1S9E, 3DRS, 1LW2, 3LAM, 1S1X, 3V4I, 3DOK, 1JLB, 3MEG, 2YKM, 1TL1, 1LWF, 1HQU, 1DLO, 3IRX, 1RT6, 1HQE, 1IKY, 3IG1, 3KK3, 1R0A, 4H4M, 3KLI, 2VG5, 1IKW, 1S9G, 1S1U, 1JLQ, 1RT5, 2OPR, 4H4O, 3I0R, 1JLC, 1RT4, 3LP0, 2HNZ, 3LP2, 1IKV, 2WON, 3E01, 2ZE2, 1HNI, 3DM2, 1S6P, 3V81, 1RTI, 2B5J, 1JLE, 2VG7, 1TV6, 1SV5, 2BAN, 1RTD, 1S6Q, 1N6Q, 2HMI, 3KLH, 1HNV, 2VG6, 2WOM, 2I5J, 3JSM, 1T05, 3KJV, 1HPZ, 3HVT, 2JLE, 2IC3, 1RT7, 1TVR, 1SUQ, 1RT3, 1N5Y, 1T03, 1BQM, 1HYS, 1HMV, 1BQN, 3KLF, 3JYT, 1UWB, 3KLE, 4B3O, 1J5O, 1QE1, 3KLG, 1HVU, 4B3P, 4B3Q' chains = {'3ISN':'C'} pdb_list = [p.strip() for p in pdbs.split(',')] from chimera import openModels as om, runCommand as rc ref_pdb = om.open('1JLB', type = 'PDBID')[0] ref_chain = 'A' for pdb_id in pdb_list: m = om.open(pdb_id, type = 'PDBID')[0] mchain = chains.get(pdb_id, ref_chain) rc('mm %s:.%s %s:.%s' % (ref_pdb.oslIdent(), ref_chain, m.oslIdent(), mchain)) # Align to reference rc('del %s & ~ligand' % (m.oslIdent(),)) # Keep only ligands. # rc('del :PO4,SO4,DMS,EDO,GOL')