Skip to content

Commit

Permalink
deploy: 2405a11
Browse files Browse the repository at this point in the history
  • Loading branch information
hmcezar committed Sep 25, 2023
0 parents commit 66ddd01
Show file tree
Hide file tree
Showing 55 changed files with 6,923 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: fee80ef0a1013f90939ae1a89d779839
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file added .doctrees/clusttraj.doctree
Binary file not shown.
Binary file added .doctrees/environment.pickle
Binary file not shown.
Binary file added .doctrees/index.doctree
Binary file not shown.
Binary file added .doctrees/install.doctree
Binary file not shown.
Binary file added .doctrees/intro.doctree
Binary file not shown.
Empty file added .nojekyll
Empty file.
61 changes: 61 additions & 0 deletions _sources/clusttraj.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
clusttraj package
=================

Submodules
----------

clusttraj.classify module
-------------------------

.. automodule:: clusttraj.classify
:members:
:undoc-members:
:show-inheritance:

clusttraj.distmat module
------------------------

.. automodule:: clusttraj.distmat
:members:
:undoc-members:
:show-inheritance:

clusttraj.io module
-------------------

.. automodule:: clusttraj.io
:members:
:undoc-members:
:show-inheritance:

clusttraj.main module
---------------------

.. automodule:: clusttraj.main
:members:
:undoc-members:
:show-inheritance:

clusttraj.plot module
---------------------

.. automodule:: clusttraj.plot
:members:
:undoc-members:
:show-inheritance:

clusttraj.utils module
----------------------

.. automodule:: clusttraj.utils
:members:
:undoc-members:
:show-inheritance:

Module contents
---------------

.. automodule:: clusttraj
:members:
:undoc-members:
:show-inheritance:
22 changes: 22 additions & 0 deletions _sources/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
.. ClustTraj documentation master file, created by
sphinx-quickstart on Sat Sep 16 18:21:59 2023.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to ClustTraj's documentation!
=====================================

.. toctree::
:maxdepth: 2
:caption: Contents:

intro
install
clusttraj


Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
47 changes: 47 additions & 0 deletions _sources/install.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
Installing ClustTraj
====================

Installing ``clusttraj`` is simple and can be achieved using ``pip``:

.. code-block:: console
pip install clusttraj
This will automatically install the package and its dependencies.

We recommend performing the installation in an empty virtual environment.

Dependencies
************

``clustttraj`` dependencies should be installed automatically by ``pip``.

Currently, the following dependencies are installed:

* `NumPy <http://www.numpy.org/>`_
* `OpenBabel <http://openbabel.org/>`_
* `RMSD <https://github.com/charnley/rmsd>`_
* `QML <https://github.com/qmlcode/qml>`_
* `SciPy <https://www.scipy.org/>`_
* `scikit-learn <http://scikit-learn.org/stable/index.html>`_
* `matplotlib <https://matplotlib.org/>`_

Since the ``qml`` project development has been slow, we provide a fork repository in which
we updated the package to be installable in modern enviroments with newer versions of
Python and libraries.
This modified version can be downloaded and installed from `this link <https://github.com/hmcezar/qml>`_.

Installation Problems
*********************

If you have problems installing ``clusttraj`` because installing ``qml`` fails, try installing
``qml`` yourself first.
For Python 3.11, you might have to either disable setuptools distutils setting the environment
variable ``SETUPTOOLS_USE_DISTUTILS=stdlib`` before installing, or downgrading ``setuptools``
to a version prior than 60.0.
For example, you could install ``qml`` with:

.. code-block:: console
pip install "setuptools<60"
pip install "qml @ git+https://github.com/hmcezar/qml@develop"
22 changes: 22 additions & 0 deletions _sources/intro.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Introduction
============

``clusttraj`` is a Python package which aims to cluster similar configurations of molecular dynamics or Monte Carlo simulation trajectories.

The optimal alignment between each snapshot is sought using reordering algorithms and optimal rotations.

Any format supported by `openbabel <https://github.com/openbabel/openbabel>`_ is accepted as input or output, including the popular .xyz, .pdb and .xtc.

Motivation
**********

The idea of ``clusttraj`` is to be an easy to use, and easy to extend platform for clustering trajectories.

We also focus in providing options for the analysis of solute-solvent systems.

Limitations
***********

``clusttraj`` is limited by the agglomerative clustering algorithms provided by `SciPy <https://www.scipy.org/>`_.

However, there are many algorithms implemented for one to choose, as can be seen `here <https://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.hierarchy.linkage.html>`_.
123 changes: 123 additions & 0 deletions _static/_sphinx_javascript_frameworks_compat.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
/* Compatability shim for jQuery and underscores.js.
*
* Copyright Sphinx contributors
* Released under the two clause BSD licence
*/

/**
* small helper function to urldecode strings
*
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
*/
jQuery.urldecode = function(x) {
if (!x) {
return x
}
return decodeURIComponent(x.replace(/\+/g, ' '));
};

/**
* small helper function to urlencode strings
*/
jQuery.urlencode = encodeURIComponent;

/**
* This function returns the parsed url parameters of the
* current request. Multiple values per key are supported,
* it will always return arrays of strings for the value parts.
*/
jQuery.getQueryParameters = function(s) {
if (typeof s === 'undefined')
s = document.location.search;
var parts = s.substr(s.indexOf('?') + 1).split('&');
var result = {};
for (var i = 0; i < parts.length; i++) {
var tmp = parts[i].split('=', 2);
var key = jQuery.urldecode(tmp[0]);
var value = jQuery.urldecode(tmp[1]);
if (key in result)
result[key].push(value);
else
result[key] = [value];
}
return result;
};

/**
* highlight a given string on a jquery object by wrapping it in
* span elements with the given class name.
*/
jQuery.fn.highlightText = function(text, className) {
function highlight(node, addItems) {
if (node.nodeType === 3) {
var val = node.nodeValue;
var pos = val.toLowerCase().indexOf(text);
if (pos >= 0 &&
!jQuery(node.parentNode).hasClass(className) &&
!jQuery(node.parentNode).hasClass("nohighlight")) {
var span;
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
if (isInSVG) {
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
} else {
span = document.createElement("span");
span.className = className;
}
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
document.createTextNode(val.substr(pos + text.length)),
node.nextSibling));
node.nodeValue = val.substr(0, pos);
if (isInSVG) {
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
var bbox = node.parentElement.getBBox();
rect.x.baseVal.value = bbox.x;
rect.y.baseVal.value = bbox.y;
rect.width.baseVal.value = bbox.width;
rect.height.baseVal.value = bbox.height;
rect.setAttribute('class', className);
addItems.push({
"parent": node.parentNode,
"target": rect});
}
}
}
else if (!jQuery(node).is("button, select, textarea")) {
jQuery.each(node.childNodes, function() {
highlight(this, addItems);
});
}
}
var addItems = [];
var result = this.each(function() {
highlight(this, addItems);
});
for (var i = 0; i < addItems.length; ++i) {
jQuery(addItems[i].parent).before(addItems[i].target);
}
return result;
};

/*
* backward compatibility for jQuery.browser
* This will be supported until firefox bug is fixed.
*/
if (!jQuery.browser) {
jQuery.uaMatch = function(ua) {
ua = ua.toLowerCase();

var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
/(msie) ([\w.]+)/.exec(ua) ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
[];

return {
browser: match[ 1 ] || "",
version: match[ 2 ] || "0"
};
};
jQuery.browser = {};
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
}
Loading

0 comments on commit 66ddd01

Please sign in to comment.