-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Hello,
I think an example and more documentation for waterbridge interactions would be very useful. Currently, my selections are
Selection1:protein
Selection2:protein or water
which captures water bridges but also many interactions with water molecules. If I run the analysis for everyframe this results in very big csv files, which are very hard to use(upwards of 20 GB in my case). also i believe there is a bug in interaction selection where if i dont select the aromatic interactions, the process stops after first chunk is analysed with this error.
"""
intermap u1_waterbridge.cfg
101
000 1111 1111
1 10000 10001
1100 11000001 100000 10001 100000 0000 10001 1111 1111111
0000 000011000 000000 0001 1011000000 101001 101001 1111001 100011001
000 000 100 001 100000001 000 10 100101 000 1101 001 101
000 000 100 001 1001 000 00 0001 100 111 01 001 101
10001 000 0000 0000 0000000 10001 1001 01 10001 00110001 0011101
00001 000 00001 1000 10001 000001 111111 111111 1111111 00111
001
10011
11111
2026-02-10 09:35 - INFO - Starting InterMap with the following static parameters:
Job name: u1_waterbridge
Topology: ~/data/simulations//gromacs/step7_production.tpr
Trajectory: ~/data/simulations//gromacs/step7_centered.xtc
String for selection # 1: protein
String for selection # 2: protein or water
Output directory: ~/data/analysis/intermap
Chunk size: 50
Number of processors: 8
Min prevalence: 0.0
Resolution: residue
2026-02-10 09:35 - INFO - Loading trajectory and selections. Using the following SMARTS patterns:
{'anions': '[-{1-},$(O=[C,S,P]-[O-])]',
'cations': '[+{1-},$([NX3&!$([NX3]-O)]-[C]=[NX3+])]',
'hb_acc': '[$([N&!$([NX3]-=[O,N,P,S])&!$([NX3]-[a])&!$([Nv4+1])&!$(N=C(-[C,N])-N)]),$([n+0&!X3&!$([n&r5]:[n+&r5])]),$([O&!$(OX2C=O)&!$(O(~a)~a)&!$(O=N-)&!$([O-]-N=O)]),$([o+0]),$([F&$(F-[# 6])&!$(F-[# 6][F,Cl,Br,I])])]',
'hb_don': '[$([O,S,# 7;+0]),$([Nv4+1]),$([n+]c[nH])]-[H]',
'hydroph': '[c,s,Br,I,S&H0&v2,$([C&R0;$(CH0=),$(CH1-[!# 1]),$([CH2](-[!# 1])-[!# 1])]),$([C;$(CH0(-[!# 1])-[!# 1]),$([CH1](-[!# 1])(-[!# 1])-[!# 1])]),$(C&D4!R(-[CH3])-[CH3]);!$([# 6]~[# 7,# 8,# 9]);+0]',
'metal_acc': '[O,# 7&!$([nX3])&!$([NX3]-=[!# 6])&!$([NX3]-[a])&!$([NX4]),-{1-};!+{1-}]',
'metal_don': '[Ca,Cd,Co,Cu,Fe,Mg,Mn,Ni,Zn]',
'rings5': '[a;r5]1:[a;r5]:[a;r5]:[a;r5]:[a;r5]:1',
'rings6': '[a;r6]1:[a;r6]:[a;r6]:[a;r6]:[a;r6]:[a;r6]:1',
'water': ' [OH2]',
'xb_acc': '[# 7,# 8,P,S,Se,Te,a;!+{1-}]!# [*]',
'xb_don': '[# 6,# 7,Si,F,Cl,Br,I]-[Cl,Br,I,At]'}
2026-02-10 09:35 - WARNING - Element information not found in the topology. Using the atoms name to guess it.
2026-02-10 09:35 - INFO - Trajectory loaded in 2.34 s.
Number of frames to consider (start:last:stride): 10001 (0:10001:1)
/opt/anaconda3/envs/intermap/lib/python3.13/site-packages/MDAnalysis/converters/RDKit.py:500: UserWarning: No hydrogen atom found in the topology. Forcing to continue the conversion.
warnings.warn(
2026-02-10 09:35 - INFO - Residues converted to Rdkit format in 1.54 s
2026-02-10 09:35 - INFO - The following selected atoms were detected and classified:
Total number of atoms: 111407
Number of selected atoms: 80615
In Selection 1 (protein): 4874
In Selection 2 (protein or water): 80615
Hydrophobic: 555
Cations: 67
Anions: 32
Metal acceptors: 25648
Metal donors: 0
Hydrogen bond donors: 51009
Hydrogen bond hydrogens: 51009
Hydrogen bond acceptors: 25648
Halogen bond donors: 0
Halogens: 0
Halogen bond acceptors: 27666
Aromatic rings: 37
Water molecules: 75741
2026-02-10 09:35 - INFO - Interactions to compute & their cutoffs:
{'WaterBridge': {}}
2026-02-10 09:35 - INFO - Estimated base memory allocation for coordinates (64 MB) and interactions (2 MB) arrays.
Detecting Interactions: 0%|▍ | 1/200 [00:01<04:24, 1.33s/chunk]
Traceback (most recent call last):
File "/opt/anaconda3/envs/intermap/lib/python3.13/site-packages/numba/np/arrayobj.py", line 1661, in impl
raise ValueError(msg)
ValueError: cannot assign slice of shape (18496, 3) from input of shape (1500, 3)
The above exception was the direct cause of the following exception:
SystemError: <function _numba_unpickle at 0x1032177e0> returned a result with an exception set
The above exception was the direct cause of the following exception:
SystemError: <function _numba_unpickle at 0x1032177e0> returned a result with an exception set
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/anaconda3/envs/intermap/bin/intermap", line 7, in
sys.exit(run())
~~~^^
File "/intermap/src/intermap/runner.py", line 43, in run/intermap/src/intermap/runner.py", line 151, in workflow
workflow(args)
~~~~~~~~^^^^^^
File "
ijf_chunk, inters_chunk = runpar(
~~~~~~^
xyz_chunk, xyzs_aro, xyz_aro_idx, trees_others, trees_aro,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<4 lines>...
s1_aro_idx, s2_aro_idx, cuts_others, selected_others, cuts_aro,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
selected_aro, overlap, atomic, resconv)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SystemError: CPUDispatcher(<function runpar at 0x11e535260>) returned a result with an exception set
"""