Skip to content

grimme-lab/CENSO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NEW: CENSO 2.0

This is the updated version of the former CENSO 1.3 program. New features include the possibility to use CENSO as a package from within Python, template files, dummy functionals, and more! For more information about the use and the capabilities of CENSO 2.0 visit the documentation here.

Installation

Can be installed using pip by running

pip install .

If you want to install and run CENSO without pip you can add the CENSO/src directory to your $PYTHONPATH and add CENSO/bin to your $PATH.

Usage

Basic usage:

python3 -m censo -i [path to ensemble input] --maxcores [number of cores] ...

For information about command line options use the -h option.

If you want to run it via helper script after adding it to your $PATH:

censo -i [path to ensemble input] --maxcores [number of cores]

Please note that the --maxcores option is required for every run.

CENSO can also be used as a package. A basic setup for a CENSO run in a Python file would look like this:

from censo.ensembledata import EnsembleData
from censo.configuration import configure
from censo.ensembleopt import Prescreening, Screening, Optimization
from censo.properties import NMR

workdir = "/absolute/path/to/your/workdir" # CENSO will put all files in this directory
input_path = "rel/path/to/your/inputfile" # path relative to the working directory
ensemble = EnsembleData(workdir)
ensemble.read_input(input_path, charge=0, unpaired=0)
ncores = os.cpu_count() # Could be set to any other positive integer

# If the user wants to use a specific rcfile:
configure(rcpath="/abs/path/to/rcfile")

# Setup all the parts that the user wants to run
parts = [
    part(ensemble) for part in [Prescreening, Screening, Optimization, NMR]
]

# Run all the parts and collect their runtimes
part_timings = []
for part in parts:
    part_timings.append(part.run(ncores))

# If no Exceptions were raised, all the output can now be found in 'workdir'
# Data is given in a formatted plain text format (*.out) and and json format
# The files used in the computations for each conformer can be found in the folders 
# generated by each part, respectively (e.g. '0_PRESCREENING/CONF2/...')

License

CENSO is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

CENSO is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU Lesser General Public License for more details.