Chemical Structure Computational Algorithms Verifier
What is this about? Any chemical structure and structure data processing algorithm should return results independent of the atom ordering in a structure, and independent of the position of the record in the file. Unfortunately, these elementary principles are quite obviously violated by many well-known packages. In order to help to remedy this situation, we decided to develop this vetting service and make it publicly available.

Step 1: Scramble Prepare your own test files. This component of the verification service will modify an input file by scrambling the atom order as well as the record order of the records. Multiple duplicate structure instances with different scrambling patterns are written. Save the returned file and run your algorithm on it.

Upload a file for processing.

Source file:
Here are a few options to specify what is to be done with the input data upon assembling the test file. Output format: EOL style: Hydrogen processing: Nitro groups:
Atom scrambling: Wedge scrambling:
Record duplicate instances: Record order scrambling:
Structure instance sequence:
Send it off, and save the returned, scrambled test file.
Step 2: Analyze Run your software with the scrambled test file. Then, upload your output file, which can be in a converted format and/or contain added computational property data, and select a suitable vetting method. If your software preserved the tags inserted by the scrambler, this is all you need. In case this information was lost, also upload the original, scrambled test file as side-by-side reference.
Upload the result file for analysis.
Data file:
Reference file:
Analyzed data file to the left may contain omitted (failed) records that are present in reference file:
What should be checked? Type of check performed:

Property tag:
Data comparison: 
Ignore negative values: 
Ignore zero values: 
Ignore empty/null/nan/inf values: 
Structure filter conditions. It is not uncommon that algorithms cannot cope with certain structure classes. Ignore records with multiple fragments: Ignore records not matching composition pattern: 

Composition pattern: 

Ignore record with atoms with a formal charge:
 

Step 3 : Verify Read about detected problems in the frame below. Fix them before you release your package to the public!
Analysis results: