Automated Copolymer Polymerization and Analysis System: builds a validated three-dimensional copolymer structure from any pair of SMILES-encoded monomers carrying two connection points.
The benchmark data in this repository was replaced on 29 August 2026. The previously published version was invalid; see CORRECTION.md for what was wrong and why. Do not use data downloaded before that date.
Each monomer is embedded in three dimensions, oriented by tetrahedral geometry enforcement and a 24-angle dihedral sweep scored by a quadratic clash penalty, then relieved by iterative push-apart resolution. Segmented window optimization prevents cumulative geometric drift in longer chains, and bond lengths are corrected against an element-specific reference set. Output is standard PDB with multi-chain encoding that preserves block identity.
21 polymers spanning homopolymers and diblock, triblock, alternating and random-like copolymers. A complete structure was produced for every one.
| Metric | Value |
|---|---|
| Bonds within 5% of the element-specific ideal length | 94.3% |
| Bonds within 10% | 99.5% |
| Bonds exceeding 2.0 A | 0 |
| Structures with no interatomic separation below 1.2 A | 20 of 21 |
| Mean construction time, one CPU core | 4.6 s |
Bond and clash statistics are heavy-atom metrics; atom counts and molecular weights are all-atom.
Everything reported in the accompanying manuscript is regenerated offline by
the pipeline in paper_pipeline/. It needs no web service,
no account and no network access.
cd paper_pipeline
conda env create -f environment.yml && conda activate appas2
python reproduce.py --allThe run rebuilds all 21 structures from the deposited specifications, recomputes every metric, regenerates the data figures, and writes a per-metric comparison against the published values. It exits non-zero if anything falls outside tolerance.
paper_pipeline/verify_independent.py recomputes the same quantities from the
deposited structures without importing any project code, as a check that does
not share a failure mode with the pipeline it verifies.
benchmark/inputs monomer and sequence specifications
benchmark/outputs generated structures (PDB, MOL, properties)
case_studies/ the eight case studies discussed in the manuscript
paper_pipeline/ construction engine, benchmark runner, figures, checker
RDKit and NumPy to build and validate a structure. pandas, SciPy, matplotlib
and seaborn additionally for the analytics and figure steps. Exact pins are in
paper_pipeline/requirements-lock.txt.
MIT. No restrictions on commercial use.