ChargeCalculator:CMD Version

From WebChem Wiki
Jump to: navigation, search

The command line version of ACC is available as an executable, meaning that it is not necessary to install it. Simply download the .zip file with the current ACC version from the ACC home page. Extract the files in the .zip to a location of your choice, which we shall refer to as workingFolder. Open a terminal and run ACC in your machine according to the instructions given below.

This is help for version or newer. The help text for other versions can be viewed using the --help command when running the application.

Running the Service

The service can be executed using the command (latest .NET Framework required):

WebChemistry.Charges.Service.exe workingFolder configuration.json

In Linux (where available) and MacOS, the latest version the Mono Framework ( must be used to run the application:

mono WebChemistry.Charges.Service.exe workingFolder configuration.json

Alternatively, on Linux and MacOS, an official version of .NET Framework should become available during 2015. In Linux and MacOS, specific version of the Intel MKL library must be provided in order for the computation to run fast. See for more info.


The configuration is specified using the JSON format.

Configuration Example

This is the general shape of the JSON input configuration.

  "InputFolder": "c:\\Data\\Structures",
  "SetsXmlFilename": "c:\\Data\\DefaultSets.xml",
  "ExportUncompressed": false,
  "Sets": [
      "Name": "RS2-EX",
      "Method": "EemCutoffCover",
      "Precision": "Double",
      "CutoffRadius": 13.0,
      "CorrectCutoffTotalCharge": true,
      "IgnoreWaters": false
      "Name": "RS2-E",
      "Method": "Eem",
      "Precision": "Double",
      "CutoffRadius": 0.0,
      "CorrectCutoffTotalCharge": true,
      "IgnoreWaters": false
  "Jobs": [
      "Id": "1tqn",
      "TotalCharges": [
      "Id": "1e12",
      "TotalCharges": [
  "MaxFullEemAtomCount": 30000,
  "MaxDegreeOfParallelism": 8

There has to be exactly one configuration file for each validation run. Every value, as well as settings' names, is surrounded in quotation marks (" " or ' '). Backslashes (\) have to be escaped (\\). File system paths can be absolute as well as relative (/ works as well in paths).


  • InputFolder [ String ]
Path to a folder containing the input data.
  • SetsXmlFilename [ String ]
Path to a file containing the parameter sets.
  • ExportUncompressed [ Boolean ]
If true, the output will not be compressed in ZIP.
A list of sets that will be computed.
A list of job that need to be computed.
  • MaxFullEemAtomCount [ Int32 ], Default value = 30000
A maximum number of atoms a molecule can have to be eligible for the 'Eem' method. 30000 atoms molecule consumes about 8GB of memory using the Double precision.
  • MaxDegreeOfParallelism [ Int32 ], Default value = 8
Maximum number of parallel tasks that can be executed simultaneously. Recommended to be set to the number of cores your system has.


  • Name [ String ]
The name of the set.
  • Method [ ChargeComputationMethod ]
Computation method.
Available values are: Eem, EemCutoff, EemCutoffCoalesceH, EemCutoffCover, Reference.
  • Precision [ ChargeComputationPrecision ]
Precision (Double is 64bit, Single is 32bit).
Available values are: Double, Single.
  • CutoffRadius [ Double ]
Cutoff radius parameter for methods that require it.
  • CorrectCutoffTotalCharge [ Boolean ], Default value = true
Determines whether to adjust the total charge during the cutoff computations.
  • IgnoreWaters [ Boolean ]
Determines whether to ignore water atoms or not.

  • Id [ String ]
Id of the job is the filename of the molecule without extension.
  • TotalCharges [ Double[] ]
A list of total charges that need to be computed.

Output Description

General Structure

  • [WorkingDirectory] - Working directory of the application.
  • result - Contains the result of the computation.
log.txt - Contains the console output of the application.
status.json - Contains general information of the computation (running time, version, etc.).

Charges Specific Structure

  • result - Folder with computation result.
  • charges - Folder with computed charges
  • <source> - A folder for each charge source
  • mol2 - Folder with structures in MOL2 format
  • pqr - Folder with structures in PQR format
  • wprop - Folder with results in WPROP format - a list of pairs of atom serial numbers and values of atomic charges <Atom Id> <Charge>
  • computation_setup.json - File describing the setup of the calculation
<molecule>_allcharges.csv - CSV file for each molecule with all computed charges
  • statistics - Folder with statistics about the computed charges
  • Atoms - Statistics data for each molecule, calculated at atomic level resolution
  • mol2 - Folder with structures in MOL2 format
  • csv - Folder - for each molecule, a CSV file with all computed atomic charges
  • correlations - Folder - for each molecule, a CSV file with correlation statistics between all computed atomic charges
  • properties - Folder with statistics based on several specific properties of atoms
  • Residues - Statistics data for each molecule, calculated at the residue level resolution - only present if the input file contained relevant residue information
  • mol2 - Folder with mock structures in MOL2 format, where each atom represents a single residue
  • csv - Folder - for each molecule, a CSV file with all computed residue charges
  • correlations - Folder - for each molecule, a CSV file with correlation statistics between all computed residue charges
  • properties - Folder with statistics based on several specific properties of residues
  • json - All data for each molecule in JSON format
<molecule>.json - Entry for each molecule
  • logs - Folder with computation logs
<molecule>_log.csv - A log entry for each molecule that includes execution time, warnings, etc.
Sets.xml - Parameter sets used for the computation
Summary_<date:year-month-day>_<time:hour-minute>.json - Summary information about the entire computation, date/time is in universal time

Specific File Descriptions

This section contains detailed descriptions of selected specific files.

json folder

JSON files from this folder can be deserialized to the type `WebChemistry.Charges.Service.DataModel.ChargesServiceStructureData` available in the .NET library WebChemistry.Charges.Service.DataModel.dll included with the program.