Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

APPAS 2.0

Automated Copolymer Polymerization and Analysis System: builds a validated three-dimensional copolymer structure from any pair of SMILES-encoded monomers carrying two connection points.

License: MIT Python

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.

What it does

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.

Benchmark

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.

Reproducing the published results

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 --all

The 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.

Layout

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

Requirements

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.

License

MIT. No restrictions on commercial use.

About

APCAS: Automated Polymer Construction and Analysis System

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages