semvec/pypi-packages huggingface dataset:
linear-transforms 0.0.1
Python coordinate frame transform library
Requires Python: >=3.6

# Transforms: Python coordinate frame transform library

![alt text](tests/coverage/coverage.svg ".coverage available in tests/coverage/")

Library to ease work with 3D coordinate frame transformations, by two means:
- Easy-to-operate-with symbolic/numerical linear transformation classes
- LaTeX export and enhanced console printing of transformation matrices

Nice experiment to learn about operator overloading.

`Antonio Lopez Rivera, 2020`

---

[ 1. Install ](#1-install)

[ 2. Usage and Syntax ](#2-usage-and-syntax)

[ 3. To-do ](#3-to-do)

## 1. Install

1. Place `transforms.py` and `utilities.py` in your root directory (or another, but mind the import)
2. `from transforms import Tx, Ty, Tz`

## 2. Usage and Syntax

All code available in `demo.py`.

### `2.1 Creating a Linear Transformation`

Transformation describing the position of a rotated object (by angle `a`) from its original frame of reference:

    Ta = Tx(a)
    
The linear transformation class may be initialized with a `Sympy.Symbol`, or regular values for the rotation angle

### `2.2 Lambdifying a symbolic linear transformation`

Turning a symbolic linear transformation to a numerical one can be done by calling the transformation itself.

    T_num = Ta(<VALUE>)

### `2.3 Operating with Linear Transformations`

Transform concatenation is defined with the multiplication sign, as well as the addition sign. The multiplication notation is recommended.

    Tt = Ta*Tb*Tc
    TT = Ta+Tb+Tc
    
    Tt == TT
    
Transform multiplication with NumPy or SymPy arrays is defined with the multiplication sign alone.

    r = np.array([1, 1, 1])
    
    r_tr = Tt*r
    
### `2.4 Inspecting matrices`

#### _LaTeX_

Transformations, symbolic and numerical, can be outputed to LaTeX with the function call below. The latex equation will be visible in the terminal in light blue.

    r_tr.to_latex()

#### _Printing_

Printing a transformation will output an ASCII representation in the terminal

    print(r_tr)

## 3. To-do

1. n-dimensional transform matrix generation
bitclust 0.0.13
Fast and memory-efficient clustering of long Molecular Dynamics

# BitClust: Fast and memory-efficient clustering of long Molecular Dynamics


## Home Page

BitClust´s latest documentation is available [here](https://bitclust.readthedocs.io/en/latest/) 


## Description

**BitClust** is a Python command-line interface (CLI) conceived for fast
clustering of relatively long Molecular Dynamics trajectories following
Daura's algorithm [1]. Retrieved clusters are roughly equivalent to those
reported by **VMD's** internal command **measure cluster** but they are computed in a much faster way (see benchmark section for more details).


## Motivation

Nowadays very long simulations are carried on routinely. Enhanced sampling
methods like metadynamics, REMD, and accelerated dynamics allow escaping from
potential energy minima, returning trajectories that are conformationally sparsed
and where every cluster can be potentially important to detect and analyze. Improvements
on software designed to address this task is an important field of research.

**BitClust** offer is a classical tradeoff; RAM for speed. It can
calculate all pairwise distances between frames to run a clustering job and
then store them in memory instead of recalculating them whenever a cluster is found.
It is worth noting that used memory has been deeply optimized by encoding similarity distances
as bits (0 if the distance is less equal than a specified threshold, 1 otherwise).
This encoding result in a storage reduction as high as 32X/64X compared to similar algorithms
that saves the same information as single-precision/double-precision float values.


## Main Dependencies

**BitClust** is built on the shoulders of two giants:

 *  [MDTraj software](http://mdtraj.org/1.9.0/)  that allows a very fast
    calculation of RMSD pairwise distances between all frames of trajectories in
    a parallelized fashion **and**

 * [bitarray third-party python library](https://pypi.org/project/bitarray/) 
   which offers a memory-efficient data structure of bit-vectors (bit arrays)
   and a set of bitwise operations that are the very heart of our clustering
   implementation.


## Citation

If you make use of **BitClust** in your scientific work, **BitCool** and [cite it ;)](https://doi.org/10.1021/acs.jcim.9b00828)


## Licence

**BitClust** is licensed under GNU General Public License v3.0.
  
  
## Reference

[1] Daura, X.; van Gunsteren, W. F.; Jaun, B.; Mark, A. E.; Gademann, K.; Seebach, D. Peptide Folding: When Simulation Meets Experiment. Angew. Chemie Int. Ed. 1999, 38 (1/2), 236–240.
linear-transformations 0.0.0
Python coordinate frame transform library
Requires Python: >=3.6

# Transforms: Python coordinate frame transform library

![alt text](tests/coverage/coverage.svg ".coverage available in tests/coverage/")

Library to ease work with 3D coordinate frame transformations, by two means:
- Easy-to-operate-with symbolic/numerical linear transformation classes
- LaTeX export and enhanced console printing of transformation matrices

Nice experiment to learn about operator overloading.

`Antonio Lopez Rivera, 2020`

---

[ 1. Install ](#1-install)

[ 2. Usage and Syntax ](#2-usage-and-syntax)

[ 3. To-do ](#3-to-do)

## 1. Install

1. Place `transforms.py` and `utilities.py` in your root directory (or another, but mind the import)
2. `from transforms import Tx, Ty, Tz`

## 2. Usage and Syntax

All code available in `demo.py`.

### `2.1 Creating a Linear Transformation`

Transformation describing the position of a rotated object (by angle `a`) from its original frame of reference:

    Ta = Tx(a)

The linear transformation class may be initialized with a `Sympy.Symbol`, or regular values for the rotation angle

### `2.2 Lambdifying a symbolic linear transformation`

Turning a symbolic linear transformation to a numerical one can be done by calling the transformation itself.

    T_num = Ta(<VALUE>)

### `2.3 Operating with Linear Transformations`

Transform concatenation is defined with the multiplication sign, as well as the addition sign. The multiplication notation is recommended.

    Tt = Ta*Tb*Tc
    TT = Ta+Tb+Tc

    Tt == TT

Transform multiplication with NumPy or SymPy arrays is defined with the multiplication sign alone.

    r = np.array([1, 1, 1])

    r_tr = Tt*r

### `2.4 Inspecting matrices`

#### _LaTeX_

Transformations, symbolic and numerical, can be outputed to LaTeX with the function call below. The latex equation will be visible in the terminal in light blue.

    r_tr.to_latex()

#### _Printing_

Printing a transformation will output an ASCII representation in the terminal

    print(r_tr)

## 3. To-do

1. n-dimensional transform matrix generation