OK , here my attempt, please have a look at Multiple PyMOL Instances in Python Script and Launching From a Script that explains how this works:
"""
Yes it's possible to have independent instances. The API has actually been
around for a long time. For some reason it was never widely adopted and thus is
not very thoroughly tested. Please report any bugs you encounter.
Example:
"""
import pymol2
p = pymol2.PyMOL()
p.start()
p.cmd.fragment('ala')
p.cmd.show_as('sticks')
p.cmd.zoom()
p.cmd.png('/tmp/ala.png', 1000, 800, dpi=150, ray=1)
p.stop()
Code :
import pymol2
import os
work_dir = "."
file_folders = os.listdir(work_dir)
mol_files = [item for item in file_folders if os.path.isfile(item) and item.rsplit('.')[1] == 'mol']
print(mol_files)
for mol_file in mol_files:
p = pymol2.PyMOL()
p.start()
mol_name = mol_file.rsplit('.')[0]
print(mol_file.rsplit('.')[0])
try :
p.cmd.load(mol_file , mol_name)
p.cmd.hide(representation = 'sticks' , selection = mol_name)
p.cmd.show(representation = 'lines' , selection = mol_name)
p.cmd.do('set ray_opaque_background, 0')
## or to get black background instead of transparent
#p.cmd.bg_color(color="black")
#p.cmd.do('set ray_opaque_background, 1')
p.cmd.orient(mol_name)
p.cmd.png(mol_name+'.png' , dpi = 400, width = 5000, ray = 1)
p.cmd.remove(mol_name)
p.stop()
except :
print('\nError ----> something is wrong with ', mol_name+'.mol file \n')
print('finished ...............................')
Note that the molecules are oriented on the screen by pymol.cm.orient()
that as per the wiki:
orient aligns the principal components of the atoms in the selection with the XYZ axes. T
AS an example here the pic for GLC from Chemical Components in the PDB GLC : Summary
