Skip to content

scientificomputing/tessellate

Repository files navigation

Tessellate

Documentation Status

A package for quantifying cyclic molecule conformations.

Using

make install; tessellate  data/example-builtin --input-format=builtin --output-format=json
make install; tessellate  data/*DNA --input-format=pdblist --output-format=json

Installing

# installing with pip
pip install tessellate

# Alternatively: compile from source
make install

Usecase 1 - timeseries data

tessellate  data/usecase-timeseries --input-format=builtin --output-format=json --output-dir=output-usecase-timeseries

This data is from an in vacuo ribose simulation stored in data/timeseries-from-VMD To recreate data use the run.sh script. This calls VMD and runs pucker-bigdcd.tcl.

Usecase 2 - RNA and DNA

tessellate  data/usecase-*DNA --input-format=pdblist --output-format=json --output-dir=output-usecase-rnadna

Usecase 3 - Alpha Cyclodextrin

tessellate  data/usecase-*CD --input-format=pdblist --output-format=json --output-dir=output-usecase-cyclodextrin

Run All Usecases

tessellate  data/usecase-timeseries --input-format=builtin --output-format=json --output-dir=output-usecase-timeseries
tessellate  data/usecase-*DNA --input-format=pdblist --output-format=json --output-dir=output-usecase-rnadna
tessellate  data/usecase-*CD --input-format=pdblist --output-format=json --output-dir=output-usecase-cyclodextrin

Additional UseCases

Viewing Data

Try out Montage to create reports for these datasets. For example:

Compare all outputs:

Development

Bump version numbers using bumpversion X=thecurrentversion bumpversion --current-version X minor

To bump from x.y.z to x.y.a use patch as the part: bumpversion --current-version X patch

Features to include:

  • Improve testing and documentation. Port existing tests over.
  • Tables
  • include more RAD functionality

Uploading to PyPi

Use twine

Issues

Report Issues at https://github.com/scientificomputing/tessellate/issues Known issue - only relative paths supported

Read the Docs

Docs are here. RTD is authorised to access GitHub repos. The RTD service hook builds doc on push.

Pandas Dataframes

tessellate  data/usecase-timeseries --input-format=builtin --output-format=pandas --output-dir=output-usecase-timeseries

Using Tessellate as a library

import tessellate as t
import tessellate.utils.pucker as p
import collections
import itertools
def return_pucker(atomids,frame):
 a=[frame[i] for i in atomids]
 pobj=p.Pucker(tuple(itertools.chain.from_iterable(a)))
 return pobj.calculate_triangular_tessellation(), pobj.deduce_canonical_conformation()[0],pobj.deduce_canonical_conformation()[-1],pobj.deduce_canonical_conformation(nextguess=True)[0]

ordered_ringatoms=['C3','C4','C5','O5','C1','C2']
frame={'C1': (-5.799, -5.308, 4.847), 'C2': (-5.383, -5.328, 3.394), 'C3': (-3.904, -4.906, 3.181),'C4': (-3.576, -3.54, 3.944), 'C5': (-4.115, -3.556, 5.339), 'O5': (-5.551, -3.941, 5.38)}
result=collections.OrderedDict()
result["pucker"],result["pucker_conformer"],result["pucker_distance_to_canonical"],result["pucker_next_guess"] = return_pucker(ordered_ringatoms, frame)
import pprint
pprint.pprint(result)

Credits

This package incorporates work from existing packages (all originally developed by Chris B. Barnett.) * https://bitbucket.org/scientificomputing/triangular-tessellation-class http://git.cem.uct.ac.za/analysis-pucker/triangular-tessellation-class * https://bitbucket.org/scientificomputing/ring-analytics-webserver https://bitbucket.org/rxncor/rad-dev http://git.cem.uct.ac.za/analysis-pucker/ring-analytics-dash * https://bitbucket.org/scientificomputing/triangular-tessellation-in-vmd http://git.cem.uct.ac.za/analysis-pucker/triangular-decomposition-timeseries-in-VMD

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

About

Tessellate - Quantifying ring conformation

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published