Library files

A library is a list of compounds, each a SMILES string with an optional id and name. Upload one on the Libraries page or through the API (POST /api/v1/compound-collections; see REST with curl).

File formats

Two shapes are accepted, detected automatically.

Plain list (.smi, .txt or .csv): one SMILES per line, optionally followed by a name, separated by a comma or a space. No header row. A name containing spaces needs the comma: in CCO Ethyl alcohol, the name is only Ethyl.

CCO, Ethyl alcohol
CC(=O)O

Multi-column CSV (.csv): a header row naming a smiles column, in any case. Column order and any other columns don't matter. Optional id and name columns are kept as given; ids must be unique.

id,smiles,name
CHEMBL545,CCO,Ethanol

Without an id column, compounds are numbered by position (1, 2, 3, …), and a compound without a name uses its id. The id is how you refer to a compound later, in results and downloads, so supply your own if you have them.

In either shape, blank lines and lines starting with # are ignored.

Check how many rows were skipped. A row is skipped, and the upload continues with the rest of the file, when its SMILES isn't a valid molecule, is a mixture with no clear parent compound (see below), or is longer than 254 characters, or when the file has an id column and the row's id is empty. The confirmation after you upload says how many rows were skipped (in the API, the library's skipped_rows). A large number usually means the file isn't in one of the formats above.

Standardization

Each compound is scored as its standardized structure, the form the model learned from:

A mixture left with more than one distinct component after that is scored as its largest component when it has at least twice the heavy atoms of the next, and skipped otherwise, since there is no clear parent to score.

Structures and SMILES on every page are the standardized ones. A compound whose other components (salts, solvents, repeated copies or a smaller component of a mixture) were removed is marked Standardized, and a compound's page shows the original SMILES whenever it differs. In the API, a library's compounds and a screen's hits and downloads give both: smiles is the standardized one and input_smiles the original.

A library uploaded before standardization was introduced is scored as uploaded until it is updated for a new model, which standardizes it with the same ids and number of compounds. A compound that would now be skipped is kept as it was. Screens run before standardization have the same smiles and input_smiles, and their downloads have no input_smiles column.

Getting compounds

No library of your own yet? Tools such as CartBlanche can draw a random sample of purchasable compounds from the ZINC database. Download the sample as SMILES, then upload it here.

Size limits

Your plan sets the largest file and the most compounds a library can hold. The Libraries page shows both before you upload; a file over the limit is refused before anything is stored.

You can have 2 libraries being prepared at a time. Uploads, retries and updates all count. Another is refused until one finishes or you cancel it.

Preparing

An upload is prepared before it can be screened, which can take a few minutes for a large library. Its status is:

Status Meaning
preparing (embedding in the API) Being prepared for screening. You can leave the page and come back.
ready Can be screened.
failed Could not be prepared; the details say why. Fix the file and upload it again.
needs update (outdated in the API) Must be prepared again before it can be screened. Update it on the Libraries page.

Provided libraries are prepared for you.

Deleting

You can delete your own uploads, but not while a screen of the library is queued or running. Completed screens of a deleted library keep their results.