Commit 00b9e8ae authored by jdurrant's avatar jdurrant
Browse files

Updates to documentation, etc.

parent 61315a72
......@@ -33,22 +33,16 @@ Changes
21. Updated documentation.
22. chain and resid now included in output PDB files.
23. Throws a warning when using Python 2. Only Python 3 now offically supported.
24. Added link to the app where users can learn more about how interactions are
detected, advanced parameters.
TODO:
Make sure INTERACTIONS.md mentioned in documentation (throughout). Incorporate
it into the web app too.
Tests on all operating systems (including mobile).
*** Makesure can loadin multipleligands. Probably need to rewritecodethat
triggersbinana run. Also, can run if restart.
And you need a message explaining the difference between delete/extract.
Push updated documentation somewhere.
Push updated documentation somewhere. (just rsync, works).
Add defaults to documentation.
Cruft? Good to check throughout.
2.0
---
......
......@@ -37,6 +37,7 @@ The BINANA Git repository is hosted at
| `./javascript/lib/examples.html` | HTML file, JavaScript-library demo
| `./web_app/` | Web app
| `./web_app/src/` | Web-app source code
| `./INTERACTIONS.md` | Descriptions of the detected interactions.
# Locations of BINANA tutorials
......
......@@ -5,10 +5,10 @@
'use strict';var binana={};import{AssertionError,AttributeError,BaseException,DeprecationWarning,Exception,IndexError,IterableError,KeyError,NotImplementedError,RuntimeWarning,StopIteration,UserWarning,ValueError,Warning,__JsIterator__,__PyIterator__,__Terminal__,__add__,__and__,__call__,__class__,__envir__,__eq__,__floordiv__,__ge__,__get__,__getcm__,__getitem__,__getslice__,__getsm__,__gt__,__i__,__iadd__,__iand__,__idiv__,__ijsmod__,__ilshift__,__imatmul__,__imod__,__imul__,__in__,__init__,__ior__,
__ipow__,__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtrans__,__le__,__lshift__,__lt__,__matmul__,__mergefields__,__mergekwargtrans__,__mod__,__mul__,__ne__,__neg__,__nest__,__or__,__pow__,__pragma__,__proxy__,__pyUseJsNext__,__rshift__,__setitem__,__setproperty__,__setslice__,__sort__,__specialattrib__,__sub__,__super__,__t__,__terminal__,__truediv__,__withblock__,__xor__,abs,all,any,assert,bool,bytearray,bytes,callable,chr,copy,deepcopy,delattr,dict,dir,divmod,enumerate,
filter,float,getattr,hasattr,input,int,isinstance,issubclass,len,list,map,max,min,object,ord,pow,print,property,py_TypeError,py_iter,py_metatype,py_next,py_reversed,py_typeof,range,repr,round,set,setattr,sorted,str,sum,tuple,zip}from"./org.transcrypt.__runtime__.js";import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);import{ACTIVE_SITE_FLEXIBILITY_DIST_CUTOFF,CATION_PI_DIST_CUTOFF,CLOSE_CONTACTS_DIST1_CUTOFF,CLOSE_CONTACTS_DIST2_CUTOFF,ELECTROSTATIC_DIST_CUTOFF,HALOGEN_BOND_DIST_CUTOFF,
HYDROGEN_BOND_DIST_CUTOFF,HYDROGEN_HALOGEN_BOND_ANGLE_CUTOFF,HYDROPHOBIC_DIST_CUTOFF,LIGAND,METAL_COORDINATION_CUTOFF,OUTPUT_CSV,OUTPUT_DIR,OUTPUT_FILE,OUTPUT_JSON,PI_PADDING_DIST,PI_PI_INTERACTING_DIST_CUTOFF,PI_STACKING_ANGLE_TOLERANCE,RECEPTOR,SALT_BRIDGE_DIST_CUTOFF,TEST,T_STACKING_ANGLE_TOLERANCE,T_STACKING_CLOSEST_DIST_CUTOFF}from"./binana.interactions.default_params.js";var __name__="binana._cli_params._get_params";export var sep="/";export var CommandLineParameters=__class__("CommandLineParameters",
HYDROGEN_BOND_DIST_CUTOFF,HYDROGEN_HALOGEN_BOND_ANGLE_CUTOFF,HYDROPHOBIC_DIST_CUTOFF,LIGAND,METAL_COORDINATION_DIST_CUTOFF,OUTPUT_CSV,OUTPUT_DIR,OUTPUT_FILE,OUTPUT_JSON,PI_PADDING_DIST,PI_PI_INTERACTING_DIST_CUTOFF,PI_STACKING_ANGLE_TOLERANCE,RECEPTOR,SALT_BRIDGE_DIST_CUTOFF,TEST,T_STACKING_ANGLE_TOLERANCE,T_STACKING_CLOSEST_DIST_CUTOFF}from"./binana.interactions.default_params.js";var __name__="binana._cli_params._get_params";export var sep="/";export var CommandLineParameters=__class__("CommandLineParameters",
[object],{__module__:__name__,params:dict({}),get is_num(){return __get__(this,function(self,num){try{return float(num)}catch(__except0__){if(isinstance(__except0__,ValueError))return num;else throw __except0__;}})},get __init__(){return __get__(this,function(self,parameters){self.params["close_contacts_dist1_cutoff"]=CLOSE_CONTACTS_DIST1_CUTOFF;self.params["close_contacts_dist2_cutoff"]=CLOSE_CONTACTS_DIST2_CUTOFF;self.params["electrostatic_dist_cutoff"]=ELECTROSTATIC_DIST_CUTOFF;self.params["active_site_flexibility_dist_cutoff"]=
ACTIVE_SITE_FLEXIBILITY_DIST_CUTOFF;self.params["hydrophobic_dist_cutoff"]=HYDROPHOBIC_DIST_CUTOFF;self.params["hydrogen_bond_dist_cutoff"]=HYDROGEN_BOND_DIST_CUTOFF;self.params["hydrogen_halogen_bond_angle_cutoff"]=HYDROGEN_HALOGEN_BOND_ANGLE_CUTOFF;self.params["halogen_bond_dist_cutoff"]=HALOGEN_BOND_DIST_CUTOFF;self.params["pi_padding_dist"]=PI_PADDING_DIST;self.params["pi_pi_interacting_dist_cutoff"]=PI_PI_INTERACTING_DIST_CUTOFF;self.params["pi_stacking_angle_tolerance"]=PI_STACKING_ANGLE_TOLERANCE;
self.params["T_stacking_angle_tolerance"]=T_STACKING_ANGLE_TOLERANCE;self.params["T_stacking_closest_dist_cutoff"]=T_STACKING_CLOSEST_DIST_CUTOFF;self.params["cation_pi_dist_cutoff"]=CATION_PI_DIST_CUTOFF;self.params["salt_bridge_dist_cutoff"]=SALT_BRIDGE_DIST_CUTOFF;self.params["metal_coordination_dist_cutoff"]=METAL_COORDINATION_CUTOFF;self.params["receptor"]=RECEPTOR;self.params["ligand"]=LIGAND;self.params["output_dir"]=OUTPUT_DIR;self.params["output_file"]=OUTPUT_FILE;self.params["output_json"]=
self.params["T_stacking_angle_tolerance"]=T_STACKING_ANGLE_TOLERANCE;self.params["T_stacking_closest_dist_cutoff"]=T_STACKING_CLOSEST_DIST_CUTOFF;self.params["cation_pi_dist_cutoff"]=CATION_PI_DIST_CUTOFF;self.params["salt_bridge_dist_cutoff"]=SALT_BRIDGE_DIST_CUTOFF;self.params["metal_coordination_dist_cutoff"]=METAL_COORDINATION_DIST_CUTOFF;self.params["receptor"]=RECEPTOR;self.params["ligand"]=LIGAND;self.params["output_dir"]=OUTPUT_DIR;self.params["output_file"]=OUTPUT_FILE;self.params["output_json"]=
OUTPUT_JSON;self.params["output_csv"]=OUTPUT_CSV;self.params["test"]=TEST;for(var index=0;index<len(parameters);index++){var item=parameters[index];if(len(item)>0&&item[0]=="-"){var key=item.py_replace("-","");var value=self.is_num(parameters[index+1]);if(__in__(key,list(self.params.py_keys()))){self.params[key]=value;parameters[index]="";parameters[index+1]=""}}}self.error="";for(var index=1;index<len(parameters);index++){var item=parameters[index];if(item!="")self.error=self.error+item+" "}if(self.params["output_dir"]!=
""&&self.params["output_dir"].__getslice__(-1,null,1)!=sep)self.params["output_dir"]=self.params["output_dir"]+sep;var single_output_files=[tuple(["output_file","pdb"]),tuple(["output_json","json"]),tuple(["output_csv","csv"])];for(var [single_output_file,ext]of single_output_files)if(self.params["output_dir"]!=""&&self.params[single_output_file]=="")self.params[single_output_file]=self.params["output_dir"]+"output."+ext})},get okay_to_proceed(){return __get__(this,function(self){return self.params["receptor"]!=
""&&self.params["ligand"]!=""})}});
......
......@@ -9,6 +9,6 @@ __nest__(math,"",__module_math__);import{from_files}from"./binana.load_ligand_re
i[0])&&__in__("cutoff",i[0]))__accu0__.append(i[1]);return py_iter(__accu0__)}())+15;var __left0__=from_files(parameters.params["ligand"],parameters.params["receptor"],max_cutoff);var ligand=__left0__[0];var receptor=__left0__[1];var pi_padding=parameters.params["pi_padding_dist"];var all_interacts=get_all_interactions(ligand,receptor,parameters.params["close_contacts_dist1_cutoff"],parameters.params["close_contacts_dist2_cutoff"],parameters.params["electrostatic_dist_cutoff"],parameters.params["active_site_flexibility_dist_cutoff"],
parameters.params["hydrophobic_dist_cutoff"],parameters.params["hydrogen_bond_dist_cutoff"],parameters.params["hydrogen_halogen_bond_angle_cutoff"],parameters.params["halogen_bond_dist_cutoff"],parameters.params["pi_pi_interacting_dist_cutoff"],parameters.params["pi_stacking_angle_tolerance"],parameters.params["T_stacking_angle_tolerance"],parameters.params["T_stacking_closest_dist_cutoff"],parameters.params["cation_pi_dist_cutoff"],parameters.params["salt_bridge_dist_cutoff"],parameters.params["metal_coordination_dist_cutoff"],
pi_padding);for(var key of all_interacts["cat_pi"]["counts"].py_keys())all_interacts["pi_pi"]["counts"][key]=all_interacts["cat_pi"]["counts"][key];_write_main(parameters,ligand,receptor,all_interacts["closest"],all_interacts["close"],all_interacts["hydrophobics"],all_interacts["hydrogen_bonds"],all_interacts["halogen_bonds"],all_interacts["salt_bridges"],all_interacts["metal_coordinations"],all_interacts["pi_pi"],all_interacts["cat_pi"],all_interacts["electrostatic_energies"],all_interacts["active_site_flexibility"],
all_interacts["ligand_atom_types"])};export var _intro=function(){print("\n [- END INTRO -]\n")};
all_interacts["ligand_atom_types"])};export var _intro=function(){print("# BINANA "+VERSION+"\n");print("\n [- END INTRO -]\n")};
//# sourceMappingURL=binana._start.map
\ No newline at end of file
......@@ -4,7 +4,7 @@
'use strict';var binana={};import{AssertionError,AttributeError,BaseException,DeprecationWarning,Exception,IndexError,IterableError,KeyError,NotImplementedError,RuntimeWarning,StopIteration,UserWarning,ValueError,Warning,__JsIterator__,__PyIterator__,__Terminal__,__add__,__and__,__call__,__class__,__envir__,__eq__,__floordiv__,__ge__,__get__,__getcm__,__getitem__,__getslice__,__getsm__,__gt__,__i__,__iadd__,__iand__,__idiv__,__ijsmod__,__ilshift__,__imatmul__,__imod__,__imul__,__in__,__init__,__ior__,
__ipow__,__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtrans__,__le__,__lshift__,__lt__,__matmul__,__mergefields__,__mergekwargtrans__,__mod__,__mul__,__ne__,__neg__,__nest__,__or__,__pow__,__pragma__,__proxy__,__pyUseJsNext__,__rshift__,__setitem__,__setproperty__,__setslice__,__sort__,__specialattrib__,__sub__,__super__,__t__,__terminal__,__truediv__,__withblock__,__xor__,abs,all,any,assert,bool,bytearray,bytes,callable,chr,copy,deepcopy,delattr,dict,dir,divmod,enumerate,
filter,float,getattr,hasattr,input,int,isinstance,issubclass,len,list,map,max,min,object,ord,pow,print,property,py_TypeError,py_iter,py_metatype,py_next,py_reversed,py_typeof,range,repr,round,set,setattr,sorted,str,sum,tuple,zip}from"./org.transcrypt.__runtime__.js";import{OpenFile}from"./binana._utils.shim.js";import*as shim from"./binana._utils.shim.js";import*as _utils from"./binana._utils.js";import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);export{_utils,shim,
OpenFile};var __name__="binana.fs";export var save_file=function(filename,text){var f=OpenFile(filename,"w");f.write(text);f.close()};export var ls=function(){print(shim.fake_fs.py_keys())};export var load_file=function(filename){var f=OpenFile(filename,"r");var txt=f.read();f.close();return txt};
filter,float,getattr,hasattr,input,int,isinstance,issubclass,len,list,map,max,min,object,ord,pow,print,property,py_TypeError,py_iter,py_metatype,py_next,py_reversed,py_typeof,range,repr,round,set,setattr,sorted,str,sum,tuple,zip}from"./org.transcrypt.__runtime__.js";import{OpenFile}from"./binana._utils.shim.js";import*as shim from"./binana._utils.shim.js";import*as _utils from"./binana._utils.js";import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);export{OpenFile,_utils,
shim};var __name__="binana.fs";export var save_file=function(filename,text){var f=OpenFile(filename,"w");f.write(text);f.close()};export var ls=function(){print(shim.fake_fs.py_keys())};export var load_file=function(filename){var f=OpenFile(filename,"r");var txt=f.read();f.close();return txt};
//# sourceMappingURL=binana.fs.map
\ No newline at end of file
......@@ -5,8 +5,8 @@
'use strict';var binana={};var math={};import{AssertionError,AttributeError,BaseException,DeprecationWarning,Exception,IndexError,IterableError,KeyError,NotImplementedError,RuntimeWarning,StopIteration,UserWarning,ValueError,Warning,__JsIterator__,__PyIterator__,__Terminal__,__add__,__and__,__call__,__class__,__envir__,__eq__,__floordiv__,__ge__,__get__,__getcm__,__getitem__,__getslice__,__getsm__,__gt__,__i__,__iadd__,__iand__,__idiv__,__ijsmod__,__ilshift__,__imatmul__,__imod__,__imul__,__in__,
__init__,__ior__,__ipow__,__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtrans__,__le__,__lshift__,__lt__,__matmul__,__mergefields__,__mergekwargtrans__,__mod__,__mul__,__ne__,__neg__,__nest__,__or__,__pow__,__pragma__,__proxy__,__pyUseJsNext__,__rshift__,__setitem__,__setproperty__,__setslice__,__sort__,__specialattrib__,__sub__,__super__,__t__,__terminal__,__truediv__,__withblock__,__xor__,abs,all,any,assert,bool,bytearray,bytes,callable,chr,copy,deepcopy,delattr,dict,dir,
divmod,enumerate,filter,float,getattr,hasattr,input,int,isinstance,issubclass,len,list,map,max,min,object,ord,pow,print,property,py_TypeError,py_iter,py_metatype,py_next,py_reversed,py_typeof,range,repr,round,set,setattr,sorted,str,sum,tuple,zip}from"./org.transcrypt.__runtime__.js";import{angle_between_three_points}from"./binana._utils._math_functions.js";import{Mol}from"./binana._structure.mol.js";import{hashtable_entry_add_one,list_alphebetize_and_combine}from"./binana._utils.utils.js";import{_get_ligand_receptor_dists}from"./binana.load_ligand_receptor.js";
import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);import{METAL_COORDINATION_CUTOFF}from"./binana.interactions.default_params.js";import{_set_default}from"./binana._utils.shim.js";import*as __module_math__ from"./math.js";__nest__(math,"",__module_math__);var __name__="binana.interactions._metal_coordination";export var get_metal_coordination=function(ligand,receptor,cutoff){if(typeof cutoff=="undefined"||cutoff!=null&&cutoff.hasOwnProperty("__kwargtrans__"))var cutoff=
null;var cutoff=_set_default(cutoff,METAL_COORDINATION_CUTOFF);var metals=["Ac","Ag","Al","Am","Au","Ba","Be","Bi","Bk","Ca","Co","Cu","Db","Dy","Er","Es","Eu","Fe","Ga","Gd","Ge","La","Lr","Lu","Md","Mg","Mn","Mo","Ni","Pb","Ra","Re","Rf","Rh","Ru","Ta","Tb","Tc","Th","Ti","Tl","Tm","Yb","Zn","Zr"];for(var m of metals.__getslice__(0,null,1))metals.append(m.upper());var coord_lig_atoms=["N","O","Cl","F","Br","I","CL","BR","S"];var atoms_together=metals.__getslice__(0,null,1);atoms_together.extend(coord_lig_atoms);
import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);import{METAL_COORDINATION_DIST_CUTOFF}from"./binana.interactions.default_params.js";import{_set_default}from"./binana._utils.shim.js";import*as __module_math__ from"./math.js";__nest__(math,"",__module_math__);var __name__="binana.interactions._metal_coordination";export var get_metal_coordination=function(ligand,receptor,cutoff){if(typeof cutoff=="undefined"||cutoff!=null&&cutoff.hasOwnProperty("__kwargtrans__"))var cutoff=
null;var cutoff=_set_default(cutoff,METAL_COORDINATION_DIST_CUTOFF);var metals=["Ac","Ag","Al","Am","Au","Ba","Be","Bi","Bk","Ca","Co","Cu","Db","Dy","Er","Es","Eu","Fe","Ga","Gd","Ge","La","Lr","Lu","Md","Mg","Mn","Mo","Ni","Pb","Ra","Re","Rf","Rh","Ru","Ta","Tb","Tc","Th","Ti","Tl","Tm","Yb","Zn","Zr"];for(var m of metals.__getslice__(0,null,1))metals.append(m.upper());var coord_lig_atoms=["N","O","Cl","F","Br","I","CL","BR","S"];var atoms_together=metals.__getslice__(0,null,1);atoms_together.extend(coord_lig_atoms);
var metal_coord_dists=_get_ligand_receptor_dists(ligand,receptor,cutoff,atoms_together);var atom_type_counts=dict({});var pdb_metal_coordinations=Mol();var metal_coordinations_labels=[];for(var [ligand_atom,receptor_atom,dist]of metal_coord_dists)if(__in__(ligand_atom.element,metals)&&!__in__(receptor_atom.element,metals)||!__in__(ligand_atom.element,metals)&&__in__(receptor_atom.element,metals)){pdb_metal_coordinations.add_new_atom(ligand_atom.copy_of());pdb_metal_coordinations.add_new_atom(receptor_atom.copy_of());
var list_metal_atom=[ligand_atom.atom_type,receptor_atom.atom_type];hashtable_entry_add_one(atom_type_counts,list_alphebetize_and_combine(list_metal_atom));metal_coordinations_labels.append(tuple([ligand_atom.string_id(),receptor_atom.string_id(),dict({"distance":dist})]))}return dict({"counts":atom_type_counts,"mol":pdb_metal_coordinations,"labels":metal_coordinations_labels})};
......
......@@ -5,7 +5,7 @@
'use strict';import{AssertionError,AttributeError,BaseException,DeprecationWarning,Exception,IndexError,IterableError,KeyError,NotImplementedError,RuntimeWarning,StopIteration,UserWarning,ValueError,Warning,__JsIterator__,__PyIterator__,__Terminal__,__add__,__and__,__call__,__class__,__envir__,__eq__,__floordiv__,__ge__,__get__,__getcm__,__getitem__,__getslice__,__getsm__,__gt__,__i__,__iadd__,__iand__,__idiv__,__ijsmod__,__ilshift__,__imatmul__,__imod__,__imul__,__in__,__init__,__ior__,__ipow__,
__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtrans__,__le__,__lshift__,__lt__,__matmul__,__mergefields__,__mergekwargtrans__,__mod__,__mul__,__ne__,__neg__,__nest__,__or__,__pow__,__pragma__,__proxy__,__pyUseJsNext__,__rshift__,__setitem__,__setproperty__,__setslice__,__sort__,__specialattrib__,__sub__,__super__,__t__,__terminal__,__truediv__,__withblock__,__xor__,abs,all,any,assert,bool,bytearray,bytes,callable,chr,copy,deepcopy,delattr,dict,dir,divmod,enumerate,filter,float,
getattr,hasattr,input,int,isinstance,issubclass,len,list,map,max,min,object,ord,pow,print,property,py_TypeError,py_iter,py_metatype,py_next,py_reversed,py_typeof,range,repr,round,set,setattr,sorted,str,sum,tuple,zip}from"./org.transcrypt.__runtime__.js";var __name__="binana.interactions.default_params";export var CLOSE_CONTACTS_DIST1_CUTOFF=2.5;export var CLOSE_CONTACTS_DIST2_CUTOFF=4;export var ELECTROSTATIC_DIST_CUTOFF=4;export var ACTIVE_SITE_FLEXIBILITY_DIST_CUTOFF=4;export var HYDROPHOBIC_DIST_CUTOFF=
4;export var HYDROGEN_BOND_DIST_CUTOFF=4;export var HYDROGEN_HALOGEN_BOND_ANGLE_CUTOFF=40;export var HALOGEN_BOND_DIST_CUTOFF=5.5;export var PI_PADDING_DIST=.75;export var PI_PI_INTERACTING_DIST_CUTOFF=7.5;export var PI_STACKING_ANGLE_TOLERANCE=30;export var T_STACKING_ANGLE_TOLERANCE=30;export var T_STACKING_CLOSEST_DIST_CUTOFF=5;export var CATION_PI_DIST_CUTOFF=6;export var SALT_BRIDGE_DIST_CUTOFF=5.5;export var METAL_COORDINATION_CUTOFF=3.5;export var RECEPTOR="";export var LIGAND="";export var OUTPUT_DIR=
4;export var HYDROGEN_BOND_DIST_CUTOFF=4;export var HYDROGEN_HALOGEN_BOND_ANGLE_CUTOFF=40;export var HALOGEN_BOND_DIST_CUTOFF=5.5;export var PI_PADDING_DIST=.75;export var PI_PI_INTERACTING_DIST_CUTOFF=7.5;export var PI_STACKING_ANGLE_TOLERANCE=30;export var T_STACKING_ANGLE_TOLERANCE=30;export var T_STACKING_CLOSEST_DIST_CUTOFF=5;export var CATION_PI_DIST_CUTOFF=6;export var SALT_BRIDGE_DIST_CUTOFF=5.5;export var METAL_COORDINATION_DIST_CUTOFF=3.5;export var RECEPTOR="";export var LIGAND="";export var OUTPUT_DIR=
"";export var OUTPUT_FILE="";export var OUTPUT_JSON="";export var OUTPUT_CSV="";export var TEST=false;
//# sourceMappingURL=binana.interactions.default_params.map
\ No newline at end of file
......@@ -4,13 +4,13 @@
'use strict';var binana={};import{AssertionError,AttributeError,BaseException,DeprecationWarning,Exception,IndexError,IterableError,KeyError,NotImplementedError,RuntimeWarning,StopIteration,UserWarning,ValueError,Warning,__JsIterator__,__PyIterator__,__Terminal__,__add__,__and__,__call__,__class__,__envir__,__eq__,__floordiv__,__ge__,__get__,__getcm__,__getitem__,__getslice__,__getsm__,__gt__,__i__,__iadd__,__iand__,__idiv__,__ijsmod__,__ilshift__,__imatmul__,__imod__,__imul__,__in__,__init__,__ior__,
__ipow__,__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtrans__,__le__,__lshift__,__lt__,__matmul__,__mergefields__,__mergekwargtrans__,__mod__,__mul__,__ne__,__neg__,__nest__,__or__,__pow__,__pragma__,__proxy__,__pyUseJsNext__,__rshift__,__setitem__,__setproperty__,__setslice__,__sort__,__specialattrib__,__sub__,__super__,__t__,__terminal__,__truediv__,__withblock__,__xor__,abs,all,any,assert,bool,bytearray,bytes,callable,chr,copy,deepcopy,delattr,dict,dir,divmod,enumerate,
filter,float,getattr,hasattr,input,int,isinstance,issubclass,len,list,map,max,min,object,ord,pow,print,property,py_TypeError,py_iter,py_metatype,py_next,py_reversed,py_typeof,range,repr,round,set,setattr,sorted,str,sum,tuple,zip}from"./org.transcrypt.__runtime__.js";import{METAL_COORDINATION_CUTOFF}from"./binana.interactions.default_params.js";import*as _metal_coordination from"./binana.interactions._metal_coordination.js";import*as _closest from"./binana.interactions._closest.js";import*as _close from"./binana.interactions._close.js";
filter,float,getattr,hasattr,input,int,isinstance,issubclass,len,list,map,max,min,object,ord,pow,print,property,py_TypeError,py_iter,py_metatype,py_next,py_reversed,py_typeof,range,repr,round,set,setattr,sorted,str,sum,tuple,zip}from"./org.transcrypt.__runtime__.js";import{METAL_COORDINATION_DIST_CUTOFF}from"./binana.interactions.default_params.js";import*as _metal_coordination from"./binana.interactions._metal_coordination.js";import*as _closest from"./binana.interactions._closest.js";import*as _close from"./binana.interactions._close.js";
import*as _electrostatic_energies from"./binana.interactions._electrostatic_energies.js";import*as _flexibility from"./binana.interactions._flexibility.js";import*as _hydrophobics from"./binana.interactions._hydrophobics.js";import*as _hydrogen_halogen_bonds from"./binana.interactions._hydrogen_halogen_bonds.js";import*as _ligand_atom_types from"./binana.interactions._ligand_atom_types.js";import*as _pi_pi from"./binana.interactions._pi_pi.js";import*as _salt_bridges from"./binana.interactions._salt_bridges.js";
import*as _cat_pi from"./binana.interactions._cat_pi.js";import*as __module_binana_interactions__ from"./binana.interactions.js";__nest__(binana,"interactions",__module_binana_interactions__);import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);import{ACTIVE_SITE_FLEXIBILITY_DIST_CUTOFF,CATION_PI_DIST_CUTOFF,CLOSE_CONTACTS_DIST1_CUTOFF,CLOSE_CONTACTS_DIST2_CUTOFF,ELECTROSTATIC_DIST_CUTOFF,HALOGEN_BOND_DIST_CUTOFF,HYDROGEN_BOND_DIST_CUTOFF,HYDROGEN_HALOGEN_BOND_ANGLE_CUTOFF,
HYDROPHOBIC_DIST_CUTOFF,PI_PADDING_DIST,PI_PI_INTERACTING_DIST_CUTOFF,PI_STACKING_ANGLE_TOLERANCE,SALT_BRIDGE_DIST_CUTOFF,T_STACKING_ANGLE_TOLERANCE,T_STACKING_CLOSEST_DIST_CUTOFF}from"./binana.interactions.default_params.js";import{_set_default}from"./binana._utils.shim.js";import*as default_params from"./binana.interactions.default_params.js";export{CLOSE_CONTACTS_DIST2_CUTOFF,_hydrogen_halogen_bonds,_set_default,HALOGEN_BOND_DIST_CUTOFF,_cat_pi,ACTIVE_SITE_FLEXIBILITY_DIST_CUTOFF,_ligand_atom_types,
PI_PADDING_DIST,METAL_COORDINATION_CUTOFF,T_STACKING_CLOSEST_DIST_CUTOFF,default_params,_closest,_close,CATION_PI_DIST_CUTOFF,ELECTROSTATIC_DIST_CUTOFF,SALT_BRIDGE_DIST_CUTOFF,_flexibility,_salt_bridges,_pi_pi,_metal_coordination,HYDROGEN_HALOGEN_BOND_ANGLE_CUTOFF,PI_STACKING_ANGLE_TOLERANCE,CLOSE_CONTACTS_DIST1_CUTOFF,HYDROPHOBIC_DIST_CUTOFF,T_STACKING_ANGLE_TOLERANCE,_hydrophobics,_electrostatic_energies,PI_PI_INTERACTING_DIST_CUTOFF,HYDROGEN_BOND_DIST_CUTOFF};var __name__="binana.interactions";
export var get_cation_pi=function(ligand,receptor,cutoff,pi_padding){if(typeof cutoff=="undefined"||cutoff!=null&&cutoff.hasOwnProperty("__kwargtrans__"))var cutoff=null;if(typeof pi_padding=="undefined"||pi_padding!=null&&pi_padding.hasOwnProperty("__kwargtrans__"))var pi_padding=null;var cutoff=_set_default(cutoff,CATION_PI_DIST_CUTOFF);var pi_padding=_set_default(pi_padding,PI_PADDING_DIST);return _cat_pi.get_cation_pi(ligand,receptor,cutoff,pi_padding)};export var get_salt_bridges=function(ligand,
receptor,cutoff){if(typeof cutoff=="undefined"||cutoff!=null&&cutoff.hasOwnProperty("__kwargtrans__"))var cutoff=null;var cutoff=_set_default(cutoff,SALT_BRIDGE_DIST_CUTOFF);return _salt_bridges.get_salt_bridges(ligand,receptor,cutoff)};export var get_pi_pi=function(ligand,receptor,pi_pi_general_dist_cutoff,pi_stacking_angle_tol,t_stacking_angle_tol,t_stacking_closest_dist_cutoff,pi_padding){if(typeof pi_pi_general_dist_cutoff=="undefined"||pi_pi_general_dist_cutoff!=null&&pi_pi_general_dist_cutoff.hasOwnProperty("__kwargtrans__"))var pi_pi_general_dist_cutoff=
HYDROPHOBIC_DIST_CUTOFF,PI_PADDING_DIST,PI_PI_INTERACTING_DIST_CUTOFF,PI_STACKING_ANGLE_TOLERANCE,SALT_BRIDGE_DIST_CUTOFF,T_STACKING_ANGLE_TOLERANCE,T_STACKING_CLOSEST_DIST_CUTOFF}from"./binana.interactions.default_params.js";import{_set_default}from"./binana._utils.shim.js";import*as default_params from"./binana.interactions.default_params.js";export{_hydrophobics,SALT_BRIDGE_DIST_CUTOFF,_closest,HYDROPHOBIC_DIST_CUTOFF,_ligand_atom_types,ELECTROSTATIC_DIST_CUTOFF,HALOGEN_BOND_DIST_CUTOFF,_electrostatic_energies,
HYDROGEN_BOND_DIST_CUTOFF,HYDROGEN_HALOGEN_BOND_ANGLE_CUTOFF,PI_PI_INTERACTING_DIST_CUTOFF,default_params,_metal_coordination,PI_STACKING_ANGLE_TOLERANCE,_hydrogen_halogen_bonds,_salt_bridges,_cat_pi,CATION_PI_DIST_CUTOFF,PI_PADDING_DIST,_set_default,_close,METAL_COORDINATION_DIST_CUTOFF,_pi_pi,T_STACKING_ANGLE_TOLERANCE,CLOSE_CONTACTS_DIST2_CUTOFF,T_STACKING_CLOSEST_DIST_CUTOFF,CLOSE_CONTACTS_DIST1_CUTOFF,ACTIVE_SITE_FLEXIBILITY_DIST_CUTOFF,_flexibility};var __name__="binana.interactions";export var get_cation_pi=
function(ligand,receptor,cutoff,pi_padding){if(typeof cutoff=="undefined"||cutoff!=null&&cutoff.hasOwnProperty("__kwargtrans__"))var cutoff=null;if(typeof pi_padding=="undefined"||pi_padding!=null&&pi_padding.hasOwnProperty("__kwargtrans__"))var pi_padding=null;var cutoff=_set_default(cutoff,CATION_PI_DIST_CUTOFF);var pi_padding=_set_default(pi_padding,PI_PADDING_DIST);return _cat_pi.get_cation_pi(ligand,receptor,cutoff,pi_padding)};export var get_salt_bridges=function(ligand,receptor,cutoff){if(typeof cutoff==
"undefined"||cutoff!=null&&cutoff.hasOwnProperty("__kwargtrans__"))var cutoff=null;var cutoff=_set_default(cutoff,SALT_BRIDGE_DIST_CUTOFF);return _salt_bridges.get_salt_bridges(ligand,receptor,cutoff)};export var get_pi_pi=function(ligand,receptor,pi_pi_general_dist_cutoff,pi_stacking_angle_tol,t_stacking_angle_tol,t_stacking_closest_dist_cutoff,pi_padding){if(typeof pi_pi_general_dist_cutoff=="undefined"||pi_pi_general_dist_cutoff!=null&&pi_pi_general_dist_cutoff.hasOwnProperty("__kwargtrans__"))var pi_pi_general_dist_cutoff=
null;if(typeof pi_stacking_angle_tol=="undefined"||pi_stacking_angle_tol!=null&&pi_stacking_angle_tol.hasOwnProperty("__kwargtrans__"))var pi_stacking_angle_tol=null;if(typeof t_stacking_angle_tol=="undefined"||t_stacking_angle_tol!=null&&t_stacking_angle_tol.hasOwnProperty("__kwargtrans__"))var t_stacking_angle_tol=null;if(typeof t_stacking_closest_dist_cutoff=="undefined"||t_stacking_closest_dist_cutoff!=null&&t_stacking_closest_dist_cutoff.hasOwnProperty("__kwargtrans__"))var t_stacking_closest_dist_cutoff=
null;if(typeof pi_padding=="undefined"||pi_padding!=null&&pi_padding.hasOwnProperty("__kwargtrans__"))var pi_padding=null;var pi_pi_general_dist_cutoff=_set_default(pi_pi_general_dist_cutoff,PI_PI_INTERACTING_DIST_CUTOFF);var pi_stacking_angle_tol=_set_default(pi_stacking_angle_tol,PI_STACKING_ANGLE_TOLERANCE);var t_stacking_angle_tol=_set_default(t_stacking_angle_tol,T_STACKING_ANGLE_TOLERANCE);var t_stacking_closest_dist_cutoff=_set_default(t_stacking_closest_dist_cutoff,T_STACKING_CLOSEST_DIST_CUTOFF);
var pi_padding=_set_default(pi_padding,PI_PADDING_DIST);return _pi_pi.get_pi_pi(ligand,receptor,pi_pi_general_dist_cutoff,pi_stacking_angle_tol,t_stacking_angle_tol,t_stacking_closest_dist_cutoff,pi_padding)};export var get_ligand_atom_types=function(ligand){return _ligand_atom_types.get_ligand_atom_types(ligand)};export var get_hydrogen_bonds=function(ligand,receptor,dist_cutoff,angle_cutoff){if(typeof dist_cutoff=="undefined"||dist_cutoff!=null&&dist_cutoff.hasOwnProperty("__kwargtrans__"))var dist_cutoff=
......@@ -19,7 +19,7 @@ dist_cutoff.hasOwnProperty("__kwargtrans__"))var dist_cutoff=null;if(typeof angl
"undefined"||cutoff!=null&&cutoff.hasOwnProperty("__kwargtrans__"))var cutoff=null;var cutoff=_set_default(cutoff,HYDROPHOBIC_DIST_CUTOFF);return _hydrophobics.get_hydrophobics(ligand,receptor,cutoff)};export var get_active_site_flexibility=function(ligand,receptor,cutoff){if(typeof cutoff=="undefined"||cutoff!=null&&cutoff.hasOwnProperty("__kwargtrans__"))var cutoff=null;var cutoff=_set_default(cutoff,ACTIVE_SITE_FLEXIBILITY_DIST_CUTOFF);return _flexibility.get_flexibility(ligand,receptor,cutoff)};
export var get_electrostatic_energies=function(ligand,receptor,cutoff){if(typeof cutoff=="undefined"||cutoff!=null&&cutoff.hasOwnProperty("__kwargtrans__"))var cutoff=null;var cutoff=_set_default(cutoff,ELECTROSTATIC_DIST_CUTOFF);return _electrostatic_energies.get_electrostatic_energies(ligand,receptor,cutoff)};export var get_close=function(ligand,receptor,cutoff){if(typeof cutoff=="undefined"||cutoff!=null&&cutoff.hasOwnProperty("__kwargtrans__"))var cutoff=null;var cutoff=_set_default(cutoff,CLOSE_CONTACTS_DIST2_CUTOFF);
return _close.get_close(ligand,receptor,cutoff)};export var get_closest=function(ligand,receptor,cutoff){if(typeof cutoff=="undefined"||cutoff!=null&&cutoff.hasOwnProperty("__kwargtrans__"))var cutoff=null;var cutoff=_set_default(cutoff,CLOSE_CONTACTS_DIST1_CUTOFF);return _closest.get_closest(ligand,receptor,cutoff)};export var get_metal_coordinations=function(ligand,receptor,cutoff){if(typeof cutoff=="undefined"||cutoff!=null&&cutoff.hasOwnProperty("__kwargtrans__"))var cutoff=null;var cutoff=_set_default(cutoff,
METAL_COORDINATION_CUTOFF);return _metal_coordination.get_metal_coordination(ligand,receptor,cutoff)};export var get_all_interactions=function(ligand,receptor,closest_dist_cutoff,close_dist_cutoff,electrostatic_dist_cutoff,active_site_flexibility_dist_cutoff,hydrophobic_dist_cutoff,hydrogen_bond_dist_cutoff,hydrogen_halogen_bond_angle_cutoff,halogen_bond_dist_cutoff,pi_pi_general_dist_cutoff,pi_stacking_angle_tol,t_stacking_angle_tol,t_stacking_closest_dist_cutoff,cation_pi_dist_cutoff,salt_bridge_dist_cutoff,
METAL_COORDINATION_DIST_CUTOFF);return _metal_coordination.get_metal_coordination(ligand,receptor,cutoff)};export var get_all_interactions=function(ligand,receptor,closest_dist_cutoff,close_dist_cutoff,electrostatic_dist_cutoff,active_site_flexibility_dist_cutoff,hydrophobic_dist_cutoff,hydrogen_bond_dist_cutoff,hydrogen_halogen_bond_angle_cutoff,halogen_bond_dist_cutoff,pi_pi_general_dist_cutoff,pi_stacking_angle_tol,t_stacking_angle_tol,t_stacking_closest_dist_cutoff,cation_pi_dist_cutoff,salt_bridge_dist_cutoff,
metal_coordination_dist_cutoff,pi_padding){if(typeof closest_dist_cutoff=="undefined"||closest_dist_cutoff!=null&&closest_dist_cutoff.hasOwnProperty("__kwargtrans__"))var closest_dist_cutoff=null;if(typeof close_dist_cutoff=="undefined"||close_dist_cutoff!=null&&close_dist_cutoff.hasOwnProperty("__kwargtrans__"))var close_dist_cutoff=null;if(typeof electrostatic_dist_cutoff=="undefined"||electrostatic_dist_cutoff!=null&&electrostatic_dist_cutoff.hasOwnProperty("__kwargtrans__"))var electrostatic_dist_cutoff=
null;if(typeof active_site_flexibility_dist_cutoff=="undefined"||active_site_flexibility_dist_cutoff!=null&&active_site_flexibility_dist_cutoff.hasOwnProperty("__kwargtrans__"))var active_site_flexibility_dist_cutoff=null;if(typeof hydrophobic_dist_cutoff=="undefined"||hydrophobic_dist_cutoff!=null&&hydrophobic_dist_cutoff.hasOwnProperty("__kwargtrans__"))var hydrophobic_dist_cutoff=null;if(typeof hydrogen_bond_dist_cutoff=="undefined"||hydrogen_bond_dist_cutoff!=null&&hydrogen_bond_dist_cutoff.hasOwnProperty("__kwargtrans__"))var hydrogen_bond_dist_cutoff=
null;if(typeof hydrogen_halogen_bond_angle_cutoff=="undefined"||hydrogen_halogen_bond_angle_cutoff!=null&&hydrogen_halogen_bond_angle_cutoff.hasOwnProperty("__kwargtrans__"))var hydrogen_halogen_bond_angle_cutoff=null;if(typeof halogen_bond_dist_cutoff=="undefined"||halogen_bond_dist_cutoff!=null&&halogen_bond_dist_cutoff.hasOwnProperty("__kwargtrans__"))var halogen_bond_dist_cutoff=null;if(typeof pi_pi_general_dist_cutoff=="undefined"||pi_pi_general_dist_cutoff!=null&&pi_pi_general_dist_cutoff.hasOwnProperty("__kwargtrans__"))var pi_pi_general_dist_cutoff=
......
......@@ -5,7 +5,7 @@
'use strict';var binana={};import{AssertionError,AttributeError,BaseException,DeprecationWarning,Exception,IndexError,IterableError,KeyError,NotImplementedError,RuntimeWarning,StopIteration,UserWarning,ValueError,Warning,__JsIterator__,__PyIterator__,__Terminal__,__add__,__and__,__call__,__class__,__envir__,__eq__,__floordiv__,__ge__,__get__,__getcm__,__getitem__,__getslice__,__getsm__,__gt__,__i__,__iadd__,__iand__,__idiv__,__ijsmod__,__ilshift__,__imatmul__,__imod__,__imul__,__in__,__init__,__ior__,
__ipow__,__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtrans__,__le__,__lshift__,__lt__,__matmul__,__mergefields__,__mergekwargtrans__,__mod__,__mul__,__ne__,__neg__,__nest__,__or__,__pow__,__pragma__,__proxy__,__pyUseJsNext__,__rshift__,__setitem__,__setproperty__,__setslice__,__sort__,__specialattrib__,__sub__,__super__,__t__,__terminal__,__truediv__,__withblock__,__xor__,abs,all,any,assert,bool,bytearray,bytes,callable,chr,copy,deepcopy,delattr,dict,dir,divmod,enumerate,
filter,float,getattr,hasattr,input,int,isinstance,issubclass,len,list,map,max,min,object,ord,pow,print,property,py_TypeError,py_iter,py_metatype,py_next,py_reversed,py_typeof,range,repr,round,set,setattr,sorted,str,sum,tuple,zip}from"./org.transcrypt.__runtime__.js";import*as _get_params from"./binana._cli_params._get_params.js";import*as _start from"./binana._start.js";import*as output from"./binana.output.js";import*as interactions from"./binana.interactions.js";import*as load_ligand_receptor from"./binana.load_ligand_receptor.js";
import*as fs from"./binana.fs.js";import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);export{interactions,_get_params,load_ligand_receptor,output,_start,fs};var __name__="__main__";export var _sys=binana.sys;export var run=function(args){if(typeof args=="undefined"||args!=null&&args.hasOwnProperty("__kwargtrans__"))var args=null;console.warn("You probably don't want to call this using JavaScript (Python-only function).");if(args===null)var args=_sys.argv.__getslice__(0,
import*as fs from"./binana.fs.js";import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);export{_get_params,interactions,_start,load_ligand_receptor,fs,output};var __name__="__main__";export var _sys=binana.sys;export var run=function(args){if(typeof args=="undefined"||args!=null&&args.hasOwnProperty("__kwargtrans__"))var args=null;console.warn("You probably don't want to call this using JavaScript (Python-only function).");if(args===null)var args=_sys.argv.__getslice__(0,
null,1);else for(var [i,a]of enumerate(args))args[i]=str(a);var cmd_params=_get_params.CommandLineParameters(args);if(cmd_params.params["test"])return;else if(cmd_params.okay_to_proceed()==false){print("Error: You need to specify the ligand and receptor PDBQT files to analyze using\nthe -receptor and -ligand tags from the command line.\n");_sys.exit(0);return}if(cmd_params.error!=""){print("Warning: The following command-line parameters were not recognized:");print(" "+cmd_params.error+"\n")}_start._get_all_interactions(cmd_params)};
//# sourceMappingURL=binana.map
\ No newline at end of file
......@@ -5,7 +5,7 @@
'use strict';var binana={};import{AssertionError,AttributeError,BaseException,DeprecationWarning,Exception,IndexError,IterableError,KeyError,NotImplementedError,RuntimeWarning,StopIteration,UserWarning,ValueError,Warning,__JsIterator__,__PyIterator__,__Terminal__,__add__,__and__,__call__,__class__,__envir__,__eq__,__floordiv__,__ge__,__get__,__getcm__,__getitem__,__getslice__,__getsm__,__gt__,__i__,__iadd__,__iand__,__idiv__,__ijsmod__,__ilshift__,__imatmul__,__imod__,__imul__,__in__,__init__,__ior__,
__ipow__,__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtrans__,__le__,__lshift__,__lt__,__matmul__,__mergefields__,__mergekwargtrans__,__mod__,__mul__,__ne__,__neg__,__nest__,__or__,__pow__,__pragma__,__proxy__,__pyUseJsNext__,__rshift__,__setitem__,__setproperty__,__setslice__,__sort__,__specialattrib__,__sub__,__super__,__t__,__terminal__,__truediv__,__withblock__,__xor__,abs,all,any,assert,bool,bytearray,bytes,callable,chr,copy,deepcopy,delattr,dict,dir,divmod,enumerate,
filter,float,getattr,hasattr,input,int,isinstance,issubclass,len,list,map,max,min,object,ord,pow,print,property,py_TypeError,py_iter,py_metatype,py_next,py_reversed,py_typeof,range,repr,round,set,setattr,sorted,str,sum,tuple,zip}from"./org.transcrypt.__runtime__.js";import*as _math_functions from"./binana._utils._math_functions.js";import{Mol as _Mol}from"./binana._structure.mol.js";import{Point as _Point}from"./binana._structure.point.js";import{pi,sqrt}from"./math.js";import*as __module_binana__ from"./binana.js";
__nest__(binana,"",__module_binana__);export{sqrt,_Mol,_math_functions,_Point,pi};var __name__="binana.load_ligand_receptor";export var _ligand_receptor_dists_cache=dict({});export var _ligand_receptor_aromatic_dists=null;export var from_texts=function(ligand_text,receptor_text,max_cutoff){if(typeof max_cutoff=="undefined"||max_cutoff!=null&&max_cutoff.hasOwnProperty("__kwargtrans__"))var max_cutoff=null;var ligand=_Mol();ligand.load_pdb_from_text(ligand_text);var receptor=_Mol();if(max_cutoff===
__nest__(binana,"",__module_binana__);export{_Mol,_math_functions,sqrt,_Point,pi};var __name__="binana.load_ligand_receptor";export var _ligand_receptor_dists_cache=dict({});export var _ligand_receptor_aromatic_dists=null;export var from_texts=function(ligand_text,receptor_text,max_cutoff){if(typeof max_cutoff=="undefined"||max_cutoff!=null&&max_cutoff.hasOwnProperty("__kwargtrans__"))var max_cutoff=null;var ligand=_Mol();ligand.load_pdb_from_text(ligand_text);var receptor=_Mol();if(max_cutoff===
null)receptor.load_pdb_from_text(receptor_text);else receptor.load_pdb_from_text(receptor_text,null,ligand.min_x-max_cutoff,ligand.max_x+max_cutoff,ligand.min_y-max_cutoff,ligand.max_y+max_cutoff,ligand.min_z-max_cutoff,ligand.max_z+max_cutoff);receptor.assign_secondary_structure();_clear_cache();return tuple([ligand,receptor])};export var from_files=function(ligand_filename,receptor_filename,max_cutoff){if(typeof max_cutoff=="undefined"||max_cutoff!=null&&max_cutoff.hasOwnProperty("__kwargtrans__"))var max_cutoff=
null;var ligand=_Mol();ligand.load_pdb_file(ligand_filename);var receptor=_Mol();if(max_cutoff===null)receptor.load_pdb_file(receptor_filename);else receptor.load_pdb_file(receptor_filename,ligand.min_x-max_cutoff,ligand.max_x+max_cutoff,ligand.min_y-max_cutoff,ligand.max_y+max_cutoff,ligand.min_z-max_cutoff,ligand.max_z+max_cutoff);receptor.assign_secondary_structure();_clear_cache();return tuple([ligand,receptor])};export var _clear_cache=function(){_ligand_receptor_dists_cache=dict({});_ligand_receptor_aromatic_dists=
null};export var _get_coor_mol_dists=function(atom,coor,mol_all_atoms,max_dist_sqr,dist_inf_list){for(var mol_atom of mol_all_atoms){var mol_coor=mol_atom.coordinates;var delta_x=mol_coor.x-coor.x;var summed=delta_x*delta_x;if(summed>max_dist_sqr)continue;var delta_y=mol_coor.y-coor.y;summed+=delta_y*delta_y;if(summed>max_dist_sqr)continue;var delta_z=mol_coor.z-coor.z;summed+=delta_z*delta_z;if(summed>max_dist_sqr)continue;var dist=sqrt(summed);var val=tuple([atom,mol_atom,dist]);dist_inf_list.append(val)}};
......
......@@ -5,7 +5,7 @@
'use strict';var binana={};import{AssertionError,AttributeError,BaseException,DeprecationWarning,Exception,IndexError,IterableError,KeyError,NotImplementedError,RuntimeWarning,StopIteration,UserWarning,ValueError,Warning,__JsIterator__,__PyIterator__,__Terminal__,__add__,__and__,__call__,__class__,__envir__,__eq__,__floordiv__,__ge__,__get__,__getcm__,__getitem__,__getslice__,__getsm__,__gt__,__i__,__iadd__,__iand__,__idiv__,__ijsmod__,__ilshift__,__imatmul__,__imod__,__imul__,__in__,__init__,__ior__,
__ipow__,__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtrans__,__le__,__lshift__,__lt__,__matmul__,__mergefields__,__mergekwargtrans__,__mod__,__mul__,__ne__,__neg__,__nest__,__or__,__pow__,__pragma__,__proxy__,__pyUseJsNext__,__rshift__,__setitem__,__setproperty__,__setslice__,__sort__,__specialattrib__,__sub__,__super__,__t__,__terminal__,__truediv__,__withblock__,__xor__,abs,all,any,assert,bool,bytearray,bytes,callable,chr,copy,deepcopy,delattr,dict,dir,divmod,enumerate,
filter,float,getattr,hasattr,input,int,isinstance,issubclass,len,list,map,max,min,object,ord,pow,print,property,py_TypeError,py_iter,py_metatype,py_next,py_reversed,py_typeof,range,repr,round,set,setattr,sorted,str,sum,tuple,zip}from"./org.transcrypt.__runtime__.js";import*as shim from"./binana._utils.shim.js";import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);import*as vmd_state from"./binana.output._directory.vmd_state.js";import*as pdbs from"./binana.output._directory.pdbs.js";
export{pdbs,vmd_state,shim};var __name__="binana.output._directory";export var os=shim;export var make_directory_output=function(parameters,closest,close,active_site_flexibility,hydrophobics,hydrogen_bonds,halogen_bonds,pi_pi,cat_pi,salt_bridges,metal_coordinations,ligand,receptor){if(!os.path.exists(parameters.params["output_dir"]))os.mkdir(parameters.params["output_dir"]);binana.output._directory.pdbs.output_dir_pdbs(closest["mol"],parameters,close["mol"],active_site_flexibility["mols"]["alpha_helix"],
export{pdbs,shim,vmd_state};var __name__="binana.output._directory";export var os=shim;export var make_directory_output=function(parameters,closest,close,active_site_flexibility,hydrophobics,hydrogen_bonds,halogen_bonds,pi_pi,cat_pi,salt_bridges,metal_coordinations,ligand,receptor){if(!os.path.exists(parameters.params["output_dir"]))os.mkdir(parameters.params["output_dir"]);binana.output._directory.pdbs.output_dir_pdbs(closest["mol"],parameters,close["mol"],active_site_flexibility["mols"]["alpha_helix"],
active_site_flexibility["mols"]["beta_sheet"],active_site_flexibility["mols"]["other_2nd_structure"],active_site_flexibility["mols"]["back_bone"],active_site_flexibility["mols"]["side_chain"],hydrophobics["mol"],hydrogen_bonds["mol"],halogen_bonds["mol"],pi_pi["mols"]["pi_stacking"],pi_pi["mols"]["T_stacking"],cat_pi["mol"],salt_bridges["mol"],metal_coordinations["mol"],ligand,receptor);binana.output._directory.vmd_state.vmd_state_file(parameters)};
//# sourceMappingURL=binana.output._directory.map
\ No newline at end of file
......@@ -5,7 +5,7 @@
'use strict';import{AssertionError,AttributeError,BaseException,DeprecationWarning,Exception,IndexError,IterableError,KeyError,NotImplementedError,RuntimeWarning,StopIteration,UserWarning,ValueError,Warning,__JsIterator__,__PyIterator__,__Terminal__,__add__,__and__,__call__,__class__,__envir__,__eq__,__floordiv__,__ge__,__get__,__getcm__,__getitem__,__getslice__,__getsm__,__gt__,__i__,__iadd__,__iand__,__idiv__,__ijsmod__,__ilshift__,__imatmul__,__imod__,__imul__,__in__,__init__,__ior__,__ipow__,
__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtrans__,__le__,__lshift__,__lt__,__matmul__,__mergefields__,__mergekwargtrans__,__mod__,__mul__,__ne__,__neg__,__nest__,__or__,__pow__,__pragma__,__proxy__,__pyUseJsNext__,__rshift__,__setitem__,__setproperty__,__setslice__,__sort__,__specialattrib__,__sub__,__super__,__t__,__terminal__,__truediv__,__withblock__,__xor__,abs,all,any,assert,bool,bytearray,bytes,callable,chr,copy,deepcopy,delattr,dict,dir,divmod,enumerate,filter,float,
getattr,hasattr,input,int,isinstance,issubclass,len,list,map,max,min,object,ord,pow,print,property,py_TypeError,py_iter,py_metatype,py_next,py_reversed,py_typeof,range,repr,round,set,setattr,sorted,str,sum,tuple,zip}from"./org.transcrypt.__runtime__.js";var __name__="binana.output.csv";export var _sanitize=function(s){return s.py_replace(",","-").py_replace('"',"-")};export var _recurse=function(pre_commas,data,csv){var py_keys=list(data.py_keys());py_keys.py_sort();for(var key of py_keys){var key=
_sanitize(key);var val=data[key];csv+=pre_commas+key;try{var single_types=[int,float,str,unicode]}catch(__except0__){var single_types=[int,float,str]}if(__in__(py_typeof(val),single_types))csv+=","+_sanitize(str(val))+"\n";else if(py_typeof(val)===list)if(len(val)==0)csv+=",none\n";else if(py_typeof(val[0])===dict)for(var [i,item]of enumerate(val)){csv+="\n";if(len(val)>1){csv+=pre_commas+","+key+"."+str(i+1)+"\n";var csv=_recurse(pre_commas+",,",item,csv)}else var csv=_recurse(pre_commas+",",item,
csv)}else csv+="\n";else if(py_typeof(val)===dict){csv+="\n";var csv=_recurse(pre_commas+",",val,csv)}}return csv};export var collect=function(data){var csv=_recurse("",data,"");while(__in__("\n\n",csv))var csv=csv.py_replace("\n\n","\n");return csv};
_sanitize(key);var val=data[key];csv+=pre_commas+key;var single_types=[int,float,str];if(__in__(py_typeof(val),single_types))csv+=","+_sanitize(str(val))+"\n";else if(py_typeof(val)===list)if(len(val)==0)csv+=",none\n";else if(py_typeof(val[0])===dict)for(var [i,item]of enumerate(val)){csv+="\n";if(len(val)>1){csv+=pre_commas+","+key+"."+str(i+1)+"\n";var csv=_recurse(pre_commas+",,",item,csv)}else var csv=_recurse(pre_commas+",",item,csv)}else csv+="\n";else if(py_typeof(val)===dict){csv+="\n";var csv=
_recurse(pre_commas+",",val,csv)}}return csv};export var collect=function(data){var csv=_recurse("",data,"");while(__in__("\n\n",csv))var csv=csv.py_replace("\n\n","\n");return csv};
//# sourceMappingURL=binana.output.csv.map
\ No newline at end of file
......@@ -5,7 +5,7 @@
'use strict';var binana={};import{AssertionError,AttributeError,BaseException,DeprecationWarning,Exception,IndexError,IterableError,KeyError,NotImplementedError,RuntimeWarning,StopIteration,UserWarning,ValueError,Warning,__JsIterator__,__PyIterator__,__Terminal__,__add__,__and__,__call__,__class__,__envir__,__eq__,__floordiv__,__ge__,__get__,__getcm__,__getitem__,__getslice__,__getsm__,__gt__,__i__,__iadd__,__iand__,__idiv__,__ijsmod__,__ilshift__,__imatmul__,__imod__,__imul__,__in__,__init__,__ior__,
__ipow__,__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtrans__,__le__,__lshift__,__lt__,__matmul__,__mergefields__,__mergekwargtrans__,__mod__,__mul__,__ne__,__neg__,__nest__,__or__,__pow__,__pragma__,__proxy__,__pyUseJsNext__,__rshift__,__setitem__,__setproperty__,__setslice__,__sort__,__specialattrib__,__sub__,__super__,__t__,__terminal__,__truediv__,__withblock__,__xor__,abs,all,any,assert,bool,bytearray,bytes,callable,chr,copy,deepcopy,delattr,dict,dir,divmod,enumerate,
filter,float,getattr,hasattr,input,int,isinstance,issubclass,len,list,map,max,min,object,ord,pow,print,property,py_TypeError,py_iter,py_metatype,py_next,py_reversed,py_typeof,range,repr,round,set,setattr,sorted,str,sum,tuple,zip}from"./org.transcrypt.__runtime__.js";import{OpenFile as _openFile}from"./binana._utils.shim.js";import*as _json from"./binana._utils.shim.js";import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);import*as pdb_file from"./binana.output.pdb_file.js";
import*as _log from"./binana.output._log.js";import*as csv from"./binana.output.csv.js";import*as dictionary from"./binana.output.dictionary.js";import*as _directory from"./binana.output._directory.js";export{_openFile,dictionary,csv,_log,_json,_directory,pdb_file};var __name__="binana.output";export var _write_main=function(parameters,ligand,receptor,closest,close,hydrophobics,hydrogen_bonds,halogen_bonds,salt_bridges,metal_coordinations,pi_pi,cat_pi,electrostatic_energies,active_site_flexibility,
import*as _log from"./binana.output._log.js";import*as csv from"./binana.output.csv.js";import*as dictionary from"./binana.output.dictionary.js";import*as _directory from"./binana.output._directory.js";export{_openFile,_json,pdb_file,csv,dictionary,_log,_directory};var __name__="binana.output";export var _write_main=function(parameters,ligand,receptor,closest,close,hydrophobics,hydrogen_bonds,halogen_bonds,salt_bridges,metal_coordinations,pi_pi,cat_pi,electrostatic_energies,active_site_flexibility,
ligand_atom_types){var json_output=binana.output.dictionary.collect(closest,close,hydrophobics,hydrogen_bonds,halogen_bonds,salt_bridges,metal_coordinations,pi_pi,cat_pi,electrostatic_energies,active_site_flexibility,ligand_atom_types,__kwargtrans__({ligand_rotatable_bonds:ligand.rotatable_bonds_count}));var log_output=binana.output._log.collect(parameters,ligand,closest,close,hydrophobics,hydrogen_bonds,halogen_bonds,salt_bridges,metal_coordinations,pi_pi,cat_pi,electrostatic_energies,active_site_flexibility,
ligand_atom_types,json_output);if(parameters.params["output_csv"]!=""){var csv_txt=csv.collect(json_output);var f=_openFile(parameters.params["output_csv"],"w");f.write(csv_txt);f.close()}if(parameters.params["output_json"]!=""){var f=_openFile(parameters.params["output_json"],"w");f.write(_json.dumps(json_output,__kwargtrans__({indent:2,sort_keys:true,separators:tuple([",",": "])})));f.close()}if(parameters.params["output_file"]!="")binana.output.pdb_file.write(ligand,receptor,closest,close,hydrophobics,
hydrogen_bonds,halogen_bonds,salt_bridges,metal_coordinations,pi_pi,cat_pi,active_site_flexibility,log_output,false,parameters.params["output_file"]);if(parameters.params["output_dir"]!="")_directory.make_directory_output(parameters,closest,close,active_site_flexibility,hydrophobics,hydrogen_bonds,halogen_bonds,pi_pi,cat_pi,salt_bridges,metal_coordinations,ligand,receptor)};
......
......@@ -15,10 +15,16 @@ def _recurse(pre_commas, data, csv):
csv += pre_commas + key
# __pragma__ ('skip')
try:
single_types = [int, float, str, unicode]
except:
single_types = [int, float, str]
# __pragma__ ('noskip')
"""?
single_types = [int, float, str]
?"""
if type(val) in single_types:
csv += "," + _sanitize(str(val)) + "\n"
......
This diff is collapsed.
......@@ -45,6 +45,7 @@
"file-saver": "^2.0.5",
"google-closure-compiler": "^20210601.0.0",
"jszip": "^3.5.0",
"markdown-it": "^12.2.0",
"neo-blessed": "^0.2.0",
"popper.js": "^1.16.1",
"vue": "^2.6.12"
......
......@@ -55,7 +55,7 @@ export function setup(): void {
"computed": computedFunctions,
"template": `
<b-modal ok-only :size="size" ok-title="Close" v-model="modalShow" id="msg-modal" :title="title">
<p class="my-4" v-html="body"><slot></slot></p>
<p class="my-2" v-html="body"><slot></slot></p>
</b-modal>
`,
"props": {
......
......@@ -170,6 +170,24 @@ let methodsFunctions = {
}, 100);
},
/**
* Displays a modal with a video tutorial.
* @returns void
*/
"videoTutorial"(): void {
this.$store.commit("openModal", {
title: "Video Tutorial",
body: `<iframe style="height: 479px; box-shadow: 0px 0px 5px rgb(150 150 150);" id="tutorial-iframe" width="100%" height="315" src="https://www.youtube.com/embed/BMnSYvH4Qwg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>`
});
setTimeout(() => {
let iframe = document.querySelectorAll("#tutorial-iframe")[0] as HTMLIFrameElement;
let width = iframe.offsetWidth;
let height = Math.round(width / 1.6);
iframe.style.height = height.toString() + "px";
}, 1000);
},
/**
* Highlights interactions in the 3Dmoljs viewer.
* @param {string} interactionName The name of the interaction type to
......@@ -509,6 +527,43 @@ let methodsFunctions = {
this.$refs["ligandMolLoader"]["loadMolFromExternal"](
ligFilename, ligContents
);
},
/**
* Shows more details about how the interactions are detected.
* @returns void
*/
"moreDetails"(): void {
let getInteractionsMD = fetch("INTERACTIONS.md")
.then((response) => response.text())
.then((data) => Promise.resolve(data));
let getMarkdownIt = import(
/* webpackChunkName: "MarkdownIt" */
/* webpackMode: "lazy" */
'markdown-it'
).then((mod) => {
// @ts-ignore
let MarkdownIt = mod.default;
return Promise.resolve(MarkdownIt);
});
Promise.all([getInteractionsMD, getMarkdownIt]).then((payload) => {
let interactions: string;
let MarkdownIt: any;
[interactions, MarkdownIt] = payload;
let md = new MarkdownIt();
var result = md.render(interactions);
this.$store.commit("openModal", {
title: "Detecting Intramolecular Interactions",
body: result
.replace(/h1\>/g, "h5>")
.replace(/\<a /g, '<a target="_blank" ')
.replace(/\<table/g, '<table style="margin-bottom:8px;"')
.replace(/\<td/g, '<td style="min-width:45px;font-size:80%;padding:4px;"')
.replace(/\<th/g, '<th style="min-width:45px;font-size:80%;padding:4px;"')
});
})
}
}
......@@ -562,6 +617,7 @@ export function setup(): void {
description="Ligand/protein atoms that come within this number of
angstroms are &quot;close contacts.&quot;" placeholder="$store.state.close_contacts_dist2_cutoff"
></numeric-input>
<div class="learnMoreLink"><b-link href="#" @click="moreDetails">(Learn more about advanced parameters)</b-link></div>
</b-card>
<!-- <numeric-input
label="Electrostatic Dist Cutoff"
......@@ -597,6 +653,7 @@ export function setup(): void {
donor comes within this number of angstroms of the halogen-bond
acceptor." placeholder="$store.state.halogen_bond_dist_cutoff"
></numeric-input>
<div class="learnMoreLink"><b-link href="#" @click="moreDetails">(Learn more about advanced parameters)</b-link></div>
</b-card>
<b-card class="mb-2 text-center" style="margin-bottom:1.4rem !important;">
......@@ -652,6 +709,7 @@ export function setup(): void {
description="A Cation-π interaction is identified if a charged functional
group comes within this distance of an aromaic-ring center." placeholder="$store.state.cation_pi_dist_cutoff"
></numeric-input>
<div class="learnMoreLink"><b-link href="#" @click="moreDetails">(Learn more about advanced parameters)</b-link></div>
</b-card>
<b-card class="mb-2 text-center" style="margin-bottom:1.4rem !important;">
......@@ -677,8 +735,7 @@ export function setup(): void {
number of angstroms of a metal cation participate in &quot;metal coordination
contacts.&quot;" placeholder="$store.state.metal_coordination_dist_cutoff"
></numeric-input>
<div class="learnMoreLink"><b-link href="#" @click="moreDetails">(Learn more about advanced parameters)</b-link></div>
</b-card>
</b-card-body>
</b-collapse>
......@@ -747,6 +804,7 @@ export function setup(): void {
-->
<form-button @click.native="useExampleInputFiles" cls="float-right">Use Example Files</form-button> <!-- variant="default" -->
<form-button @click.native="videoTutorial" cls="float-right mr-2">Video Tutorial</form-button> <!-- variant="default" -->
</sub-section>
<sub-section title="Molecular Viewer">
......@@ -895,8 +953,11 @@ export function setup(): void {
<span v-html="data.value"></span>
</template>
</b-table>
<div class="learnMoreLink" style="margin-top: -12px;">
(<b-link href="#" @click="moreDetails">More details about interaction detection</b-link>)
</div>
<b-alert show variant="warning" v-if="missingHydrogensWarning !== ''">
<b-alert show style="margin-top:8px;" variant="warning" v-if="missingHydrogensWarning !== ''">
<span v-html="missingHydrogensWarning"></span>
<br /><br />
......
// This file is part of BINANA, released under the Apache 2.0 License. See
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2021 Jacob D. Durrant.
// details. Copyright 2020 Jacob D. Durrant.
'use strict';var binana={};import{AssertionError,AttributeError,BaseException,DeprecationWarning,Exception,IndexError,IterableError,KeyError,NotImplementedError,RuntimeWarning,StopIteration,UserWarning,ValueError,Warning,__JsIterator__,__PyIterator__,__Terminal__,__add__,__and__,__call__,__class__,__envir__,__eq__,__floordiv__,__ge__,__get__,__getcm__,__getitem__,__getslice__,__getsm__,__gt__,__i__,__iadd__,__iand__,__idiv__,__ijsmod__,__ilshift__,__imatmul__,__imod__,__imul__,__in__,__init__,__ior__,
__ipow__,__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtrans__,__le__,__lshift__,__lt__,__matmul__,__mergefields__,__mergekwargtrans__,__mod__,__mul__,__ne__,__neg__,__nest__,__or__,__pow__,__pragma__,__proxy__,__pyUseJsNext__,__rshift__,__setitem__,__setproperty__,__setslice__,__sort__,__specialattrib__,__sub__,__super__,__t__,__terminal__,__truediv__,__withblock__,__xor__,abs,all,any,assert,bool,bytearray,bytes,callable,chr,copy,deepcopy,delattr,dict,dir,divmod,enumerate,
......
// This file is part of BINANA, released under the Apache 2.0 License. See
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2021 Jacob D. Durrant.
// details. Copyright 2020 Jacob D. Durrant.
'use strict';var __future__={};var binana={};var math={};import{AssertionError,AttributeError,BaseException,DeprecationWarning,Exception,IndexError,IterableError,KeyError,NotImplementedError,RuntimeWarning,StopIteration,UserWarning,ValueError,Warning,__JsIterator__,__PyIterator__,__Terminal__,__add__,__and__,__call__,__class__,__envir__,__eq__,__floordiv__,__ge__,__get__,__getcm__,__getitem__,__getslice__,__getsm__,__gt__,__i__,__iadd__,__iand__,__idiv__,__ijsmod__,__ilshift__,__imatmul__,__imod__,
__imul__,__in__,__init__,__ior__,__ipow__,__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtrans__,__le__,__lshift__,__lt__,__matmul__,__mergefields__,__mergekwargtrans__,__mod__,__mul__,__ne__,__neg__,__nest__,__or__,__pow__,__pragma__,__proxy__,__pyUseJsNext__,__rshift__,__setitem__,__setproperty__,__setslice__,__sort__,__specialattrib__,__sub__,__super__,__t__,__terminal__,__truediv__,__withblock__,__xor__,abs,all,any,assert,bool,bytearray,bytes,callable,chr,copy,deepcopy,delattr,
......@@ -9,6 +9,6 @@ __nest__(math,"",__module_math__);import{from_files}from"./binana.load_ligand_re
i[0])&&__in__("cutoff",i[0]))__accu0__.append(i[1]);return py_iter(__accu0__)}())+15;var __left0__=from_files(parameters.params["ligand"],parameters.params["receptor"],max_cutoff);var ligand=__left0__[0];var receptor=__left0__[1];var pi_padding=parameters.params["pi_padding_dist"];var all_interacts=get_all_interactions(ligand,receptor,parameters.params["close_contacts_dist1_cutoff"],parameters.params["close_contacts_dist2_cutoff"],parameters.params["electrostatic_dist_cutoff"],parameters.params["active_site_flexibility_dist_cutoff"],
parameters.params["hydrophobic_dist_cutoff"],parameters.params["hydrogen_bond_dist_cutoff"],parameters.params["hydrogen_halogen_bond_angle_cutoff"],parameters.params["halogen_bond_dist_cutoff"],parameters.params["pi_pi_interacting_dist_cutoff"],parameters.params["pi_stacking_angle_tolerance"],parameters.params["T_stacking_angle_tolerance"],parameters.params["T_stacking_closest_dist_cutoff"],parameters.params["cation_pi_dist_cutoff"],parameters.params["salt_bridge_dist_cutoff"],parameters.params["metal_coordination_dist_cutoff"],
pi_padding);for(var key of all_interacts["cat_pi"]["counts"].py_keys())all_interacts["pi_pi"]["counts"][key]=all_interacts["cat_pi"]["counts"][key];_write_main(parameters,ligand,receptor,all_interacts["closest"],all_interacts["close"],all_interacts["hydrophobics"],all_interacts["hydrogen_bonds"],all_interacts["halogen_bonds"],all_interacts["salt_bridges"],all_interacts["metal_coordinations"],all_interacts["pi_pi"],all_interacts["cat_pi"],all_interacts["electrostatic_energies"],all_interacts["active_site_flexibility"],
all_interacts["ligand_atom_types"])};export var _intro=function(){print("\n [- END INTRO -]\n")};
all_interacts["ligand_atom_types"])};export var _intro=function(){print("# BINANA "+VERSION+"\n");print("\n [- END INTRO -]\n")};
//# sourceMappingURL=binana._start.map
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment