MAICoS
======

.. image:: https://raw.githubusercontent.com/maicos-devel/maicos/refs/heads/main/docs/static/logo.svg
   :width: 200 px
   :align: left
   :alt: MAICoS logo

|tests| |codecov| |docs-stable| |docs-latest| |mdanalysis|

.. inclusion-readme-intro-start

**MAICoS** stands for **Molecular Analysis for Interfacial and Confined Systems**. It is
an object-oriented **Python** toolkit for analyzing the structure and dynamics of
interfacial and confined fluids from molecular simulations. Combined with `MDAnalysis`_,
MAICoS enables the extraction of density profiles, dielectric constants, and transport
properties from trajectory files generated by LAMMPS, GROMACS, CHARMM, or NAMD
simulations. MAICoS is open source and released under the **GNU General Public License
v3.0**.

MAICoS is designed both for beginners in molecular simulations with no prior Python
experience— offering a descriptive **Command Line Interface (CLI)**—and for experienced
users who can use the **Python API** for day-to-day analysis or build their own
workflows for interfacial and confined systems.

Stay up to date with MAICoS news by following us on `X`_. If you encounter any issues,
report them on `GitHub`_, or join our developer community on `Discord`_ to discuss
features and improvements.

.. _`MDAnalysis`: https://www.mdanalysis.org
.. _`X`: https://x.com/maicos_analysis
.. _`GitHub`: https://github.com/maicos-devel/maicos
.. _`Discord`: https://discord.gg/mnrEQWVAed

.. inclusion-readme-intro-end

Basic Example
=============

Here is a simple example showing how to use MAICoS to extract a density profile from a
molecular dynamics simulation. The files ``conf.gro`` and ``traj.trr`` correspond to
output files from a `GROMACS`_ simulation. In a Python environment, type:

.. code-block:: python

    import MDAnalysis as mda
    import maicos

    u = mda.Universe("conf.gro", "traj.trr")
    dplan = maicos.DensityPlanar(u.atoms).run()

The density profile is stored in ``dplan.results.profile``, and the corresponding bin
positions are available in ``dplan.results.bin_pos``.

.. _`GROMACS`: https://www.gromacs.org/

Documentation
=============

For details, tutorials, and examples, visit our official `documentation`_. We also
provide the `latest documentation`_ for the current development version of MAICoS.

.. _`documentation`: https://maicos-analysis.org
.. _`latest documentation`: https://maicos-analysis.org/latest

.. inclusion-readme-installation-start

Installation
============

Install MAICoS using `pip`_::

    pip install maicos

Or with `conda`_ from conda-forge::

    conda install -c conda-forge maicos

.. _`pip`: https://pip.pypa.io
.. _`conda`: https://www.anaconda.com

.. inclusion-readme-installation-end

List of Analysis Modules
========================

.. inclusion-marker-modules-start

Currently, MAICoS supports the following analysis modules (alphabetically):

.. list-table::
   :widths: 25 50
   :header-rows: 1

   * - Module
     - Description
   * - DensityCylinder
     - Cylindrical partial density profiles
   * - DensityPlanar
     - Cartesian partial density profiles
   * - DensitySphere
     - Spherical partial density profiles
   * - DielectricCylinder
     - Cylindrical dielectric profiles
   * - DielectricPlanar
     - Planar dielectric profiles
   * - DielectricSphere
     - Spherical dielectric profiles
   * - DiporderCylinder
     - Cylindrical dipolar order parameters
   * - DiporderPlanar
     - Planar dipolar order parameters
   * - RDFDiporder
     - Spherical radial distribution function between dipoles
   * - DiporderSphere
     - Spherical dipolar order parameters
   * - PDFCylinder
     - Cylindrical shell-wise 1D pair distribution functions
   * - PDFPlanar
     - Slab-wise planar 2D pair distribution functions
   * - TemperaturePlanar
     - Temperature profiles in a Cartesian geometry
   * - VelocityCylinder
     - Cylindrical velocity profiles
   * - VelocityPlanar
     - Velocity profiles in a Cartesian geometry

.. inclusion-marker-modules-end

Contributors
============

Thanks to all contributors who make **MAICoS** possible:

.. image:: https://contrib.rocks/image?repo=maicos-devel/maicos
   :target: https://github.com/maicos-devel/maicos/graphs/contributors

.. |tests| image:: https://github.com/maicos-devel/maicos/workflows/Tests/badge.svg
   :alt: GitHub Actions Tests Job Status
   :target: https://github.com/maicos-devel/maicos/actions?query=branch%3Amain

.. |codecov| image:: https://codecov.io/gh/maicos-devel/maicos/graph/badge.svg?token=9AXPLF6CR3
   :alt: Code coverage
   :target: https://codecov.io/gh/maicos-devel/maicos

.. |docs-stable| image:: https://img.shields.io/badge/📚_Documentation-stable-success
   :alt: Documentation of stable released version
   :target: `documentation`_

.. |docs-latest| image:: https://img.shields.io/badge/📒_Documentation-latest-yellow.svg
   :alt: Documentation of latest unreleased version
   :target: `latest documentation`_

.. |mdanalysis| image:: https://img.shields.io/badge/powered%20by-MDAnalysis-orange.svg?logoWidth=16&logo=data:image/x-icon;base64, 
    :alt: Powered by MDAnalysis
    :target: https://www.mdanalysis.org
