Skip to main content

FactorForge

Open-source constraint-based CDS design and pre-synthesis sequence review for plant CDS workflows, with primary support for Nicotiana benthamiana (Tobacco BY-2: experimental).

License Python PyPI CI codecov DOI Web App Buy Me A Coffee

FactorForge performs deterministic CDS design with CAI/GC metrics, PolyA-signal screening, and Golden Gate/MoClo-aware checks. It is positioned as a pre-synthesis review harness: it helps teams generate reproducible CDS candidates, inspect assembly-relevant sequence constraints, and package design metadata before downstream synthesis, cloning, or experimental review. Primary support: N. benthamiana (agroinfiltration). Experimental host context: Tobacco BY-2 (--host by2).

FactorForge v3.5.4 uses independently versioned engines:

Generation Engine Version Availability
Gen 1 Rule/profile 1.0.0 Stable, public
Gen 2 DP v2 2.0.1 Stable, public default feasibility path
Gen 2 DP v2.1.1 2.1.1 Explicit local-guard path; computational evidence only
Gen 3 sLLM Hybrid 0.2.0-preview.1 Feature-gated constrained-generation research preview
Rescue Adaptive partial DP 1.0.0 Exact suffix rescue conditioned on a verified prefix

→ Full Documentation · Roadmap


Quick Start

pip install factorforge-cds
factorforge optimize my_protein.fasta -o output.fasta

Or use the web app — no installation required.


Access Options

Method Description Link
Web App No installation, demo & light use factorforge.eijex.com
CLI / Python Local use, batch processing, data privacy pip install factorforge-cds
Docker Full web interface locally docker pull ghcr.io/eijex/factorforge-cds:latest
Eijex MCP MCP-compatible agent access mcp.eijex.com

Repository Structure

The supported deterministic engines are the profile engine, stable DP v2, and the explicit DP v2.1.1 development candidate under:

src/factorforge/engines/profile/
src/factorforge/engines/dp_v2.py
src/factorforge/engines/dp_v2_1_1.py
src/factorforge/engines/sllm/
src/factorforge/discovery/

DP v2.1.1 adds an exact active-layer 5′ GC guard and Aho-Corasick rejection of homopolymers of 6 nt or longer to the v2.1 initiation-aware objective. It emits local-composition metrics and, when ViennaRNA and sufficient transcript context are available, a separately evaluated 5′ MFE value. It is not the default; its single-target calibration does not establish holdout generalization or biological performance.

The v3.5.x discovery-slate surface generates versioned Top-K research candidates, applies a shared deterministic hard-constraint filter, and records generator and fallback lineage. The sLLM path is disabled by default. A partial-DP rescue solves an exact suffix conditioned on the retained prefix; it is not a claim of global optimality and does not establish biological performance.

Historical implementation tracks are preserved under archive/ for provenance and are not imported by the installed package or exposed as supported engines.


⚠️ Validation Status

FactorForge outputs are in-silico only and have not been experimentally validated in wet-lab conditions. These checks support reviewability and reproducibility; they do not guarantee expression, yield, synthesis acceptance, folding, glycosylation, regulatory approval, or downstream biological performance. See Validation and VALIDATION.md.


Citing

FactorForge v3.5.4 (2026). Open-source constraint-based CDS design and sequence review.
Eijex. https://github.com/eijex/factorforge-cds

Maintainer

Mun-Kyu Kim (@eijex)

Optional PostgreSQL support

FactorForge design, CLI, Python API, and file export do not require a database. PostgreSQL persistence is an explicit Eijex integration path for retaining shared campaign and candidate identities; it is not enabled by default.

Install pip install "factorforge-cds[postgres]" only when using that integration. The deployment must also provide a compatible eijex-db-core package and set FACTORFORGE_DATABASE_URL. FactorForge contains no default database credentials and does not silently fall back to another backend. See Persistence.

Explicit local SQLite research checkpoints in factorforge.db.connector remain a separate local-only utility and are not the shared DBTL system of record.

License

GNU Affero General Public License v3.0 — see LICENSE.

Disclaimer: FactorForge is provided for research purposes only. Outputs are computational and have not been experimentally validated.


Get in Touch

Metadata

Release files for factorforge-cds 3.5.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for factorforge-cds 3.5.4
File Size Uploaded
factorforge_cds-3.5.4.tar.gz 291.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for factorforge-cds 3.5.4
File Interpreter ABI Platform
factorforge_cds-3.5.4-py3-none-any.whl Python 3 none any Details

Total release size: 589.9 kB

Release files / factorforge_cds-3.5.4.tar.gz

Download URL factorforge_cds-3.5.4.tar.gz
Size 291.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ea96cc26fe5c9e3fd79acc2f79ca57baf1fdbe15a644bcf09226bb922e8ad8e1
BLAKE2b-256 checksum
How to use checksums
920855584cd6fe77878b0afd6a9288cce5c8d8ecdf16fb38440571212d697c45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / factorforge_cds-3.5.4-py3-none-any.whl

Download URL factorforge_cds-3.5.4-py3-none-any.whl
Size 298.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f573a681ca8506dc3402d7c570742d9d08bce02a4133dfe29962662b70adb97
BLAKE2b-256 checksum
How to use checksums
ad3ec8f10fb58bbaf317eb3ead207f3b45cb2006c9ea5b5fc7e0c6c6dc83806f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.5.4 This release

2 release files

3.5.3

2 release files

3.5.2

2 release files

3.4.5

2 release files

3.4.4

2 release files

3.4.3

2 release files

3.4.2

2 release files

3.4.1

2 release files

3.4.0

2 release files

3.3.2

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.8

2 release files

3.2.7

2 release files

3.2.6

2 release files

3.2.5

2 release files

3.2.4

2 release files

3.2.3

2 release files

3.2.2

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.9

2 release files

3.1.8

2 release files

3.1.7

2 release files

3.1.6

2 release files

3.1.5

2 release files

3.1.4

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page