UCL-CCS / TIES

Topology Superimposition based on joint graph traversal
MIT License
5 stars 1 forks source link

Spurious bonds since ParmED update #302

Closed adw62 closed 2 years ago

adw62 commented 2 years ago

I'm still trying to prep these Fluorine systems, since the ParmED update I have noticed some spurious bonds in the visualization of some systems: Screenshot from 2022-07-06 10-21-59

I'm concerned about the bond crossing the ring, is this real will it effect the simulation?

These are the files which reproduce this: example.zip

This did not occur before the ParmED update if that gives us any clues.

bieniekmateusz commented 2 years ago

Heya, I'll look at it first thing in the evening if that's ok! there was a slight difference in how bonds are represented in parmed and mdanalysis and maybe somewhere on the way that breaks

adw62 commented 2 years ago

Yh sure thanks :) no rush

bieniekmateusz commented 2 years ago

I didn't get this bond: ties create -l l_H18.mol2 ligand.mol2 -nc 1 nobond

To visualise it I used source ./ties-l_H18-ligand/lig/vis.sh which I believe was turning off any bond guessing. Although the bond in your picture is longer so it's unlikely to have been guessed.

Since we use superimposition with heuristics, I wonder if something went wrong but it seems unlikely.

Would you mind trying to reproduce it?

adw62 commented 2 years ago

Yh sure thanks for taking a look, I'll give it another stab tomorrow. The only thing I will guess now is the bond is in complex.prmtop not the pdb so if vis.sh does not use that information it wont appear. Also I've done this via the api, it's unlikely but could be a source of difference.

bieniekmateusz commented 2 years ago

I tried the manual approach rather than the vis.sh but no luck. I can see it of course in your .prmtop

adw62 commented 2 years ago

Running the command you put I get the same result, so correct bonds. I will make a minimal example with the api that is causing the problem.

adw62 commented 2 years ago

This causes the problem and I can see it in vis.sh

#ties20 imports
from ties import Pair, Ligand
from ties import Config
from ties.protein import Protein

config = Config()
config.ligand_net_charge = 1
L1 = Ligand('ligand.mol2', config=config)
L1.antechamber_prepare_mol2()

L2 = Ligand('./l_H18.mol2', config=config)
L2.antechamber_prepare_mol2()

pair = Pair(L1, L2, ligand_net_charge=1, config=config)
pair.make_atom_names_unique()

hybrid = pair.superimpose()

# save meta data
hybrid.write_metadata()
hybrid.write_pdb()
hybrid.write_mol2()

hybrid.prepare_inputs()
bieniekmateusz commented 2 years ago

Heya,

Sadly enough this didn't produce any files (I think they must have been saved in the temp dir). I added the workdir: config.workdir = '/home/dresio/ucl/alex_wade/spurious_bond/tiesapi' and the problem with the bond did not occur. At least visually I cannot see it. Would you mind make a new dir and trying from scratch? Thanks

bieniekmateusz commented 2 years ago

My main deps are:

ambertools                21.12            py39hc630cb1_0    conda-forge
amberutils                21.0                     pypi_0    pypi
parmed                    3.4.3            py39h5a03fae_2    conda-forge

with python 3.9,

adw62 commented 2 years ago

I have made a fresh install on a new machine and tried to match your env. I get the same result unfortunately.

For reproducibility this is my environment yml: environment.txt

I'm running Ubuntu 20.04.4 LTS on a 64 bit machine with Python 3.9.13 (GCC 10.3.0)

Can you provide your env yml please I will try to reproduce your environment fully?

bieniekmateusz commented 2 years ago

Heya. I have a developer version installed ie pip install -e . and below is my environment, I will try to use yours as well. matties.txt

adw62 commented 2 years ago

hmmmmm I see the same again with your env this is what pip freeze reports if that adds any more info:

