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:
- Cetane number
- Cloud point
- Kinematic viscosity
- Motor octane number
- Octane sensitivity
- Pour point
- Research octane number
- Yield sooting index
To cite this tool, cite ECNet.
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
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_indexEach 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.
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).
