Here is a Python script that helps you calculate the center of mass of a protein using the Pymol [1].
Make sure that you have installed Pymol on your system otherwise, you will get an error stating “No Pymol module found”. If Pymol is not in your path, then run this script from the Pymol directory itself.
import __main__ __main__.pymol_argv = [ 'pymol', '-qc'] #quiet and no GUI import sys, time, os import pymol pymol.finish_launching() ##### Reading user input ##### spath = os.path.abspath(sys.argv[1]) filename = spath.split('/')[-1].split('.')[0] ##### Loading structures ##### pymol.cmd.load(spath, filename) pymol.cmd.disable("all") pymol.cmd.enable(filename) pymol.cmd.centerofmass(filename) ##### Getting output in a file ##### output = pymol.cmd.centerofmass(filename) sys.stdout = open('output.txt','w') print ((filename), (output)) ##### Quiting ##### pymol.cmd.quit()
If you don’t want to write into a file, then comment out the “Getting output in a file” section. It will display the output on the terminal.
Now, save this file. We are saving it as com.py. Run this file as shown below:
$ python com.py <pdb_file>
OR
$ python3 com.py <pdb_file>
If your input PDB file is in different directory, then provide full path to it.
References
- The PyMOL Molecular Graphics System, Version 1.2r3pre, Schrödinger, LLC.