AmberLite==16.0 AmberUtils==21.0 asttokens @ file:///home/conda/feedstock_root/build_artifacts/asttokens_1618968359944/work astunparse @ file:///home/conda/feedstock_root/build_artifacts/astunparse_1610696312422/work attrs @ file:///home/conda/feedstock_root/build_artifacts/attrs_1640799537051/work backcall @ file:///home/conda/feedstock_root/build_artifacts/backcall_1592338393461/work backports.functools-lru-cache @ file:///home/conda/feedstock_root/build_artifacts/backports.functools_lru_cache_1618230623929/work biopython==1.79 certifi==2022.6.15 cftime @ file:///home/conda/feedstock_root/build_artifacts/cftime_1649636863755/work cycler @ file:///home/conda/feedstock_root/build_artifacts/cycler_1635519461629/work Cython @ file:///home/conda/feedstock_root/build_artifacts/cython_1652809236105/work decorator @ file:///home/conda/feedstock_root/build_artifacts/decorator_1641555617451/work dill @ file:///home/conda/feedstock_root/build_artifacts/dill_1653058582944/work dimod==0.11.1 docopt==0.6.2 dwave-networkx==0.8.12 executing @ file:///home/conda/feedstock_root/build_artifacts/executing_1646044401614/work fasteners==0.17.3 fonttools @ file:///home/conda/feedstock_root/build_artifacts/fonttools_1651017733844/work greenlet @ file:///home/conda/feedstock_root/build_artifacts/greenlet_1648882382645/work GridDataFormats==1.0.1 gsd==2.5.2 iniconfig @ file:///home/conda/feedstock_root/build_artifacts/iniconfig_1603384189793/work ipython @ file:///home/conda/feedstock_root/build_artifacts/ipython_1653754934243/work jedi @ file:///home/conda/feedstock_root/build_artifacts/jedi_1649067096717/work joblib @ file:///home/conda/feedstock_root/build_artifacts/joblib_1633637554808/work kiwisolver @ file:///home/conda/feedstock_root/build_artifacts/kiwisolver_1648854392795/work llvmlite==0.36.0 matplotlib @ file:///home/conda/feedstock_root/build_artifacts/matplotlib-suite_1651609462317/work matplotlib-inline @ file:///home/conda/feedstock_root/build_artifacts/matplotlib-inline_1631080358261/work MDAnalysis==2.2.0 mdtraj @ file:///home/conda/feedstock_root/build_artifacts/mdtraj_1638287952664/work MMPBSA.py==16.0 mmtf-python==1.1.2 mock @ file:///home/conda/feedstock_root/build_artifacts/mock_1648992807889/work mpiplus @ file:///home/conda/feedstock_root/build_artifacts/mpiplus_1637285038234/work mrcfile==1.3.0 msgpack==1.0.4 multiprocess @ file:///home/conda/feedstock_root/build_artifacts/multiprocess_1653595568028/work munkres==1.1.4 netCDF4 @ file:///home/conda/feedstock_root/build_artifacts/netcdf4_1636302994507/work networkx==2.8.3 nose @ file:///home/conda/feedstock_root/build_artifacts/nose_1602434998960/work numba @ file:///home/conda/feedstock_root/build_artifacts/numba_1623568543876/work numexpr @ file:///home/conda/feedstock_root/build_artifacts/numexpr_1649636757217/work numpy @ file:///home/conda/feedstock_root/build_artifacts/numpy_1653325313343/work OpenMM==7.7.0 openmmtools @ file:///home/conda/feedstock_root/build_artifacts/openmmtools_1654714690738/work packaging @ file:///home/conda/feedstock_root/build_artifacts/packaging_1637239678211/work packmol-memgen==1.2.1rc0 pandas==1.4.2 ParmEd @ file:///home/conda/feedstock_root/build_artifacts/parmed_1650082866922/work parso @ file:///home/conda/feedstock_root/build_artifacts/parso_1638334955874/work pdb4amber==20.1 pdbfixer @ file:///home/conda/feedstock_root/build_artifacts/pdbfixer_1631833746479/work pexpect @ file:///home/conda/feedstock_root/build_artifacts/pexpect_1602535608087/work pickleshare @ file:///home/conda/feedstock_root/build_artifacts/pickleshare_1602536217715/work Pillow @ file:///home/conda/feedstock_root/build_artifacts/pillow_1653922716870/work pluggy @ file:///home/conda/feedstock_root/build_artifacts/pluggy_1648772597647/work prompt-toolkit @ file:///home/conda/feedstock_root/build_artifacts/prompt-toolkit_1649130487073/work ptyprocess @ file:///home/conda/feedstock_root/build_artifacts/ptyprocess_1609419310487/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl pure-eval @ file:///home/conda/feedstock_root/build_artifacts/pure_eval_1642875951954/work py @ file:///home/conda/feedstock_root/build_artifacts/py_1636301881863/work pycairo==1.21.0 Pygments @ file:///home/conda/feedstock_root/build_artifacts/pygments_1650904496387/work pymbar==3.0.5 pyMSMT==20.0 pyparsing @ file:///home/conda/feedstock_root/build_artifacts/pyparsing_1652235407899/work pytest==7.1.2 python-dateutil @ file:///home/conda/feedstock_root/build_artifacts/python-dateutil_1626286286081/work pytraj==2.0.6 pytz @ file:///home/conda/feedstock_root/build_artifacts/pytz_1647961439546/work PyYAML @ file:///home/conda/feedstock_root/build_artifacts/pyyaml_1648757097602/work reportlab==3.5.68 sander==16.0 scikit-learn @ file:///home/conda/feedstock_root/build_artifacts/scikit-learn_1652976687386/work scipy @ file:///home/conda/feedstock_root/build_artifacts/scipy_1653073865807/work six @ file:///home/conda/feedstock_root/build_artifacts/six_1620240208055/work SQLAlchemy @ file:///home/conda/feedstock_root/build_artifacts/sqlalchemy_1654061529060/work stack-data @ file:///home/conda/feedstock_root/build_artifacts/stack_data_1644872665635/work tables @ file:///home/conda/feedstock_root/build_artifacts/pytables_1643135938562/work tabulate==0.8.9 threadpoolctl @ file:///home/conda/feedstock_root/build_artifacts/threadpoolctl_1643647933166/work ties @ file:///home/a/TIES20/gits/TIES20 ties-analysis==0.1 TIES-MD==0.1 tomli @ file:///home/conda/feedstock_root/build_artifacts/tomli_1644342247877/work tqdm==4.64.0 traitlets @ file:///home/conda/feedstock_root/build_artifacts/traitlets_1654067514780/work unicodedata2 @ file:///home/conda/feedstock_root/build_artifacts/unicodedata2_1649111919389/work wcwidth @ file:///home/conda/feedstock_root/build_artifacts/wcwidth_1600965781394/work

adw62 commented 2 years ago

Let me try a whole new conda, I'm not convinced the new env was not pulling from a download cache.

Edit: get same result with whole new conda installed?!

bieniekmateusz commented 2 years ago

haha this is getting more and more interesting then, I'll try tomorrow evening your env

bieniekmateusz commented 2 years ago

I reproduced it with your env. And in fact now it started happening with my env as well. Will keep you posted.

bieniekmateusz commented 2 years ago

I am surprised as I remember switching to a different representation (ie not just the atom names), something to revisit