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
idcolumn and the row's id is empty. The confirmation after you upload says how many rows were skipped (in the API, the library'sskipped_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:
- Salts and solvents are removed, leaving the parent compound:
Cl.CCNis scored asCCN. Charges are kept, so[Cl-].CC[NH3+]is scored asCC[NH3+]. - The SMILES is rewritten in canonical form:
OCCis scored asCCO.
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.