Skip to main content

Automated Stepwise Addition Procedure for Extrafullerene.

Project description

AutoSteper

PyPI version Downloads PyPI - License Documentation Status

Automated Stepwise Addition Procedure for Extrafullerene.

A detailed description could be found in the article: Exploring exohedral functionalization of fullerene with Automation and Neural Network Potential. overview

Overview of the Stepwise model.

Demonstration of core functions could be found in ./gym.

Documentation could be found at https://autosteper.readthedocs.io/.

Install

For users

Autosteper has an dependency on multiple python packages, namely, the importlib-metadata, ase, numpy, pandas, networkx, tqdm, matplotlib, seaborn, and dpdispatcher. Installation of all of them along with this project has been integrated into a single command line:

pip install autosteper

Besides, Autosteper relies on open source project FullereneDataParser to convert 3D coordinates to graph6str format and properly visualize isomers, pathways, and SWR pairs. FullereneDataParser has not been published on Pypi. According to Pypi policy, the unpublished project could not be used as a dependency for the published package. Therefore, it needs to be installed separately:

pip install git+https://github.com/XJTU-ICP/FullereneDataParser

Note: FullereneDataParser contains part of C++ code, to properly install, an advanced compiler version is required. Simply load the highest available version of compiler will avoid most of the problems. See below.

Finally, the in-house built C++ project usenauty needs to be collected. usenauty is a lightweight tool to enumerate non-isomorphic addition patterns with nauty algorithm which is created by Brendan D. McKay. The original modification is performed in usenauty by XJTU-ICP member Y. B. Han. Here we employ a branch version of it.

Unlike previously mentioned packages, the installation of usenauty is different for Linux and Windows. There are two pre-compiled releases for two platforms, users are encouraged to download the corresponding releases.

For example, linux users could download the gcc-8.4.0 version with command line as below:

wget https://github.com/Franklalalala/usenauty/releases/download/linux/cagesearch

After downloading, users need to assign execution permissions and load a gcc environment:

chmod +x path/to/cagesearch
module load compiler/gcc/8.4.0

Note that, any gcc version above 8.4.0 is technically suitable.

If everything goes well, a gentle notation is expected after executing this binary file:

path/to/cagesearch

image-20221220010149410

The usenauty notation.

The absolute path of this file corresponds to the gen_core_path in the generator module, as demonstrated in test_step.py.

Tips for users from Chinese Mainland

A GitHub Proxy will speed up the installation from github:

pip install git+https://ghproxy.com/https://github.com/XJTU-ICP/FullereneDataParser
wget https://ghproxy.com/https://github.com/Franklalalala/usenauty/releases/download/linux/cagesearch

For developers

Any contribution is greatly appreciated. To install from the source code, the AutoSteper package:

git clone https://github.com/Franklalalala/AutoSteper
cd AutoSteper
pip install . -e

The FullereneDataParser package:

git clone https://github.com/XJTU-ICP/FullereneDataParser
cd FullereneDataParser
pip install . -e

To compile the usenauty project, please follow instructions in usenauty.

Note

Issues are welcomed if you have any questions.

Contributions needs to stay in line with Conventional Commit messages.

Contact me: 1660810667@qq.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

AutoSteper-2.1.1.tar.gz (8.9 MB view hashes)

Uploaded Source

Built Distribution

AutoSteper-2.1.1-py3-none-any.whl (41.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page