Metadata-Version: 2.1
Name: atom3d
Version: 0.1.2
Summary: ATOM3D: Tasks On Molecules in 3 Dimensions
Home-page: https://www.atom3d.ai
Author: ATOM3D developers
License: MIT
Platform: UNKNOWN
Description-Content-Type: text/markdown
Requires-Dist: argparse
Requires-Dist: biopython
Requires-Dist: click
Requires-Dist: easy-parallel
Requires-Dist: freesasa
Requires-Dist: h5py
Requires-Dist: lmdb
Requires-Dist: msgpack
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: python-dotenv (>=0.5.1)
Requires-Dist: scipy
Requires-Dist: tables
Requires-Dist: torch
Requires-Dist: tqdm

# ATOM3D: Tasks On Molecules in 3 Dimensions

[![Documentation
Status](https://readthedocs.org/projects/atom3d/badge/?version=latest)](http://atom3d.readthedocs.io/?badge=latest)
![Package](https://github.com/drorlab/atom3d/workflows/package/badge.svg)
[![codecov](https://codecov.io/gh/drorlab/atom3d/branch/master/graph/badge.svg?token=DHH78W45AB)](https://codecov.io/gh/drorlab/atom3d)
[![PyPI version](https://badge.fury.io/py/atom3d.svg)](https://badge.fury.io/py/atom3d)

[ATOM3D](https://www.atom3d.ai/) enables machine learning on three-dimensional molecular structure.

## Features

* Access to several datasets involving 3D molecular structure. 
* LMDB data format for storing lots of molecules (and associated metadata).
* Utilities for splitting/filtering data based on many criteria.

For more detailed information, [read the documentation](https://atom3d.readthedocs.io/en/latest/).


## Reference

We provide an overview on ATOM3D and details on the preparation of all datasets in our preprint:

> R. J. L. Townshend, M. Vögele, P. Suriana, A. Derry, A. Powers, Y. Laloudakis, S. Balachandar, B. Anderson, S. Eismann, R. Kondor, R. B. Altman, R. O. Dror "ATOM3D: Tasks On Molecules in Three Dimensions", [arXiv:2012.04035](https://arxiv.org/abs/2012.04035)

Please cite this work if some of the ATOM3D code or datasets are helpful in your scientific endeavours. For specific datasets, please also cite the respective original source(s), given in the preprint.


## Installation/Usage

Install with:

```
make requirements
```

To use rdkit functionality, please install within conda:

```
conda create -n atom3d python=3.6 pip rdkit
conda activate atom3d
make requirements
```

### LMDB datasets

LMDB allows for compressed, fast, random access to your structures, all within a
single database.  Currently, we support creating LMDB datasets from PDB files, silent files, and xyz files.

#### Creating an LMDB dataset

From command line:
```
python -m atom3d.datasets PATH_TO_PDB_DIR PATH_TO_LMDB_OUTPUT --filetype {pdb,silent,xyz,xyz-gdb} 
```

#### Loading an LMDB dataset

From python:
```
from atom3d.datasets import LMDBDataset

dataset = LMDBDataset(PATH_TO_LMDB)
print(len(dataset))  # Print length
print(dataset[0])  # Print 1st entry
```

From C++:

 We provide example C++ code to load the LMDB datasets [here](https://github.com/drorlab/atom3d/tree/master/atom3d/cpp/lmdb-reader).

For more usage, please see the [documentation](https://atom3d.readthedocs.io/en/latest/).

## Contribute

* Issue Tracker: https://github.com/drorlab/atom3d/issues
* Source Code: https://github.com/drorlab/atom3d

## Support

If you are having issues, please let us know.
We have a mailing list located at: atom3d@googlegroups.com

## License

The project is licensed under the MIT license.


