Commit d4a1878a authored by jdurrant's avatar jdurrant
Browse files

Changed version number to 2.0.

parent 6c369628
......@@ -2,7 +2,7 @@ Changes
=======
1.4 WIP
2.0 WIP
-------
Major refactor
......
......@@ -29,8 +29,8 @@
]{};:'"/|\ []{};:'"
\<>,-_=+.|
BINANA 1.2.1
============
BINANA 2.0
==========
BINANA is released under the GNU General Public License (see
http://www.gnu.org/licenses/gpl.html). If you use BINANA in your work, please
......
# BINANA 2.0
# Git Repository Contents (Select Directories and Files)
## Git Repository Contents
The BINANA Git repository is hosted at
[http://git.durrantlab.com/jdurrant/binana](http://git.durrantlab.com/jdurrant/binana).
| Directory/File | Description
|-----------------------------------|------------------------------------------
......@@ -13,30 +14,29 @@
| `./javascript/lib/examples.html` | HTML file, JavaScript-library demo
| `./web_app/` | Web app
| `./web_app/src/` | Web-app source code
| `./web_app/binana.zip` | Compiled web-app
# Using BINANA
## Command-Line Use
## Using BINANA
### Command-Line Use
See `./COMMAND_LINE_USE.md` for detailed instructions describing how to use BINANA
from the command line. Here is a simple example:
See `./COMMAND_LINE_USE.md` in the Git repository for detailed instructions.
Here is a simple example:
```bash
cd python
python3 run_binana.py -receptor /path/to/receptor.pdbqt -ligand /path/to/ligand.pdbqt -output_dir /path/to/output/directory/
```
### Python Library
## Python Library
The following files describe how to use BINANA as a Python library that can be
accessed from other Python scripts:
The following files in the Git repository describe how to use BINANA as a Python
library that can be accessed from other Python scripts:
- `./example/Examples.ipynb`: A Jupyter notebook demonstrating use.
- `./example/Examples.ipynb.pdf`: A PDF version of the notebook, for those who
don't use Jupyter.
- `./example/Examples.md`: A Markdown version of the notebook.
- `./python/example/Examples.ipynb`: A Jupyter notebook demonstrating use.
- `./python/example/Examples.ipynb.pdf`: A PDF version of the notebook, for
those who don't use Jupyter.
- `./python/example/Examples.md`: A Markdown version of the notebook.
### JavaScript Library
## JavaScript Library
These files describe how to use BINANA as a JavaScript library that can be
accessed from the web browser (e.g., from web apps).
......
......@@ -5,10 +5,10 @@
'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,
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{fabs}from"./binana._utils.shim.js";import*as shim from"./binana._utils.shim.js";import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);import*as __module_math__ from"./math.js";
__nest__(math,"",__module_math__);import{from_files}from"./binana.load_ligand_receptor.js";import{get_all_interactions}from"./binana.interactions.js";import{_write_main}from"./binana.output.js";import*as __module___future____ from"./__future__.js";__nest__(__future__,"",__module___future____);var __name__="binana._start";export var os=binana.os;export var textwrap=shim;export var VERSION="1.3";export var _get_all_interactions=function(parameters){var __left0__=from_files(parameters.params["ligand"],
__nest__(math,"",__module_math__);import{from_files}from"./binana.load_ligand_receptor.js";import{get_all_interactions}from"./binana.interactions.js";import{_write_main}from"./binana.output.js";import*as __module___future____ from"./__future__.js";__nest__(__future__,"",__module___future____);var __name__="binana._start";export var os=binana.os;export var textwrap=shim;export var VERSION="2.0";export var _get_all_interactions=function(parameters){var __left0__=from_files(parameters.params["ligand"],
parameters.params["receptor"]);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_bond_angle_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"],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["salt_bridges"],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(){var version="1.2.1";var citation="BINANA: A Novel Algorithm for Ligand-Binding Characterization. Durrant JD, McCammon JA. J Mol Graph Model. 2011 Apr; 29(6): 888-893. doi: 10.1016/j.jmgm.2011.01.004";var lines=["","BINANA "+
all_interacts["hydrophobics"],all_interacts["hydrogen_bonds"],all_interacts["salt_bridges"],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(){var version="2.0";var citation="BINANA: A Novel Algorithm for Ligand-Binding Characterization. Durrant JD, McCammon JA. J Mol Graph Model. 2011 Apr; 29(6): 888-893. doi: 10.1016/j.jmgm.2011.01.004";var lines=["","BINANA "+
version,"============","","BINANA is released under the GNU General Public License (see http://www.gnu.org/licenses/gpl.html). If you use BINANA in your work, please cite:","",citation,"","Introduction, Examples of Use","=============================","","BINANA (BINding ANAlyzer) is a python-implemented algorithm for analyzing ligand binding. The program identifies key binding characteristics like hydrogen bonds, salt bridges, and pi interactions. As input, BINANA accepts receptor and ligand files in the PDBQT format. PDBQT files can be generated from the more common PDB file format using the free converter provided with AutoDockTools, available at http://mgltools.scripps.edu/downloads",
"","As output, BINANA describes ligand binding. Here's a simple example of how to run the program:","","```bash","python3 run_binana.py -receptor /path/to/receptor.pdbqt -ligand /path/to/ligand.pdbqt","```","","To create a single PDB file showing the different binding characteristics with those characteristics described in the PDB header:","","```bash","python3 run_binana.py -receptor /path/to/receptor.pdbqt -ligand /path/to/ligand.pdbqt -output_file /path/to/output.pdb","```","","Note that in the above example, errors and warnings are not written to the output file. To save these to a file, try:",
"","```bash","python3 run_binana.py -receptor /path/to/receptor.pdbqt -ligand /path/to/ligand.pdbqt -output_file /path/to/output.pdb > errors.txt","```","","To additionally output a JSON file with all the characterized interactions between the protein and ligand:","","```bash","python3 run_binana.py -receptor /path/to/receptor.pdbqt -ligand /path/to/ligand.pdbqt -output_json /path/to/output.json","```","","You can also send the program output to a directory, which will be created if it does not already exist. If a directory is specified, the program automatically separates the output PDB file into separate files for each interaction analyzed, and a description of the interactions is written to a file called `log.txt`. Additionally, a VMD state file is created so the results can be easily visualized in VMD, a free program available for download at http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD Again, to save warnings and errors, append something like `> errors.txt` to the end of your command:",
......
......@@ -7,8 +7,8 @@ __ipow__,__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtr
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 _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_bonds from"./binana.interactions._hydrogen_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,HYDROGEN_BOND_ANGLE_CUTOFF,HYDROGEN_BOND_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{PI_PI_INTERACTING_DIST_CUTOFF,_set_default,ACTIVE_SITE_FLEXIBILITY_DIST_CUTOFF,_closest,_hydrogen_bonds,_electrostatic_energies,PI_PADDING_DIST,_flexibility,T_STACKING_ANGLE_TOLERANCE,_ligand_atom_types,CATION_PI_DIST_CUTOFF,PI_STACKING_ANGLE_TOLERANCE,ELECTROSTATIC_DIST_CUTOFF,_salt_bridges,CLOSE_CONTACTS_DIST1_CUTOFF,default_params,_pi_pi,_hydrophobics,HYDROGEN_BOND_ANGLE_CUTOFF,
T_STACKING_CLOSEST_DIST_CUTOFF,_cat_pi,CLOSE_CONTACTS_DIST2_CUTOFF,SALT_BRIDGE_DIST_CUTOFF,_close,HYDROPHOBIC_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,
import{_set_default}from"./binana._utils.shim.js";import*as default_params from"./binana.interactions.default_params.js";export{_hydrogen_bonds,_closest,CLOSE_CONTACTS_DIST1_CUTOFF,HYDROPHOBIC_DIST_CUTOFF,_set_default,ACTIVE_SITE_FLEXIBILITY_DIST_CUTOFF,HYDROGEN_BOND_ANGLE_CUTOFF,_hydrophobics,_close,default_params,_ligand_atom_types,_electrostatic_energies,_flexibility,_salt_bridges,_pi_pi,_cat_pi,T_STACKING_CLOSEST_DIST_CUTOFF,CATION_PI_DIST_CUTOFF,ELECTROSTATIC_DIST_CUTOFF,SALT_BRIDGE_DIST_CUTOFF,
CLOSE_CONTACTS_DIST2_CUTOFF,HYDROGEN_BOND_DIST_CUTOFF,T_STACKING_ANGLE_TOLERANCE,PI_PI_INTERACTING_DIST_CUTOFF,PI_PADDING_DIST,PI_STACKING_ANGLE_TOLERANCE};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);
......
......@@ -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{load_ligand_receptor,_start,interactions,output,_get_params,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{interactions,_start,load_ligand_receptor,fs,_get_params,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={};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*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*as __module_math__ from"./math.js";
__nest__(math,"",__module_math__);import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);export{_Point,_math_functions,_Mol};var __name__="binana.load_ligand_receptor";export var _ligand_receptor_dists=null;export var _ligand_receptor_aromatic_dists=null;export var from_texts=function(ligand_text,receptor_text){var ligand=_Mol();ligand.load_pdb_from_text(ligand_text);var receptor=_Mol();receptor.load_pdb_from_text(receptor_text);receptor.assign_secondary_structure();_clear_cache();
__nest__(math,"",__module_math__);import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);export{_Mol,_math_functions,_Point};var __name__="binana.load_ligand_receptor";export var _ligand_receptor_dists=null;export var _ligand_receptor_aromatic_dists=null;export var from_texts=function(ligand_text,receptor_text){var ligand=_Mol();ligand.load_pdb_from_text(ligand_text);var receptor=_Mol();receptor.load_pdb_from_text(receptor_text);receptor.assign_secondary_structure();_clear_cache();
return tuple([ligand,receptor])};export var from_files=function(ligand_filename,receptor_filename){var ligand=_Mol();ligand.load_pdb_file(ligand_filename);var receptor=_Mol();receptor.load_pdb_file(receptor_filename);receptor.assign_secondary_structure();_clear_cache();return tuple([ligand,receptor])};export var _clear_cache=function(){_ligand_receptor_dists=null;_ligand_receptor_aromatic_dists=null};export var _get_ligand_receptor_dists=function(ligand,receptor){if(_ligand_receptor_dists!==null)return _ligand_receptor_dists;
_ligand_receptor_dists=[];for(var ligand_atom_index of ligand.all_atoms.py_keys())for(var receptor_atom_index of receptor.all_atoms.py_keys()){var ligand_atom=ligand.all_atoms[ligand_atom_index];var receptor_atom=receptor.all_atoms[receptor_atom_index];var dist=ligand_atom.coordinates.dist_to(receptor_atom.coordinates);_ligand_receptor_dists.append(tuple([ligand_atom,receptor_atom,dist]))}return _ligand_receptor_dists};export var _get_ligand_receptor_aromatic_dists=function(ligand,receptor,pi_pi_general_dist_cutoff){if(_ligand_receptor_aromatic_dists!==
null)return _ligand_receptor_aromatic_dists;_ligand_receptor_aromatic_dists=[];for(var ligand_aromatic of ligand.aromatic_rings)for(var receptor_aromatic of receptor.aromatic_rings){var dist=ligand_aromatic.center.dist_to(receptor_aromatic.center);if(dist<pi_pi_general_dist_cutoff){var ligand_aromatic_norm_vector=_Point(ligand_aromatic.plane_coeff[0],ligand_aromatic.plane_coeff[1],ligand_aromatic.plane_coeff[2]);var receptor_aromatic_norm_vector=_Point(receptor_aromatic.plane_coeff[0],receptor_aromatic.plane_coeff[1],
......
......@@ -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*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};var __name__=
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*as vmd_state from"./binana.output._directory.vmd_state.js";import*as pdbs from"./binana.output._directory.pdbs.js";export{vmd_state,pdbs};var __name__=
"binana.output._directory";export var os=binana.os;export var make_directory_output=function(parameters,closest,close,active_site_flexibility,hydrophobics,hydrogen_bonds,pi_pi,cat_pi,salt_bridges,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"],pi_pi["mols"]["pi_stacking"],pi_pi["mols"]["T_stacking"],cat_pi["mol"],salt_bridges["mol"],ligand,receptor);binana.output._directory.vmd_state.vmd_state_file(parameters)};
......
......@@ -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 dictionary from"./binana.output.dictionary.js";import*as _directory from"./binana.output._directory.js";export{pdb_file,_directory,_log,_json,_openFile,dictionary};var __name__="binana.output";export var _write_main=function(parameters,ligand,receptor,closest,close,hydrophobics,hydrogen_bonds,salt_bridges,pi_pi,cat_pi,electrostatic_energies,active_site_flexibility,ligand_atom_types){var json_output=binana.output.dictionary.collect(closest,close,
import*as _log from"./binana.output._log.js";import*as dictionary from"./binana.output.dictionary.js";import*as _directory from"./binana.output._directory.js";export{_directory,pdb_file,dictionary,_openFile,_log,_json};var __name__="binana.output";export var _write_main=function(parameters,ligand,receptor,closest,close,hydrophobics,hydrogen_bonds,salt_bridges,pi_pi,cat_pi,electrostatic_energies,active_site_flexibility,ligand_atom_types){var json_output=binana.output.dictionary.collect(closest,close,
hydrophobics,hydrogen_bonds,salt_bridges,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,salt_bridges,pi_pi,cat_pi,electrostatic_energies,active_site_flexibility,ligand_atom_types,json_output);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,salt_bridges,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,pi_pi,cat_pi,salt_bridges,ligand,receptor)};
......
......@@ -26,7 +26,7 @@ textwrap = shim
from binana._utils.shim import fabs
?"""
VERSION = "1.3"
VERSION = "2.0"
def _get_all_interactions(parameters):
......@@ -97,7 +97,7 @@ def _intro():
# TODO: If you ever change below, be sure to update COMMAND_LINE_USE.md with
# this file too!
version = "1.2.1"
version = "2.0"
citation = "BINANA: A Novel Algorithm for Ligand-Binding Characterization. Durrant JD, McCammon JA. J Mol Graph Model. 2011 Apr; 29(6): 888-893. doi: 10.1016/j.jmgm.2011.01.004"
lines = [
"",
......
......@@ -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 dictionary from"./binana.output.dictionary.js";import*as _directory from"./binana.output._directory.js";export{pdb_file,_directory,_log,_json,_openFile,dictionary};var __name__="binana.output";export var _write_main=function(parameters,ligand,receptor,closest,close,hydrophobics,hydrogen_bonds,salt_bridges,pi_pi,cat_pi,electrostatic_energies,active_site_flexibility,ligand_atom_types){var json_output=binana.output.dictionary.collect(closest,close,
import*as _log from"./binana.output._log.js";import*as dictionary from"./binana.output.dictionary.js";import*as _directory from"./binana.output._directory.js";export{_directory,pdb_file,dictionary,_openFile,_log,_json};var __name__="binana.output";export var _write_main=function(parameters,ligand,receptor,closest,close,hydrophobics,hydrogen_bonds,salt_bridges,pi_pi,cat_pi,electrostatic_energies,active_site_flexibility,ligand_atom_types){var json_output=binana.output.dictionary.collect(closest,close,
hydrophobics,hydrogen_bonds,salt_bridges,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,salt_bridges,pi_pi,cat_pi,electrostatic_energies,active_site_flexibility,ligand_atom_types,json_output);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,salt_bridges,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,pi_pi,cat_pi,salt_bridges,ligand,receptor)};
......
......@@ -5,10 +5,10 @@
'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,
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{fabs}from"./binana._utils.shim.js";import*as shim from"./binana._utils.shim.js";import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);import*as __module_math__ from"./math.js";
__nest__(math,"",__module_math__);import{from_files}from"./binana.load_ligand_receptor.js";import{get_all_interactions}from"./binana.interactions.js";import{_write_main}from"./binana.output.js";import*as __module___future____ from"./__future__.js";__nest__(__future__,"",__module___future____);var __name__="binana._start";export var os=binana.os;export var textwrap=shim;export var VERSION="1.3";export var _get_all_interactions=function(parameters){var __left0__=from_files(parameters.params["ligand"],
__nest__(math,"",__module_math__);import{from_files}from"./binana.load_ligand_receptor.js";import{get_all_interactions}from"./binana.interactions.js";import{_write_main}from"./binana.output.js";import*as __module___future____ from"./__future__.js";__nest__(__future__,"",__module___future____);var __name__="binana._start";export var os=binana.os;export var textwrap=shim;export var VERSION="2.0";export var _get_all_interactions=function(parameters){var __left0__=from_files(parameters.params["ligand"],
parameters.params["receptor"]);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_bond_angle_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"],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["salt_bridges"],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(){var version="1.2.1";var citation="BINANA: A Novel Algorithm for Ligand-Binding Characterization. Durrant JD, McCammon JA. J Mol Graph Model. 2011 Apr; 29(6): 888-893. doi: 10.1016/j.jmgm.2011.01.004";var lines=["","BINANA "+
all_interacts["hydrophobics"],all_interacts["hydrogen_bonds"],all_interacts["salt_bridges"],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(){var version="2.0";var citation="BINANA: A Novel Algorithm for Ligand-Binding Characterization. Durrant JD, McCammon JA. J Mol Graph Model. 2011 Apr; 29(6): 888-893. doi: 10.1016/j.jmgm.2011.01.004";var lines=["","BINANA "+
version,"============","","BINANA is released under the GNU General Public License (see http://www.gnu.org/licenses/gpl.html). If you use BINANA in your work, please cite:","",citation,"","Introduction, Examples of Use","=============================","","BINANA (BINding ANAlyzer) is a python-implemented algorithm for analyzing ligand binding. The program identifies key binding characteristics like hydrogen bonds, salt bridges, and pi interactions. As input, BINANA accepts receptor and ligand files in the PDBQT format. PDBQT files can be generated from the more common PDB file format using the free converter provided with AutoDockTools, available at http://mgltools.scripps.edu/downloads",
"","As output, BINANA describes ligand binding. Here's a simple example of how to run the program:","","```bash","python3 run_binana.py -receptor /path/to/receptor.pdbqt -ligand /path/to/ligand.pdbqt","```","","To create a single PDB file showing the different binding characteristics with those characteristics described in the PDB header:","","```bash","python3 run_binana.py -receptor /path/to/receptor.pdbqt -ligand /path/to/ligand.pdbqt -output_file /path/to/output.pdb","```","","Note that in the above example, errors and warnings are not written to the output file. To save these to a file, try:",
"","```bash","python3 run_binana.py -receptor /path/to/receptor.pdbqt -ligand /path/to/ligand.pdbqt -output_file /path/to/output.pdb > errors.txt","```","","To additionally output a JSON file with all the characterized interactions between the protein and ligand:","","```bash","python3 run_binana.py -receptor /path/to/receptor.pdbqt -ligand /path/to/ligand.pdbqt -output_json /path/to/output.json","```","","You can also send the program output to a directory, which will be created if it does not already exist. If a directory is specified, the program automatically separates the output PDB file into separate files for each interaction analyzed, and a description of the interactions is written to a file called `log.txt`. Additionally, a VMD state file is created so the results can be easily visualized in VMD, a free program available for download at http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD Again, to save warnings and errors, append something like `> errors.txt` to the end of your command:",
......
......@@ -7,8 +7,8 @@ __ipow__,__irshift__,__isub__,__ixor__,__jsUsePyNext__,__jsmod__,__k__,__kwargtr
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 _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_bonds from"./binana.interactions._hydrogen_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,HYDROGEN_BOND_ANGLE_CUTOFF,HYDROGEN_BOND_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{PI_PI_INTERACTING_DIST_CUTOFF,_set_default,ACTIVE_SITE_FLEXIBILITY_DIST_CUTOFF,_closest,_hydrogen_bonds,_electrostatic_energies,PI_PADDING_DIST,_flexibility,T_STACKING_ANGLE_TOLERANCE,_ligand_atom_types,CATION_PI_DIST_CUTOFF,PI_STACKING_ANGLE_TOLERANCE,ELECTROSTATIC_DIST_CUTOFF,_salt_bridges,CLOSE_CONTACTS_DIST1_CUTOFF,default_params,_pi_pi,_hydrophobics,HYDROGEN_BOND_ANGLE_CUTOFF,
T_STACKING_CLOSEST_DIST_CUTOFF,_cat_pi,CLOSE_CONTACTS_DIST2_CUTOFF,SALT_BRIDGE_DIST_CUTOFF,_close,HYDROPHOBIC_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,
import{_set_default}from"./binana._utils.shim.js";import*as default_params from"./binana.interactions.default_params.js";export{_hydrogen_bonds,_closest,CLOSE_CONTACTS_DIST1_CUTOFF,HYDROPHOBIC_DIST_CUTOFF,_set_default,ACTIVE_SITE_FLEXIBILITY_DIST_CUTOFF,HYDROGEN_BOND_ANGLE_CUTOFF,_hydrophobics,_close,default_params,_ligand_atom_types,_electrostatic_energies,_flexibility,_salt_bridges,_pi_pi,_cat_pi,T_STACKING_CLOSEST_DIST_CUTOFF,CATION_PI_DIST_CUTOFF,ELECTROSTATIC_DIST_CUTOFF,SALT_BRIDGE_DIST_CUTOFF,
CLOSE_CONTACTS_DIST2_CUTOFF,HYDROGEN_BOND_DIST_CUTOFF,T_STACKING_ANGLE_TOLERANCE,PI_PI_INTERACTING_DIST_CUTOFF,PI_PADDING_DIST,PI_STACKING_ANGLE_TOLERANCE};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);
......
......@@ -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{load_ligand_receptor,_start,interactions,output,_get_params,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{interactions,_start,load_ligand_receptor,fs,_get_params,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={};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*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*as __module_math__ from"./math.js";
__nest__(math,"",__module_math__);import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);export{_Point,_math_functions,_Mol};var __name__="binana.load_ligand_receptor";export var _ligand_receptor_dists=null;export var _ligand_receptor_aromatic_dists=null;export var from_texts=function(ligand_text,receptor_text){var ligand=_Mol();ligand.load_pdb_from_text(ligand_text);var receptor=_Mol();receptor.load_pdb_from_text(receptor_text);receptor.assign_secondary_structure();_clear_cache();
__nest__(math,"",__module_math__);import*as __module_binana__ from"./binana.js";__nest__(binana,"",__module_binana__);export{_Mol,_math_functions,_Point};var __name__="binana.load_ligand_receptor";export var _ligand_receptor_dists=null;export var _ligand_receptor_aromatic_dists=null;export var from_texts=function(ligand_text,receptor_text){var ligand=_Mol();ligand.load_pdb_from_text(ligand_text);var receptor=_Mol();receptor.load_pdb_from_text(receptor_text);receptor.assign_secondary_structure();_clear_cache();
return tuple([ligand,receptor])};export var from_files=function(ligand_filename,receptor_filename){var ligand=_Mol();ligand.load_pdb_file(ligand_filename);var receptor=_Mol();receptor.load_pdb_file(receptor_filename);receptor.assign_secondary_structure();_clear_cache();return tuple([ligand,receptor])};export var _clear_cache=function(){_ligand_receptor_dists=null;_ligand_receptor_aromatic_dists=null};export var _get_ligand_receptor_dists=function(ligand,receptor){if(_ligand_receptor_dists!==null)return _ligand_receptor_dists;
_ligand_receptor_dists=[];for(var ligand_atom_index of ligand.all_atoms.py_keys())for(var receptor_atom_index of receptor.all_atoms.py_keys()){var ligand_atom=ligand.all_atoms[ligand_atom_index];var receptor_atom=receptor.all_atoms[receptor_atom_index];var dist=ligand_atom.coordinates.dist_to(receptor_atom.coordinates);_ligand_receptor_dists.append(tuple([ligand_atom,receptor_atom,dist]))}return _ligand_receptor_dists};export var _get_ligand_receptor_aromatic_dists=function(ligand,receptor,pi_pi_general_dist_cutoff){if(_ligand_receptor_aromatic_dists!==
null)return _ligand_receptor_aromatic_dists;_ligand_receptor_aromatic_dists=[];for(var ligand_aromatic of ligand.aromatic_rings)for(var receptor_aromatic of receptor.aromatic_rings){var dist=ligand_aromatic.center.dist_to(receptor_aromatic.center);if(dist<pi_pi_general_dist_cutoff){var ligand_aromatic_norm_vector=_Point(ligand_aromatic.plane_coeff[0],ligand_aromatic.plane_coeff[1],ligand_aromatic.plane_coeff[2]);var receptor_aromatic_norm_vector=_Point(receptor_aromatic.plane_coeff[0],receptor_aromatic.plane_coeff[1],
......
......@@ -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*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};var __name__=
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*as vmd_state from"./binana.output._directory.vmd_state.js";import*as pdbs from"./binana.output._directory.pdbs.js";export{vmd_state,pdbs};var __name__=
"binana.output._directory";export var os=binana.os;export var make_directory_output=function(parameters,closest,close,active_site_flexibility,hydrophobics,hydrogen_bonds,pi_pi,cat_pi,salt_bridges,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"],pi_pi["mols"]["pi_stacking"],pi_pi["mols"]["T_stacking"],cat_pi["mol"],salt_bridges["mol"],ligand,receptor);binana.output._directory.vmd_state.vmd_state_file(parameters)};
......
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