Update log¶
This project follows semantic versioning. It is still in the early development stage and the public interface may continue to be adjusted.
[Unreleased]¶
[0.1.5] - 2026-09-27¶
- Fix installed-package tool quality checks and preserve executable Skills resources in Git checkouts.
- Add Agent checkpoints, resume, persistent knowledge, tool generation, repair, optimization and contribution workflows.
- Extend custom training backends and scheduling, paired sequence chunking, tabular datasets and sampling, evaluation plots and reference consistency.
- Add pip-installable genomics backends and refresh the bilingual API tutorials.
- Add a project survey and source FAQ across 37 DNA directions; import 18 upstream Skills and create 6 native Skills, bringing that batch to 560; the subsequent import is listed below.
- Add breeding, prokaryotic gene finding, methylation, DNA storage and nanostructure functions, plus 19 external analyses and 7 MCP connections with optional backends, explicit validation status and method attribution.
- Audit all 335 supplied projects, merging 82 existing records and adding 253 source records; add 24 analysis adapters, reviewed Skills and MCP connections with per-item decisions and citation relationships in the review FAQ.
- Add a curated DNA/genomics Skills catalog with search and installation commands, provenance, licenses and resource checksums.
- Add database, ENCODE and workflow interfaces; expand unified file input/output, parallel sequence processing, progress reporting, model downloads and Agent tool execution.
- Update both READMEs, documentation navigation, the MCP setup guide and visualization examples.
- Integrate all 484 public functions into 14 existing functional tutorials, preserving signatures, parameters, returns, provenance and task-specific examples; remove the separate added-function index, conventions page and duplicate topic entries in both languages.
- Add source-driven reference generation and
--checkcoverage verification to detect missing entries, duplicate counts and parameter drift.
[0.1.4] - 2026-09-09¶
- Added reference-based gene annotation with minimap2, configurable reference preparation, and Python/CLI interfaces.
- Added general-purpose synchronous/asynchronous LLM calls, provider configuration, and bounded file inputs.
- Added traditional machine-learning property models and classification/regression distribution plots.
Added¶
-
Add Python-only
dnakit.bioinformatics: native encodings, generative metrics, phylogenetics, count/distance statistics, motif/specification/cloning/DAG APIs; optional codecs, general ML, and specialist MSA/BLAST/HMMER/NGS backends. See implementation boundaries. Newbio-*dependency extras, an offline example and numerical/real-tool validation tests. -
Added user-defined DNA property classification/regression training with linear probing for all 11 registered models, full fine-tuning for 7 Transformers models, 8:1:1 splitting with default seed 42, comprehensive single/multi-target metrics, and privacy-bounded arbitrary-file schema analysis through OpenAI-compatible APIs.
- Added mean raw pairwise Levenshtein distance for Diversity and mean raw nearest-reference Levenshtein distance for Novelty, while retaining the default similarity algorithms and adding explicit selection, resource limits, and optional progress display.
- Added 27 local fully fine-tuned checkpoint classifiers: 18 NT Revised and 9 Genomic Benchmarks tasks, with default/custom/exact paths plus safe task, label, and full-state validation.
- Added
predict_enformer_benchmark(), the task registry, Agent-tool exposure, per-function bilingual documentation, and a standalone download-instructions page for all 27 weight files.
Changed¶
- Moved tests, examples, notebooks, MkDocs overrides, and local validation assets under
others/, with matching pytest, Mypy, Ruff, packaging, CI, and documentation paths.
[0.1.3] - 2026-09-01¶
Added¶
- Added pretrained property-prediction APIs for AlphaGenome, Enformer, Evo 2, GENERator, LucaOneTasks, and SegmentNT, with explicit model-download, remote-code, and output-size boundaries.
- Added capability-named optional APIs for Ensembl VEP, ClinVar, dbSNP, gnomAD, dN/dS, and Golden Gate, with the backend installed on demand through
dnakit[external-tools]. - Added
dnakit[agent], thednakit-mcpcommand, and a compact MCP catalog with public-function discovery, schema lookup, safety confirmation, and bounded JSON execution. - Added bilingual WeChat community pages and documentation navigation entries.
[0.1.2] - 2026-08-30¶
Changed¶
- Added JPG to the unified visualization export interface.
image_typenow selects PNG, SVG, or JPG, while extensionless targets default to PNG.SequencePlotConfigaddscolumn_spacing,line_spacing, andsymbol_map; all plots now use square canvases without decorative in-figure titles. - Changed the default GitHub repository and PyPI project description to English while retaining a Simplified Chinese switch.
- Added complete Chinese and English documentation, navigation, locale-preserving links, and language-isolated search results.
- Added Bioconda, GNU Guix, and Galaxy Tool Shed packaging files and removed obsolete planning, demo, and delivery-report pages.
[0.1.1] - 2026-08-29¶
Changed¶
- Release of the first DNAKit version without the development version suffix.
- Merged third-party declarations into
DISCLAIMER.mdand moved project reference information toREADME.md. - Streamline root directory files and simultaneously update installation, packaging and release configurations.
[0.1.0.dev0] - 2026-08-28¶
Added¶
- Unified
dnakit.DNA(...)facade for ordinary users: the same entrance receives single/multiple sequences, record mapping, ID, topology, metadata, feature and old core objects; subscripts and slices still returnDNA. - Newly added
dnakit.representations: 11 basic DNA models can be selected to extract fixed-length reps, and checkpoints are downloaded to the current directoryckpt/by default and reused; newly addedneural_cluster_sequences()to complete L2, optional PCA, seed-fixed k-means, central nearest representative sequence and complete result audit. - New
evaluate_frechet_distance(): By default, the LucaOne representation and L2 normalization of neural network clustering are reused to calculate the Fréchet representation distribution distance of two DNA collections with the sample space equivalent algorithm. - Added
evaluate_fragment_similarity()andevaluate_snn(): implement DNA adaptation of MOSES Frag/SNN using exact k-mer occurrence count cosine similarity and hashed k-mer fingerprint nearest neighbor Tanimoto mean respectively. dnakit.datasets.exclude_species()andexclude_chromosomes(): Exactly exclude one or more species/chromosomes based on explicit metadata; structured error reporting when target fields are missing.- The MkDocs document site enables the search box, search suggestions and result keyword highlighting in the Chinese site.
ValidationConfig(sequence_length=...),dnakit validate --sequence-lengthand workflowvalidatesteps now determine whether a sequence is legal with standardized accuracysymbol_length.- Add a new MIT license file to the root directory, mark the copyright owner as Pengsen Ma, and include the license in the release archive.
- Added
DISCLAIMER.md(including third-party statements) and the "Acknowledgments and Citations" merge page of the documentation site to clarify the boundaries of external tools, user data, costs, and non-clinical use. - Bounded GenBank subsets, GFF3, BED3–6, AGP 2.1, plain FASTA/strict four-row FASTQ persistent indexing, coordinate extraction, chunked iteration and metadata management.
read_table(),export_table()and immutable audit results for explicitTableSchemabounded reading and writing of CSV/TSV/JSON/Parquet.- Complexity/repeat descriptors, motif/PWM, ORF, restriction enzyme, PAM, CpG island, palindrome, inverted repeat, tandem repeat, STR and low complexity scans.
- Molecular weight, theoretical 260 nm extinction coefficient of unmodified ssDNA based on published nearest-neighbor absorbance parameters, and internally reproduced SantaLucia 1998 Tm, salt correction, nearest-neighbor, ΔG/ΔH/ΔS, stacking, full complementary duplex and local Tm;
duplex_stability()Canonical mismatch/dangling heterodimer can be evaluated explicitly using the user-installed Primer3 CLI adapter. - Single/double strand optical properties, OD260/A260/molarity/mass concentration/amount/mass conversion of species, explicit dye/modification corrections, and empirical corrections for Ka/Kd, double strand ratio, theoretical melting curves, end stability, Na⁺+K⁺ and DMSO/formamide.
- dot-bracket secondary structure and pairing probability derived metrics, explicit NUPACK 4 adapter performed after separate license installation, and PDB coordinate geometry, SASA, volume, shape, backbone dihedral angles, approximate helix parameters, NMR ensemble RMSF and 3DNA/DSSR analysis.
- RCSB 1BNA, 1AC7, 139D local check samples, SHA-256 manifest, structural analysis script with progress bar and machine-readable results.
Primer3CLIAdapterfor pure external CLI, requires explicitoligotm/ntthalpaths, supports Tm, hairpin, self-dimer and heterodimer, and records permissions, paths and provenance; downstream unified results verify sequence, conditions and structure option bindings.- MinHash/FracMinHash, motif/restriction enzyme/GC/repeat/coding/fixed 16-dimensional thermodynamics/hybrid/multi-scale fingerprint and preprocessor for training set fitting; structural features use explicit adapter or fixed missing strategy.
- Bounded approximate matching, global/local/semi-global linear/affine gap alignment, sketch similarity, persistent indexing and Top-k nearest neighbors.
- Ring/IUPAC/approximate deduplication, identity/edit/k-mer/fingerprint clustering, hierarchical clustering, representative sequences, temporal partitioning, multi-constraint heuristic partitioning, leakage and partitioning quality evaluation.
SplitConfig(method="hash")Order-independent stable hash partitioning: using SHA-256, seed, and uniquerecord.id, and maintaining exact ratio quotas.- validity, ambiguity, quality, complexity, uniqueness, diversity, redundancy, reference-scoped novelty/memorization, distribution similarity, synthesis-risk and regular scorecard.
- Digestion, end/ligation, PCR, primer matching, optional structural primer attributes, stringent design requests and
Primer3CLIDesignAdapterfor explicit paths, Gibson/LCR/Golden Gate/BioBrick sequence-level assembly, CRISPR candidates, rule optimization, codon optimization and mutation libraries; Primer3 design candidates back-check template coordinates, left and right primer sequences, and product lengths. - Linear/circular feature plots, alignment plots, similarity matrices, self-contained HTML reports, and optional PNG/TIFF/PDF 600 dpi export.
- Backend registry, BLAST/MMseqs2/sourmash passive metadata/explicit version handles, strict Dashing Jaccard/Top-k adapter that requires the caller to provide an executable, content-addressed JSON caching, threaded batching, stable resume, JSON/YAML multi-step workflows, and auditable run manifests.
- Unified CLI capabilities such as
describe,fingerprint,search,orfs,compare,reportandworkflow, and compatible development portalpython -m dnakit.cli.workflow run. - Local correctness validator, microbenchmark with seed/environment/parameters/sample-by-sample logging, DNAKit/Biopython peer-to-peer task comparison, selected public callable source code line calibers, advanced notebook, full workflow example and stage 4/5 delivery report.
- Manual workflow configuration for TestPyPI and official PyPI; the build review job has no release credentials, only the upload job has
id-token: write, both with license, version and explicit confirmation gates, this stage is not triggered.
Changed¶
evolution_generate()retains themut_fracparameter name, and adds base-by-baseinsert_frac,delete_fracprobabilities; insertion is availableinsert_min/insert_maxto select single base or random length fragments, and the algorithm audit version is upgraded todnakit-evoaug-v3. Single-shot contiguous segment insertion/deletion continues to be provided byindel_generate().- The document merges Canonical k-mer into the Canonical mode of k-mer features, and standardizes the Sketch feature name as k-mer Sketch; the public Python API and stable tracking number remain compatible.
- Ordinary file reading is unified as
read(..., mode="dna"|"stream"), verification is unified asvalidate(); suffix-free editing, reverse complementation and ring operations input synchronization comments onDNAand returnDNA, and the oldread_one/read_set/validate_set/*_recordentry continues to be compatible. - The default checkpoint for DNA foundation-model representations and neural network clustering has been changed from GROVER to
LucaGroup/LucaOne-gene-step36.8M; the default cache directory isckpt/lucaone-gene-step36-8m/, and custom checkpoint code still requires explicit authorization. - Removed the built-in DiProDB 240 values; the fixed 240 field schema remains unchanged, the default last 60 items are
None, and users can load strict 15×16 JSON tables that they have permission to use. - Removed
primer3extra,primer3-pydependencies and Python binding adapter; Primer3 is unified and changed to be installed separately by users and provides an explicit CLI path. normalize()Addedkeep_ambiguous,keep_uandkeep_other; retain IUPAC ambiguous bases by default and audit to deleteUand other non-DNA characters.- The requirements tracking matrix is changed to check the current source code, testing and local backend status item by item, and expired
plannedstatements are no longer retained. - Merge independent identity, query coverage and target coverage functional items into sequence alignment results and remove duplicate numbers.
- Batch processing supports bounded thread execution, stable raw index/derivative seed and completed ID skipping.
- The visualization scope is reduced to sequence, feature, alignment and similarity matrices, while general image export and HTML reporting remain unchanged.
- Visual export expanded to atomic multi-format output with hard caps on number of pixels, records, and bytes of embedded results.
- README, Installation, Quick Start, API, FAQ, References/License and Documentation site navigation synced to Phase 4/5 real state.
Validation¶
- 11 model registry, checkpoint reuse/download contract, IUPAC/Gap/matrix boundary and rep → k-means/PCA are covered by unit tests; GROVER uses real local checkpoint to complete rep + k-means smoke of 4 sequences, and the remaining models remain in conditional state.
- Boundary validation for artificial minisequences, IUPAC, empty sequences, 200,000 nt input, and cross-origin circular restriction enzyme sites.
- Restriction enzymes, molecular weight terminal conventions, global alignments, literal searches, and single/complete/average linkage passed with Biopython.
- Primer3 CLI adapter validates command whitelisting, Boulder-IO, field/unit parsing, failures, timeouts, and output caps with temporary controlled aliases; no longer writes old Python bindings against current scientific validation.
- Dashing adapter's fixed commands, matrix parsing, failure/timeout/output/input mutation boundaries are covered by controlled surrogates, local
v1.0.2-4-g0635two-sequence exact document example smoke passes; scientific difference has not been done yet. - Primer3 is not a Python dependency and is not packaged with DNAKit; the CLI adapter records a
GPL-2.0-or-laterprompt, and users must still check the actual installed version. - The NUPACK adapter's field mapping, bounds, and error handling have been tested with controlled doubles; the current environment does not have NUPACK, so true NUPACK numerical differential conclusions still do not exist.
Remaining boundaries¶
- DNAKit's own license has been determined to be MIT; this version is released as a development preview, and dependency compatibility still needs to be continuously reviewed.
- GitHub Pages has not yet been deployed, nor has the paper replication experiment been performed.
- NUPACK, Primer3, DSSR/3DNA and Dashing are not installed/downloaded with the project; DiProDB values are no longer built-in; the license, possible costs and real scientific differences of each external tool/data are still reviewed by the user based on the actual version.
- DNAKit Parquet write out /
read_table()round trip passed under PyArrow 25.0.1; other engine/version cross matrices have not yet been executed.