From: Martin H. <ma...@bl...> - 2011-09-15 16:47:30
|
Thanks, I tried to get it to work, here are the codes. Basically, I dont know how I can call the "replacePDBCoords" function and from where. Do I need an HTML form for that? Basic HTML minimal example, displays a Jmol applet with a protein. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script src="./jmolDir/Jmol.js" type="text/javascript"></script> </head> <body> <script type="text/javascript"> jmolInitialize("./jmolDir"); jmolApplet([400,300], 'script "prot.spt"'); </script> <!-- Button here? Like so: <input type="button" onclick="replacePDBCoords('newFile')" --> </body> </html> Here's the prot.spt Jmol script (setting allow rotateSelected): load prot-reo.pdb load APPEND prot-reo.pqr load APPEND nwSurface.xyz //model all select 1.1 ribbon only select 2.1 spacefill 100% frame * select 1.1 or 2.1 set allowRotateSelected True Now how do I make the replacePDBCoords-function available? Basically I was hoping for a button, so once the model is rotated, the user can click the button and the new coordinates are saved. function replacePDBCoords(outFileName) { var oldData = getProperty("fileContents") var atomData = write("PDB") var newData = [] var newpt = 1 var atompt = 1 for (var=1; i<=oldData.length; i++) { var line = oldData[i] newData[newpt++] = (find(line, "ATOM") == 1 || find(line, "HETATM") == 1 ? atomData[atompt++]: line) } write var newData @outFileName } All three scripts are in the same directory and the models are displaying fine in the applet. I'm not a web specialist, but programming as such is fine for me. Still, help is greatly appreciated. Martin |