Skip to content

shunsunsun/ECPredict

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UML Energy & Combustion Research Laboratory

ECPredict: Pre-built predictive models for a variety of fuel properties

GitHub version GitHub license Build Status

ECPredict is an open source Python package containing pre-built models for predicting fuel properties developed by the UMass Lowell Energy and Combustion Research Laboratory team using ECNet. ECPredict currently offers predictive models for the following fuel properties:

To cite this tool, cite ECNet.

Installation

ECPredict must be installed from source. To install from source, download the repository and run setup.py in your command line/terminal/Python environment:

git clone https://github.com/ecrl/ecpredict
cd ecpredict
python setup.py install

ECPredict requires three dependencies: TensorFlow, alvaDescPy, and PaDELPy. If TensorFlow is already installed in your Python environment, you can run setup.py without installing TensorFlow:

python setup.py --omit_tf install

Usage

First, import the function for the fuel property you want to predict:

# Predict cetane number
from ecpredict import cetane_number

# Predict cloud point
from ecpredict import cloud_point

# Predict kinematic viscosity
from ecpredict import kinematic_viscosity

# Predict motor octane number
from ecpredict import motor_octane_number

# Predict octane sensitivity
from ecpredict import octane_sensitivity

# Predict pour point
from ecpredict import pour_point

# Predict research octane number
from ecpredict import research_octane_number

# Predict yield sooting index
from ecpredict import yield_sooting_index

Each function accepts two arguments: a list of SMILES strings, and the backend software used to perform input variable generation. Each function returns a tuple containing the predictions for the supplied SMILES strings (list), and the expected error of the prediction (median absolute error of test set predictions, float):

smiles = ['CCC', 'CCCCC']

# Use PaDEL-Descriptor for input variable generation
predictions, error = cetane_number(smiles)
print(predictions, error)

# Use alvaDesc for input variable generation
predictions, error = cetane_number(smiles, 'alvadesc')
print(predictions, error)
[26.317856, 24.589973] 6.064
[23.902477, 30.3196] 5.1397

Current backend software includes PaDEL-Descriptor and alvaDesc. The default backend software used is PaDEL-Descriptor, and is installed alongside ECPredict. Note that an installation of Java JRE is required to run the PaDEL-Descriptor software. Using alvaDesc requires a valid license.

More information regarding the predictive performance of each model is outlined in the docs directory.

Contributing, Reporting Issues and Other Support:

To contribute to ECPredict, make a pull request. Contributions should include tests for new features added, as well as extensive documentation.

To report problems with the software or feature requests, file an issue. When reporting problems, include information such as error messages, your OS/environment and Python version.

For additional support/questions, contact Travis Kessler (Travis_Kessler@student.uml.edu) and/or John Hunter Mack (Hunter_Mack@uml.edu).

About

Pre-built predictive models for a variety of fuel properties

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages