GithubHelp home page GithubHelp logo

jarrettsjohnson / quickses Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nezix/quickses

0.0 0.0 0.0 376 KB

Tool to compute molecular Solvent Excluded Surface meshes on the GPU using CUDA

License: MIT License

C++ 61.89% C 0.70% Cuda 36.96% Makefile 0.45%

quickses's Introduction

QuickSES

Tool to compute molecular Solvent Excluded Surface meshes on the GPU using CUDA.

Implementation of Hermosilla's paper: Hermosilla, Pedro, Michael Krone, Victor Guallar, Pere-Pau Vázquez, Àlvar Vinacua, and Timo Ropinski. "Interactive GPU-based generation of solvent-excluded surfaces

You can find it here : https://www.uni-ulm.de/fileadmin/website_uni_ulm/iui.inst.100/institut/Papers/viscom/2017/hermosilla17ses.pdf

This implementation contains a 3D uniform grid to access atoms neighbors in constant time and a Marching Cubes algorithm implemented in CUDA, a method to weld mesh vertices is also implemented on the GPU.

Example

$> wget https://files.rcsb.org/download/1KX2.pdb
$> ./QuickSES -i 1KX2.pdb -o 1KX2_Surface.obj -v 0.2

Input / Output

QuickSES uses CPDB for parsing PDB files : https://github.com/vegadj/cpdb

$ ./QuickSES
Usage:   QuickSES {OPTIONS}

    QuickSES, SES mesh generation using GPU

  OPTIONS:

      -i[input.pdb]                     Input PDB file
      -o[output.obj]                    Output OBJ mesh file
      -l[smooth factor]                 (1) Times to run Laplacian smoothing step.
      -v[voxel size]                    (0.5) Voxel size in Angstrom. Defines the quality of the mesh.
      -s[slice size]                    (300) Size of the sub-grid. Defines the quantity of GPU memory needed.
      -h, --help                           Display this help menu

The default resolution is set to 0.5 Å but can be changed at runtime using -v argument.

The size of the slice that defines how much memory QuickSES uses can be changed using -s argument.

The tool can also be used as a library by sending an array of positions and an array of radius per atom (see API_* functions).

Compilation

You CUDA toolkit installed.

Just run the make file with

$> make

This will call nvcc to create a QuickSES executable.

Check the Releases section for pre-built executables.

Contribute

Pull requests are welcome!

Please cite the following paper

Martinez, Xavier, Michael Krone, and Marc Baaden. "QuickSES: A Library for Fast Computation of Solvent Excluded Surfaces." The Eurographics Association, 2019.

@inproceedings{martinez2019quickses,
  title={QuickSES: A Library for Fast Computation of Solvent Excluded Surfaces},
  author={Martinez, Xavier and Krone, Michael and Baaden, Marc},
  year={2019},
  organization={The Eurographics Association}
}

Available here: https://hal.archives-ouvertes.fr/hal-02370900/document

License

License: MIT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.