diff options
Diffstat (limited to 'scripts/quick-ligand-protein.py')
-rw-r--r-- | scripts/quick-ligand-protein.py | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/scripts/quick-ligand-protein.py b/scripts/quick-ligand-protein.py new file mode 100644 index 0000000..f2409ef --- /dev/null +++ b/scripts/quick-ligand-protein.py @@ -0,0 +1,99 @@ +import argparse +#import logzero +#import logging +#from logzero import logger as log +import pymol2 +import time + +import os +print(os.getcwd()) + +################# +# Configuration # +################# + +startTime = time.time() +version = "1.0" +desc_text = "PyMol Quick Visualtion " + version +ligandColor = "red" +#logzero.loglevel(logging.INFO) +height = 1000 +width = 800 +dpi = 300 +ray = 0 + + +m1 = "target" +m2 = "ligand" + +parser = argparse.ArgumentParser(description=desc_text) +parser.add_argument("-p","--protein",help="Path to protein file") +parser.add_argument("-l","--ligand",help="Path to ligand_out file") +parser.add_argument("-c","--color",help="Color for ligand in visualisation") + +args = parser.parse_args() + +if args.protein == None: + print("Error: Please specify protein file") + exit(1) +if args.ligand == None: + print("Error: Please specify ligand file") + exit(1) +if args.color == None: + print("No color was speciifed, using default settings.") + +protein = args.protein +print("Protein: ", protein) +ligand = args.ligand + +def loadMol(filename, name): + print("Loading " + filename + " as " + name) + cmd.load(filename,name) +def changeColor(name, colorName): + print("Changed " + name + "'s color to " + colorName) + cmd.color(colorName,name) +def orientEtZoom(): + cmd.orient() + cmd.zoom() +def showSurface(name): + cmd.show("surface",name) +def surfaceTransparency(amount): + print("Changed surface transparency to " + str(amount*100) + "%") + cmd.set("transparency",amount) +def generatePNG(filename,height=height,width=width,dpi=dpi,ray=ray): + print("Generating " + filename + ".png") + cmd.png(filename,height,width,dpi=dpi,ray=ray) +def flipHorizontal(): + cmd.rotate("y",180) +def zoomTo(name): + cmd.zoom(name) +def generatePictures(): + generatePNG('output-front') + #flipHorizontal() + #generatePNG('output-back') + #zoomTo(m2) + #generatePNG('closeup-back') + #orientEtZoom() + #flipHorizontal() + #zoomTo(m2) + #generatePNG('closeup-front') + + +print("Initialising PyMol") +session = pymol2.PyMOL() +print("Starting PyMol Session") +session.start() +cmd = session.cmd + +loadMol(protein,m1) +loadMol(ligand,m2) +changeColor(m1,"grey60") +changeColor(m2,ligandColor) +orientEtZoom() +showSurface(m1) +surfaceTransparency(0.6) + +generatePictures() + +endTime = time.time() +print("Finished Execution in " + str(round((endTime - startTime),2)) + " seconds.")
\ No newline at end of file |