Acknowledgments¶
This page summarizes DNAKit's main sources, licenses, third-party use boundaries and disclaimers for centralized review and traceability.
Acknowledgments and Primary Sources¶
DNAKit would like to thank the paper authors, database maintainers, standards organizations and open source project contributors who provided the theoretical foundation, public parameters, format specifications, software interfaces and structural data for this project.
This section provides a unified summary of the methods, papers, databases and websites used in the project. The function page will still retain the PMID or usage boundary directly related to the specific parameters to facilitate item-by-item tracing. Listing of a source does not imply that DNAKit has obtained permission to redistribute its data or software.
Method, paper and format basis¶
| Function | DNAKit Type | Primary Basis Should Be Cited |
|---|---|---|
| FASTA/FASTQ, GenBank, GFF3, BED, AGP | reimplementation / Format integration |
NCBI GenBank sample records , Sequence Ontology GFF3, UCSC BED, NCBI AGP 2.1; GenBank only supports documented subsets |
| Coordinate and sequence object design | native, refer to the existing interface |
Biopython Seq/SeqRecord and scikit-bio DNA are only for design comparison |
| Shannon entropy | reimplementation |
C. E. Shannon, A Mathematical Theory of Communication (1948), DOI 10.1002/j.1538-7305.1948.tb01338.x |
| linguistic complexity | reimplementation |
Published definition of observed/possible k-word product; result saves exact formula |
| LZ76 complexity | reimplementation |
Lempel & Ziv, 1976, DOI 10.1109/TIT.1976.1055501 |
| 15 sets of dinucleotide attributes | User-provided parameter table | DNAKit only defines 15×16 JSON schema and does not have built-in DiProDB values. If users obtain tables from DiProDB or other sources by themselves, they should record the DiProDB paper, actual table pages, original paper, version and SHA-256; for field mapping, see 240-item descriptor table |
| Standard genetic code table | reimplementation / Standard data |
NCBI Standard Genetic Code 1 |
| Needleman–Wunsch global alignment | reimplementation |
Needleman & Wunsch, 1970, DOI 10.1016/0022-2836(70)90057-4 |
| Smith–Waterman local alignment | reimplementation |
Smith & Waterman, 1981, DOI 10.1016/0022-2836(81)90087-5 |
| Levenshtein distance | reimplementation |
V. I. Levenshtein, 1966 |
| MinHash | reimplementation |
A. Z. Broder, 1997, resemblance/containment sketching |
| EvoAug sequence generation | reimplementation |
Lee et al., 2023, EvoAug paper ; Official PyTorch code ; DNAKit adopts an independent DNASequence level implementation and does not introduce PyTorch or Gaussian noise |
| k-mer remains shuffled | reimplementation |
uShuffle paper ; DNAKit is implemented using random Euler paths on de Bruijn multigraphs to accurately maintain specified overlapping k-mer counts |
| Dashing Jaccard adapter | adapter |
Baker & Langmead, 2019, DOI 10.1186/s13059-019-1875-0; Actual Dashing version, k, exact/HLL mode and sketch size |
| DNA foundation-model representations and k-means | adapter |
Reference the selected model and checkpoint during actual runtime: DNABERT-2, Nucleotide Transformer, HyenaDNA, Caduceus, GROVER, LucaOne, GENERator, Enformer PyTorch, AlphaGenome research, JanusDNA or Evo 2; clustering record actual scikit-learn Version, pooling, PCA, seed and checkpoint sources |
| NT Revised/Genomic Benchmarks task classification | adapter |
Cite the Enformer backbone, the NT Revised or Genomic Benchmarks task, and the GENERator Appendix C.4 full-fine-tuning protocol; also record the actual checkpoint file, label mapping, and source link |
| Fréchet DNA distance | reimplementation + adapter |
Fréchet Gaussian distance follows the mathematical form of the original FCD paper; the representation is attributed to the selected model and checkpoint, and the default model refers to LucaOne. This indicator is not ChemNet FCD |
| DNA Frag / SNN | reimplementation + adapter |
Index formula reference MOSES; DNA adaptation uses fixed-length k-mer to replace BRICS fragments, and hashed k-mer bit fingerprint to replace Morgan fingerprint. Values cannot be directly compared with molecular indicators |
| DNA 260 nm extinction coefficient | reimplementation |
Warshaw & Tinoco, 1966, DOI 10.1016/0022-2836(66)90115-X; Cantor, Warshaw & Shapiro, 1970, DOI 10.1002/bip.1970.360090909; actual parameter set version |
| DNA nearest-neighbor/Tm | reimplementation |
SantaLucia, 1998, DOI 10.1073/pnas.95.4.1460 |
| Primer3 thermodynamic/design adapter | adapter |
Untergasser et al., 2012, DOI 10.1093/nar/gks596; Actual Primer3 CLI version, executable path and parameter directory |
| NUPACK secondary structure adapter | adapter |
Zadeh et al., 2011, DOI 10.1002/jcc.21596; Actual NUPACK version, model, temperature and salt conditions |
| 3DNA/DSSR parameter analysis | adapter |
3DNA DOI 10.1093/nar/gkg680; DSSR DOI 10.1093/nar/gkv716; actual output version |
| PDB three-dimensional structure sample | Data record | Actual RCSB PDB ID, experimental method, model number and coordinate file SHA-256; current samples are 1BNA, 1AC7, 139D |
| Restriction enzymes | Versioned built-in mini-directory/optional database | Actual enzyme definition; reference REBASE version for external use |
| TF PWM | Caller provided matrix | Actual motif database (e.g. JASPAR) versions and entries; DNAKit does not have a built-in activity model |
| novelty/memorization | native Transparency rules |
Actual reference library version, digest, filters and selected similarity method |
| synthesis-risk | native Transparency rules |
DNAKit configuration and hit rules; must not be described as experimental success rate |
Each run only needs to reference the entries that are actually used; backends that are not called should not be counted against.
Original papers that user dinucleotide tables may cite¶
The table below only helps users trace historical sources and is not a list of DNAKit's built-in data, nor does it grant permission to copy or redistribute the data in these papers.
| Parameters | Original paper |
|---|---|
| Twist, Tilt, Roll, Shift, Slide, Rise | Perez et al. 2004, PMID 15562006 |
| Bend, Inclination, Major groove width, Minor groove width | Karas et al. 1996, PMID 8996793 |
| Direction | Shpigelman et al. 1993, PMID 8402210 |
| Propeller twist | Gorin et al. 1995, PMID 7897660 |
| Persistence length | Hogan & Austin 1987, PMID 3627268 |
| Stacking energy | Sponer et al. 1997, PMID 9199773 |
| Free energy | Sugimoto et al. 1996, PMID 8948641 |
Websites, databases and public data¶
| Resources | Purpose of this project | Website |
|---|---|---|
| DiProDB | User-checkable DNA dinucleotide parameters and original paper index; DNAKit does not contain their values | Database paper, Public parameter table |
| NCBI Genetic Codes | Standard genetic code table 1 | NCBI Standard Genetic Code 1 |
| NCBI Datasets | Classification, assembly, gene, virus query and data package | REST API, Genome download, Virus package |
| NCBI Entrez, BLAST, ClinVar, dbSNP, GEO | accession/project/sample/variant/expression/literature query, BLAST jobs and public file downloads | E-utilities, BLAST URL API, GEO access |
| Ensembl REST | Coordinate sequences, transcripts, regions/variants/regulations, homologous and comparative genomes | Ensembl REST endpoints |
| European Nucleotide Archive | Study/Sample/Experiment/Run/Analysis Metadata and public files | ENA Portal API |
| ENCODE Portal | Epigenomic experiments, peaks, signals and public documents | ENCODE REST API |
| UCSC Genome Browser | Chromosomes, coordinate sequences, annotations/duplicates/conserved tracks and download directories | UCSC REST API |
| IDT and Sigma-Aldrich | OD260/oligonucleotide quantitative instructions and public ACGT calculation examples | IDT quantitative instructions, Sigma-Aldrich parameters and calculation examples |
| NUPACK | Analysis interface, model conditions and permission boundaries of conditional secondary structure backend | Analysis documentation, Utility functions, Model documentation, Download and licensing |
| 3DNA/DSSR | Three-dimensional structure parameter definition and DSSR JSON parsing basis | 3DNA parameter representation, DSSR JSON document |
| RCSB PDB | DNA three-dimensional structure records used for document verification | 1BNA, 1AC7, 139D |
Third Party Statement¶
Last review: 2026-09-01. This page is a construction compliance checklist, not legal advice.
DNAKit itself is licensed under the MIT license. Third-party packages, external programs, databases, papers, and user-provided parameter sheets retain their respective terms; citing a paper does not constitute a license to redistribute its software or data.
Distribution Boundary¶
DNAKit's wheel and sdist do not include DiProDB numerical tables, Primer3, NUPACK, DSSR/3DNA, Dashing, BLAST, MMseqs2, sourmash, REBASE, JASPAR, DNA base-model checkpoints, or their databases, nor do they automatically download external programs. When a CLI adapter is present, the user must still install it separately and provide an explicit path. The representation API downloads permitted models to local ckpt/ only after an explicit call; users download and place the new 27 task checkpoints from the shared Google Drive folder. Neither path redistributes weights inside DNAKit.
Python dependencies in pyproject.toml are resolved by the installer as standalone distribution packages and are not copied into the DNAKit wheel. NCBI, Ensembl, ENA, ENCODE, and UCSC data are also not distributed with wheel/sdist; the adapter only accesses the public interface when explicitly called by the user. The main permissions for direct dependencies are as follows; locked versions and transitive dependencies must still be checked before actual release.
| Scope | Direct Dependencies | License Flag |
|---|---|---|
| Core | PyYAML, Rich, Typer, tomli (Python <3.11) | MIT |
viz |
CairoSVG; Pillow | LGPL-3.0-or-later; MIT-CMU |
io |
PyArrow | Apache-2.0 |
validation |
Biopython | Biopython License Agreement |
external-tools |
ToolUniverse | Apache-2.0; subject to the installed release and transitive dependencies |
agent |
FastMCP | Apache-2.0; subject to the installed release and transitive dependencies |
neural |
Hugging Face Hub, NumPy, scikit-learn, PyTorch, Transformers | Apache-2.0, BSD series, Apache-2.0; subject to the actual installed version |
neural-caduceus |
mamba-ssm | Apache-2.0; subject to the actual installed version |
neural-enformer |
encoder-pytorch | MIT; subject to the actual installed version |
neural-evo2 |
evo2 and its transitive dependencies | The actual installed version and official repository shall prevail |
docs |
MkDocs; Material for MkDocs; mkdocstrings; nbmake | BSD-2-Clause; MIT; ISC; Apache-2.0 |
dev |
build, Hypothesis, mypy, pytest, pytest-cov, Ruff, twine, types-PyYAML | MIT, MPL-2.0, MIT, MIT, MIT, MIT, Apache-2.0, Apache-2.0 |
External tools and user data¶
| Resources | DNAKit processing methods | Must confirm before use |
|---|---|---|
| ToolUniverse | Installed as an optional Python dependency and loaded only for explicitly called allowlisted functions; source is not vendored | Code is Apache-2.0; remote Ensembl, NCBI, gnomAD, and EMBL-EBI services retain their own terms and availability limits. See the official repository. |
| Primer3 CLI | Only called via explicit primer3_core, oligotm, ntthal paths; no primer3-py or binary |
Official source tag GPL-2.0-or-later; check repository with actual version |
| NUPACK | Obtained and installed separately by user; not downloaded, not packaged, not provided as an online service | Separate terms/subscriptions, fees may apply, academic and commercial conditions differ; see official license page |
| DSSR/3DNA | Separate user installation; DNAKit only parses explicit output | Academic and commercial permissions are different; free academic Basic is still subject to license; see Official Notes |
| Dashing | User provides explicit executable file; distribution package does not contain source code/binary | GPL-3.0; see official repository |
| DiProDB or other dinucleotide tables | DNAKit only provides JSON schema/loader, without any DiProDB values | Users must have access to and record the true source, version and SHA-256; see DiProDB |
| Other CLI/database | No automatic installation or packaging | Check program and database terms separately; accessible does not mean redistributable |
| NCBI/Ensembl/ENA/ENCODE/UCSC public interface and data | Only download according to user query, save source and checksum; do not embed remote data into the distribution package | Check the use policy, attribution, privacy and redistribution terms of each provider; controlled data such as dbGaP still requires formal authorization |
| Hugging Face DNA model checkpoint | After the user selects the model, download it to ckpt/ and record the source manifest; wheel/sdist does not contain weights |
DNABERT-2, NTv2, HyenaDNA, Caduceus, GROVER, LucaOne, GENERator, Enformer and Evo 2 may have different terms; check item by item Official link in the sequence representations page |
| AlphaGenome | Only loaded after the user accepts the access terms, obtains checkpoint, and installs the official research code | The checkpoint page indicates restricted access and non-commercial model terms; check official repository and current model page |
| JanusDNA | Download and verify MD5 from the official files of Harvard Dataverse; users are also required to provide official source code environments | Check official repositories, Dataverse DOI and their code/data terms |
Transformers for DNABERT-2, NTv2, HyenaDNA, Caduceus, LucaOne and GENERator
The checkpoint contains the Python code required to load. DNAKit denies execution by default; only the user reviews the source and
Enabled after explicitly setting allow_remote_code=True. This confirmation cannot replace code auditing and dependency locking
or license check.
Process isolation and "installed by user" reduce bundle distribution risks but do not automatically justify all uses. Commercial deployments, hosting services, source/binary redistributions, or archiving of journal supplementary materials should be re-examined against the actual submission.
The complete English list is saved with the source code and installation package in the "Third Party Statement" section of the root directory DISCLAIMER.md; for scientific methods, papers and websites, see Acknowledgments and Primary Sources, and for general risks of use, see Disclaimer.
Disclaimer¶
DNAKit is software for research and teaching purposes, not a medical device, and is not intended for clinical diagnosis, treatment, patient management, experimental safety decision-making, or other high-risk uses. Output may be incomplete, inaccurate, or inappropriate for a particular experiment; users must independently verify calculations, parameters, input data, and experimental conclusions.
DNAKit is provided "as is" under the MIT License, without warranties express or implied, and liability is limited to the maximum extent permitted by applicable law. The LICENSE in the root directory of the repository is the official license text; this page only describes the boundaries of use and does not replace or modify the MIT license, nor does it constitute legal, medical, or compliance advice.
"This project is mainly developed for academic research" is not an exemption clause. MIT allows both research and commercial use, so DNAKit cannot be described as "non-commercial use only" at the same time, unless it is changed to another reviewed license in the future.
Users are responsible for:
- Confirm that the data, parameter tables, databases and external programs it provides have applicable access, use and redistribution rights;
- Do not use ClinVar, VEP, BLAST or other remote provider records directly as clinical diagnosis, source determination or experimental safety conclusion;
- Comply with third-party licenses, subscriptions, attribution/citations, privacy, ethics, biosecurity, export controls and local laws;
- Disclose actual methods, versions, parameters, limitations and sources in the paper and software;
- Independent verification and necessary professional review before experimentation, publication, deployment or commercial use.
DNAKit does not guarantee that third-party resources are free, continuously available, suitable for commercial use, or permit redistribution. Terms and fees may change and you should check the official page when using. For specific distribution boundaries, see Third Party Statement.
License¶
Project License¶
DNAKit itself adopts the MIT license, and the copyright is Pengsen Ma. The complete text can be found in LICENSE in the root directory of the repository. The SPDX identifier is MIT. The installation package contains DISCLAIMER.md which incorporates third-party notices; for the web version, see Third-Party Notices and Disclaimer.
The current version of the project is 0.1.3, which is still in the early development stage; dependency compatibility and external backends still need to be reviewed according to the actual environment.
A license for a third-party package does not automatically become a license for DNAKit.
Implement tag¶
| Label | Meaning | Current Example |
|---|---|---|
native |
DNAKit own objects, combinational logic, or explicit simple deterministic logic | Core objects, auditing, cache, workflow, scorecard |
reimplementation |
Independently implemented based on public algorithms, papers or format specifications | alignment, SantaLucia NN, MinHash, format codec |
adapter |
Calling independently installed packages, CLIs or databases | Primer3CLIAdapter, PyArrow Parquet, DashingAdapter, external CLI metadata handles |
novel |
New methods confirmed by definition, retrieval, baseline and ablation | There are currently no confirmed projects |
Mixed/multi-scale fingerprints are currently native combinations and are not marked as novel.
Current local dependent license snapshot¶
The following table is from the installed distribution metadata of the dnakit-dev environment or a third party in the repository LICENSE and is for local audit purposes and does not substitute for legal advice.
| Components | Local Version/Status | License Tags | DNAKit Boundaries |
|---|---|---|---|
| PyYAML | 6.0.3 | MIT | Core configuration parsing |
| Rich | 15.0.0 | MIT | CLI/Script Progress Display |
| Typer | 0.27.1 | MIT | CLI |
| tomli | 2.4.1 | MIT | Python <3.11 Conditional TOML parsing |
| CairoSVG | 2.9.0 | LGPL-3.0-or-later | viz extra; SVG to PNG/PDF |
| Pillow | 12.3.0 | MIT-CMU | viz extra; TIFF/resolution metadata |
| PyArrow | 25.0.1 | Apache-2.0 | io extra; Parquet table reading and writing |
| NumPy | 2.2.6 | BSD-3-Clause | Local rep matrix and clustering tests |
| scikit-learn | 1.7.2 | BSD-3-Clause | Local k-means/PCA/silhouette testing |
| Biopython | 1.88 | LicenseRef-Biopython-License-Agreement |
Differential control for validation extra only |
| MkDocs | 1.6.1 | BSD-2-Clause | Documentation Development |
| MkDocs Material | 9.7.7 | MIT | Document Development |
| mkdocstrings | 0.30.1 | ISC | API documentation generation |
| nbmake | 1.5.5 | Apache-2.0 | Notebook Access Control |
| Dashing local copy | Out-of-package third-party directory under project root | GPL-3.0 (this directory LICENSE); runtime adapter record GPL-3.0-only |
Excluded from wheel/sdist; explicit adapter does not automatically select or package this copy, real scientific difference is not completed |
Primer3 is no longer a Python dependency and is not in any extras. Currently dnakit-dev is not installed yet
Complete PyTorch/Transformers model inference stack; GROVER real checkpoint smoke in standalone compatibility
Model environment execution, the above table cannot be interpreted to mean that all 11 models have been verified. The above table only represents the currently directly dependent
Local metadata snapshot; the license list must be regenerated after version upgrade, repackaging or changing distribution method.
For a complete list of direct dependencies, see Third Party Statement.
License prompt for registered external CLI handle¶
These values are metadata in BackendInfo.license_expression to prompt the user to review, and are not a legal conclusion about DNAKit's suitability for third-party licenses. The path discovery of BLAST/MMseqs2/sourmash does not execute the program, and only the user explicitly calls .version() to run the restricted version command; Dashing also has a scientific computing adapter that must explicitly provide the executable path and call it explicitly.
| Backend ID | License hint for DNAKit records | Current capabilities |
|---|---|---|
blastn |
LicenseRef-NCBI |
Passive path positioning, explicit version query |
mmseqs2 |
GPL-3.0-or-later |
Passive path positioning, explicit version query |
sourmash |
BSD-3-Clause |
Passive path positioning, explicit version query |
dashing |
GPL-3.0-only |
registry passive path/version handle; exact/HLL Jaccard/Top-k adapter with explicit path; project root third-party copy is not included in the release archive |
Before actual use, the respective versions, license files and usage conditions of the binary/source code and database provided by the user must prevail.
Restricted backends and databases¶
| Project | Currently Processing |
|---|---|
| NUPACK | Provides passive detection and explicit adapter, but does not automatically install/download, does not package, and does not serve as a web backend; independent subscription terms may be charged, the current environment is not available and the real value difference is subject to licensing and installation conditions |
| Primer3 | Users install the CLI separately and explicitly provide oligotm, ntthal or primer3_core paths; DNAKit no longer relies on primer3-py, does not search according to PATH, and does not package; the license prompt is GPL-2.0-or-later, and must still be reviewed according to the actual version |
| DSSR/3DNA | Users obtain a separate license and install it; DNAKit only parses the output provided by the user, and the academic free terms cannot be extrapolated to commercial free or arbitrary redistribution |
| Dashing | Local GPLv3 source code/binary does not enter the release archive; explicit path adapter can do bounded exact/HLL Jaccard and Top-k, but there is no real scientific difference and the local copy will not be automatically selected |
| BLAST/MMseqs2/sourmash | No automatic installation or download; passive metadata/explicit version handles registered, but no search, clustering or sketch executors |
| RepeatMasker/TRF/FIMO | No automatic installation or download; currently no unified adapter |
| Databases such as REBASE/JASPAR | Not redistributed with packages; provided by user under license and recorded version, date, filter and checksum |
| DiProDB/dinucleotide parameter table | No built-in DiProDB values; users provide the 15×16 table they have permission to use according to the fixed JSON schema, and the result records the table name, version, source statement and SHA-256 |
| DNA foundation-model checkpoint | is only downloaded to ckpt/ when the user explicitly calls the rep API, and is not distributed with the package; checkpoint/source code terms are checked model by model, and remote code is rejected by default; currently only GROVER real smoke |