Commit 5ac46e88 authored by jdurrant's avatar jdurrant
Browse files

Many updates.

parent d9ef5b38
......@@ -27,3 +27,5 @@ binana_web_app.zip
.vscode
make_zip_files_for_releases.sh
releases
python/binana/_test/output
......@@ -15,7 +15,7 @@ WIP
8. zip download now includes vmd state directory.
9. Vmd state file centers on ligand automatically.
10. changed hydrogen_bond_dist_cutoff and hydrogen_bond_angle_cutoff parameter
names to hydrogen_halogen_bond_dist_cutoff
names to hydrogen_bond_dist_cutoff
hydrogen_halogen_bond_angle_cutoff
11. Removed ability to toggle on and off cylinder interactions, to simplify UI.
Always on for those interaction where appropriate.
......@@ -26,18 +26,33 @@ WIP
15. Revised file input system. Can now also specify PDB ID, extract delete
non-protein residues, etc.
16. Sulfur can now be a hydrogen bond donor and acceptor.
17. If input structure has mmultiple frames, keepsfirst one.
18. JSON file now includes distances and angles.
19. output_csv option now also prints csv file containing same information as json.
TODO:
Hydrogen bonds w/o hydrogens added. Need to be more judicious. Remove certain
bonds per this heuristic:
* For oxygen and sulfur, sum of actual neighbors and hydrogen bonds cannot be >
two. Remember to account for water molecules. Pick based on distance, dihedral
angle. =O not marked as donor, so don't need to worry about that.
* Nitrogen cannot donate to more than actual neighbors + hydrogen bonds > 4, as
above.
Are water molecules able to be hydrogen bond donors?
Tests on all operating systems (including mobile).
Be sure to compress javascript
Halogen bonds mention in all documentation?
Test should also test version of protein without hydrogens, and make sure you
get all interactions tested. Metal, halogen, hydrogen with S.
If you add in new receptor or ligand, be sure to reevaluate whether new hydrogen
warning should appear.
METAL_COORDINATION_CUTOFF. Get into web app, documentation, parameters, etc.
METAL_COORDINATION_CUTOFF. Get into web app (DONE), documentation, parameters, etc.
Make sure all documentation/examples account for get_all_interactions (updated for metal coordination, halogen bonds)
......@@ -51,11 +66,11 @@ SDF on ligand works?
Makesure can loadin multipleligands. Probably need to rewritecodethat triggersbinana run. Also, can run if restart.
Report actualdistanbes and anglesin json?
Make sure output_csv parameter documented.
Convert Json to CSV?
// And you need a message explaining difference between delete/extract. Also,
// converting files hasn't been implemented.
Notvisualizing metalcoord bonds. 2M30
2.0
---
......
......@@ -95,7 +95,7 @@ python3 run_binana.py -receptor /path/to/receptor.pdbqt -ligand /path/to/ligand.
Though we recommend using program defaults, the following command-line tags can
also be specified: `-close_contacts_dist1_cutoff` `-close_contacts_dist2_cutoff`
`-electrostatic_dist_cutoff` `-active_site_flexibility_dist_cutoff`
`-hydrophobic_dist_cutoff` `-hydrogen_halogen_bond_dist_cutoff`
`-hydrophobic_dist_cutoff` `-hydrogen_bond_dist_cutoff`
`-hydrogen_halogen_bond_angle_cutoff` `-pi_padding_dist`
`-pi_pi_interacting_dist_cutoff` `-pi_stacking_angle_tolerance`
`-T_stacking_angle_tolerance` `-T_stacking_closest_dist_cutoff`
......@@ -105,7 +105,7 @@ For example, if you want to tell BINANA to detect only hydrogen bonds where the
donor and acceptor are less than 3.0 angstroms distant, run:
```bash
python3 run_binana.py -receptor /path/to/receptor.pdbqt -ligand /path/to/ligand.pdbqt -hydrogen_halogen_bond_dist_cutoff 3.0
python3 run_binana.py -receptor /path/to/receptor.pdbqt -ligand /path/to/ligand.pdbqt -hydrogen_bond_dist_cutoff 3.0
```
What follows is a detailed description of the BINANA algorithm and a further
......@@ -195,7 +195,7 @@ BINANA allows hydroxyl and amine groups to act as hydrogen-bond donors. Oxygen
and nitrogen atoms can act as hydrogen-bond acceptors. Fairly liberal cutoffs
are implemented in order to accommodate low-resolution crystal structures. A
hydrogen bond is identified if the hydrogen-bond donor comes within
`hydrogen_halogen_bond_dist_cutoff` angstroms of the hydrogen-bond acceptor, and the
`hydrogen_bond_dist_cutoff` angstroms of the hydrogen-bond acceptor, and the
angle formed between the donor, the hydrogen atom, and the acceptor is no
greater than `hydrogen_halogen_bond_angle_cutoff` degrees. BINANA tallies the number of
hydrogen bonds according to the secondary structure of the receptor atom, the
......
// Transcrypt'ed from Python, 2021-11-19 00:20:09
// Transcrypt'ed from Python, 2021-11-20 02:43:22
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__ = '__future__';
export var all_feature_names = [];
......
......@@ -2,12 +2,12 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:07
// Transcrypt'ed from Python, 2021-11-20 02:43:20
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, HYDROGEN_HALOGEN_BOND_ANGLE_CUTOFF, HYDROGEN_HALOGEN_BOND_DIST_CUTOFF, HYDROPHOBIC_DIST_CUTOFF, LIGAND, METAL_COORDINATION_CUTOFF, 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';
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', [object], {
......@@ -32,8 +32,9 @@ export var CommandLineParameters = __class__ ('CommandLineParameters', [object]
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_halogen_bond_dist_cutoff'] = HYDROGEN_HALOGEN_BOND_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;
......@@ -47,6 +48,7 @@ export var CommandLineParameters = __class__ ('CommandLineParameters', [object]
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];
......@@ -70,7 +72,7 @@ export var CommandLineParameters = __class__ ('CommandLineParameters', [object]
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'])];
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;
......
This diff is collapsed.
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:08
// Transcrypt'ed from Python, 2021-11-20 02:43:21
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';
......
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:08
// Transcrypt'ed from Python, 2021-11-20 02:43:21
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 __module_math__ from './math.js';
......@@ -14,6 +14,6 @@ export var _protein_hydro_bond_donors = [[['ARG'], ['NE', 'NH1', 'NH2']], [_alte
export var protein_resnames = ['ALA', 'ARG', 'ASN', 'ASP', 'ASH', 'ASX', 'CYS', 'CYM', 'CYX', 'GLN', 'GLU', 'GLH', 'GLX', 'GLY', 'HIS', 'HID', 'HIE', 'HIP', 'ILE', 'LEU', 'LYS', 'LYN', 'MET', 'PHE', 'PRO', 'SER', 'THR', 'TRP', 'TYR', 'VAL'];
export var _required_protein_atom_names = [[_alternate_protein_resname ['GLU'], ['OE1', 'OE2']], [_alternate_protein_resname ['ASP'], ['OD1', 'OD2']], [['ARG'], ['NH1', 'NH2', 'NE']], [_alternate_protein_resname ['HIS'], ['NE2', 'ND1']], [['PHE'], ['CG', 'CD1', 'CD2', 'CE1', 'CE2', 'CZ']], [['TYR'], ['CG', 'CD1', 'CD2', 'CE1', 'CE2', 'CZ', 'OH']], [['TRP'], ['CG', 'CD1', 'CD2', 'NE1', 'CE2', 'CE3', 'CZ2', 'CZ3', 'CH2']], [_alternate_protein_resname ['HIS'], ['CG', 'ND1', 'CD2', 'CE1', 'NE2']], [_alternate_protein_resname ['LYS'], ['NZ']]];
export var to_deg = 180.0 / math.pi;
export var two_leter_atom_names = ['AC', 'AG', 'AL', 'AM', 'AU', 'BA', 'BE', 'BK', 'CA', 'CD', 'CE', 'CF', 'CM', 'CO', 'CR', 'CS', 'CU', 'DB', 'DY', 'ER', 'ES', 'EU', 'FE', 'FM', 'FR', 'GA', 'GD', 'GE', 'HF', 'HG', 'HO', 'IN', 'IR', 'LA', 'LR', 'LU', 'MD', 'MG', 'MN', 'MO', 'NB', 'ND', 'NI', 'NO', 'NP', 'OS', 'PA', 'PB', 'PD', 'PM', 'PO', 'PR', 'PT', 'PU', 'RA', 'RE', 'RF', 'RH', 'RU', 'SB', 'SC', 'SG', 'SM', 'SN', 'SR', 'TA', 'TB', 'TC', 'TH', 'TI', 'TL', 'TM', 'YB', 'ZN', 'ZR', 'BR', 'CL', 'BI', 'AS', 'LI'];
export var two_leter_atom_names = ['AC', 'AG', 'AL', 'AM', 'AU', 'BA', 'BE', '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', 'BR', 'CL', 'BI', 'AS', 'LI'];
//# sourceMappingURL=binana._structure.consts.map
\ No newline at end of file
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:08
// Transcrypt'ed from Python, 2021-11-20 02:43:21
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';
......@@ -376,19 +376,19 @@ export var Mol = __class__ ('Mol', [object], {
var hydrogen_bond = true;
};
var central_atom_names = (hydrogen_bond ? ['H'] : ['I', 'BR', 'Br', 'CL', 'Cl', 'F']);
var h_or_hals = [];
var neighboring_h_or_hals = [];
for (var atm_index of self.all_atoms.py_keys ()) {
var central_atom = self.all_atoms [atm_index];
var element = central_atom.element;
if (__in__ (element, central_atom_names)) {
var dist = central_atom.coordinates.dist_to (atom.coordinates);
if (dist < _max_donor_X_dist [element]) {
h_or_hals.append (central_atom);
neighboring_h_or_hals.append (central_atom);
}
}
}
var charaterizations = [['ACCEPTOR', null]];
for (var h_or_hal of h_or_hals) {
var charaterizations = (atom.element != 'C' ? [['ACCEPTOR', null]] : []);
for (var h_or_hal of neighboring_h_or_hals) {
charaterizations.append (['DONOR', h_or_hal]);
}
return charaterizations;
......
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:08
// Transcrypt'ed from Python, 2021-11-20 02:43:21
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';
......
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:08
// Transcrypt'ed from Python, 2021-11-20 02:43:21
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';
......
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:08
// Transcrypt'ed from Python, 2021-11-20 02:43:21
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._utils';
......
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:08
// Transcrypt'ed from Python, 2021-11-20 02:43:21
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._utils.shim';
export var fake_fs = dict ({});
......
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:09
// Transcrypt'ed from Python, 2021-11-20 02:43:22
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 {_set_default} from './binana._utils.shim.js';
var __name__ = 'binana._utils.utils';
......
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:10
// Transcrypt'ed from Python, 2021-11-20 02:43:23
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';
......
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:09
// Transcrypt'ed from Python, 2021-11-20 02:43:22
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 {project_point_onto_plane} from './binana._utils._math_functions.js';
......@@ -20,7 +20,8 @@ export var _detect_pi_cat = function (mol_with_aromatic, mol_with_pos_charge, cu
var name_of_charged = _set_default (name_of_charged, 'RECEPTOR');
for (var aromatic of mol_with_aromatic.aromatic_rings) {
for (var charged of mol_with_pos_charge.charges) {
if (charged.positive == true && charged.coordinates.dist_to (aromatic.center) < cutoff) {
var charge_ring_dist = charged.coordinates.dist_to (aromatic.center);
if (charged.positive == true && charge_ring_dist < cutoff) {
var charge_projected = project_point_onto_plane (charged.coordinates, aromatic.plane_coeff);
if (charge_projected.dist_to (aromatic.center) < aromatic.radius + pi_padding) {
var structure = mol_with_aromatic.all_atoms [aromatic.indices [0]].structure;
......@@ -50,10 +51,10 @@ export var _detect_pi_cat = function (mol_with_aromatic, mol_with_pos_charge, cu
return py_iter (__accu0__);
}) ())) + ']';
if (name_of_charged == 'LIGAND') {
cat_pi_labels.append (tuple ([charged_mol_lbls, aromatic_mol_lbls]));
cat_pi_labels.append (tuple ([charged_mol_lbls, aromatic_mol_lbls, dict ({'distance': charge_ring_dist})]));
}
else {
cat_pi_labels.append (tuple ([aromatic_mol_lbls, charged_mol_lbls]));
cat_pi_labels.append (tuple ([aromatic_mol_lbls, charged_mol_lbls, dict ({'distance': charge_ring_dist})]));
}
}
}
......
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:09
// Transcrypt'ed from Python, 2021-11-20 02:43:22
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 {Mol} from './binana._structure.mol.js';
......@@ -27,7 +27,7 @@ export var get_close = function (ligand, receptor, cutoff) {
hashtable_entry_add_one (ligand_receptor_atom_type_pairs_close, list_alphebetize_and_combine (list_ligand_atom));
pdb_close_contacts.add_new_atom (ligand_atom.copy_of ());
pdb_close_contacts.add_new_atom (receptor_atom.copy_of ());
close_contacts_labels.append (tuple ([ligand_atom.string_id (), receptor_atom.string_id ()]));
close_contacts_labels.append (tuple ([ligand_atom.string_id (), receptor_atom.string_id (), dict ({'distance': dist})]));
}
return dict ({'counts': ligand_receptor_atom_type_pairs_close, 'mol': pdb_close_contacts, 'labels': close_contacts_labels});
};
......
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:09
// Transcrypt'ed from Python, 2021-11-20 02:43:22
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 {Mol} from './binana._structure.mol.js';
......@@ -27,7 +27,7 @@ export var get_closest = function (ligand, receptor, cutoff) {
hashtable_entry_add_one (ligand_receptor_atom_type_pairs_closest, list_alphebetize_and_combine (list_ligand_atom));
pdb_closest_contacts.add_new_atom (ligand_atom.copy_of ());
pdb_closest_contacts.add_new_atom (receptor_atom.copy_of ());
closest_contacts_labels.append (tuple ([ligand_atom.string_id (), receptor_atom.string_id ()]));
closest_contacts_labels.append (tuple ([ligand_atom.string_id (), receptor_atom.string_id (), dict ({'distance': dist})]));
}
return dict ({'counts': ligand_receptor_atom_type_pairs_closest, 'mol': pdb_closest_contacts, 'labels': closest_contacts_labels});
};
......
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:09
// Transcrypt'ed from Python, 2021-11-20 02:43:22
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 {hashtable_entry_add_one, list_alphebetize_and_combine} from './binana._utils.utils.js';
......
......@@ -2,7 +2,7 @@
// LICENSE.md or go to https://opensource.org/licenses/Apache-2.0 for full
// details. Copyright 2020 Jacob D. Durrant.
// Transcrypt'ed from Python, 2021-11-19 00:20:09
// Transcrypt'ed from Python, 2021-11-20 02:43:22
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 {Mol} from './binana._structure.mol.js';
......
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