Skip to main content

A small package for making point cloud objects whole in the presence of PBC

Project description

mdvwhole

Density based object completion over all PBC. This repository will eventually be merged with MDVoxelSegmentation.

No copies of the box are made to complete the PBC, instead we use a graph based approach. Therefore object completion is very light on memory and can cover an arbitrary amount of consecutive PBC crossings. The contact distance is based on the voxel resolution (26 neighbors).

alt text

How to cite

For now it is best to cite the original MDVoxelSegmentation article with the note that you used the new beta 'Whole' feature.

@article{Bruininks2021,
  doi = {10.1021/acs.jctc.1c00446},
  url = {https://doi.org/10.1021/acs.jctc.1c00446},
  year = {2021},
  month = oct,
  publisher = {American Chemical Society ({ACS})},
  volume = {17},
  number = {12},
  pages = {7873--7885},
  author = {Bart M. H. Bruininks and Albert S. Thie and Paulo C. T. Souza and Tsjerk A. Wassenaar and Shirin Faraji and Siewert J. Marrink},
  title = {Sequential Voxel-Based Leaflet Segmentation of Complex Lipid Morphologies},
  journal = {Journal of Chemical Theory and Computation}
}

Install

Make sure you are installing for python 3.8 or newer.

pip install mdvwhole

If you are running into issues with the astype('int32') statement, it means you are probably running in a lower version of python (<3.8), or you do not have te latest version of numba. By commenting out the @jit lines one can disable the numba acceleration. This will make it roughly 1.5x slower, but now it will run on any version of python3. It would be nice if this was a flag which could be set.

Usage

Print help:

mdvwhole -h

Making a single gro whole:

mdvwhole -f your_gro.gro

Making a single gro whole and also complete single molecules:

mdvwhole -f your_tpr.tpr -x your_gro.gro -mol True -o whole.gro

Making a trajectory whole:

mdvwhole -f your_gro.gro -x your_xtc -o whole.xtc

Making a trajectory whole and also complete single molecules:

mdvwhole -f your_tpr.tpr -x your_xtc -mol True -o whole.xtc

Using a non-default selection:

mdvwhole -f your_gro.gro -x your_xtc -o whole.xtc -sel 'not resname W WF ION and not name PO4'

Using multiple selections to make whole:

mdvwhole -f your_gro.gro -x your_xtc -o whole.xtc -sel 'resname POPC; not resname W WF ION POPC'

Writing all atoms even if they were not included in a selection:

mdvwhole -f your_gro.gro -x your_xtc -o whole.xtc -sel 'not resname W WF ION' -wa True

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mdvwhole-0.0.5.tar.gz (15.6 kB view hashes)

Uploaded Source

Built Distribution

mdvwhole-0.0.5-py3-none-any.whl (14.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page