Coder Social home page Coder Social logo

mosaics-nih / mosaics Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 340.89 MB

A collection of tools for characterizing membrane structure and dynamics within simulated trajectories of molecular systems.

License: Other

C 24.70% C++ 74.22% CMake 0.11% Gnuplot 0.92% Shell 0.03% Tcl 0.03%
biophysics dynamics grid lattice lipids membrane mosaics simulations structure nih

mosaics's Introduction

About MOSAICS

MOSAICS is a collection of tools for characterizing membrane structure and dynamics within simulated trajectories of molecular systems. These tools focus on the efficient computation of spatially resolved time-averaged lipid observables like the membrane thickness, lipid tilt angle, residence time, etc. However, other types of analysis are possible; see "mosaics_user_manual.pdf" for details. To ensure peak performance, we have programmed MOSAICS in C++ and implemented a trajectory reading framework called the MOSAICS Analysis Template, or MosAT for short. MosAT reads individual trajectory snapshots into memory, thus reducing memory requirements and enabling the analysis of very large trajectory files. MosAT is also programmed to distribute the workload across available computing cores. As such, each MOSAICS tool is fully parallelized.

Software/hardware requirements

  • A computing cluster
  • A recent version of Open MPI
  • A c++ compiler like g++
  • A c++ compiler with MPI support like mpic++

Installation instructions

Here we provide a brief overview of the installation process. We note that a more detailed description is provided in the user manual.

 cd MOSAICS
 mkdir build
 export MPI_CPP_COMP="mpic++"
 export CPP_COMP="g++"   
 sh install_commands

Alternatively, the user can try the following CMake recipe:

 cd MOSAICS
 mkdir build
 cmake src/MosAT/programs/ -S . -B build/
 cmake --build build/

Getting started

Detailed instructions for using each tool can be found in the user manual, i.e., "mosaics_user_manual.pdf". Note that we provide a sample trajectory in the "examples/membrane_thickness/" folder so the user can reproduce much of the analysis shown in the user manual. Example input files, such as selection cards and parameter files, are also included in the "examples/" folder. We also include scripts, mainly used for ploting grid data, in the "scripts/" folder.

Code layout

The MOSAICS source code is organized as follows:

  • Source code for MosAT-based tools is located in "src/MosAT/"
  • Source code for non-MosAT-based tools is located in "src/other_tools/"
  • Header files encompassing the MOSAICS library are located in "src/headers/"
  • Files sourced from MDTraj that are used for reading GROMACS trajectories are located in "src/xdr/"
  • Routines sourced from the GROMACS MD simulation package are located in "src/gmx_lib/"

License

MOSAICS is licensed under the BSD-3-clause license, and additional details may be found in the "LICENSE" file; see also for licensing info regarding code sourced from GROMACS and MDTraj.

Citing MOSAICS

Please cite Bernhardt N, Faraldo-Gómez JD, MOSAICS: A Software Suite for Analysis of Membrane Structure and Dynamics in Simulated Trajectories, Biophysical Journal (2022), doi: https:// doi.org/10.1016/j.bpj.2022.11.005.

BibTeX

@article{BERNHARDT2022,
    title = {MOSAICS: A Software Suite for Analysis of Membrane Structure and Dynamics in Simulated Trajectories},
    journal = {Biophysical Journal},
    year = {2022},
    issn = {0006-3495},
    doi = {https://doi.org/10.1016/j.bpj.2022.11.005},
    url = {https://www.sciencedirect.com/science/article/pii/S0006349522009031},
    author = {Nathan Bernhardt and José D. Faraldo-Gómez},
}

Feedback

Please report bugs identified within the source code and other errors like typos found in the user manual using the issues feature. Other comments and suggestions are always welcome. Thank you for your help.

Troubleshooting

Are you having difficulty using MOSAICS? Not certain how to prepare your simulation for analysis? Need help adding an unrecognized lipid type or other basic inputs parameters? No problem! Please post your questions in the issues section.

mosaics's People

Contributors

bernhardtna avatar giacomofiorin avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

giacomofiorin

mosaics's Issues

Half Membrane Output in Mean Coordinate Calculation

Hello,

I am conducting a simulation of a POPC membrane (all-atom simulation) and attempting to calculate the mean average coordinate. However, I am encountering an issue where the calculation only provides half of the membrane. I'm a bit confused about why this is happening within the system.

Could you please provide guidance on this problem?

Regards,

Aashish

Screenshot from 2023-12-13 10-45-31

problem regarding building zcoord_mpi

Hello Mosaics devloper,

I want to analyze membrane curvature and thickness. I am able to calculate the mean average or use many other executables, but the zcoord_mpi executable is not being built.

Can you please guide me on how to build the executable?

Thanks,

Aashish

Installation issue

Hi,
This seems to be a wonderful tool for lipid calculation. But during the usage of MOSAICS, I noticed zcoord_mpi and membrane_thickness_mpi executables are not created. During the installation, there were some error messages. I am attaching the screenshots here. It would be great if you could suggest something to overcome the issue.
Thanks,
Hindol

Screenshot 2023-04-04 143932
Screenshot 2023-04-04 144132

Error during installation

Hi there,

Tried sh install_commands and got a bunch of:

src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
 };
 ^
src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
src/xdr/src/xdrfile.cpp:77:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
src/xdr/src/xdrfile_trr.cpp: In function ‘int do_trnheader(XDRFILE*, mybool, t_trnheader*)’:
src/xdr/src/xdrfile_trr.cpp:96:18: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
  char *version = "GMX_trn_file";
                  ^~~~~~~~~~~~~~

Any suggestions?

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.