aboutsummaryrefslogtreecommitdiff
path: root/scripts/quick-ligand-protein.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/quick-ligand-protein.py')
-rw-r--r--scripts/quick-ligand-protein.py99
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