shefat16/DNA_coding_regions
DNA Coding Regions Dataset This is a curated collection of genomic sequences extracted directly from NCBI GenBank, designed to support research in introns and exons classification, DNA-to-protein translation, gene structure analysis, and biological sequence modeling with deep learning architectures. Source and Extraction Pipeline All records were extracted from GenBank using Biopython.The dataset construction followed a reproducible data processing pipeline… See the full description on the dataset page: https://huggingface.co/datasets/shefat16/DNA_coding_regions.
DNA Coding Regions Dataset
This is a curated collection of genomic sequences extracted directly from NCBI GenBank, designed to support research in introns and exons classification, DNA-to-protein translation, gene structure analysis, and biological sequence modeling with deep learning architectures.
Source and Extraction Pipeline
All records were extracted from GenBank using Biopython. The dataset construction followed a reproducible data processing pipeline written in Python, which:
- Downloads and parses GenBank records.
- Extracts genomic DNA sequences, their associated exons, introns, and coding sequences (CDS).
- Processes the
strandorientation to produce normalized sequences. - Removes duplicate entries based on
(sequence, organism)pairs. - Assembles each record into a structured JSONL format suitable for machine learning models.
The GenBank search query used for data collection was:
"genomic DNA"[Filter]
AND ("exon"[Feature Key] OR "intron"[Feature Key])
AND "CDS"[Feature Key]
AND ("3"[SLEN] : "16384"[SLEN])You can find more information about the pipeline in the GitHub from the DNA Coding Regions repository.
Dataset Structure
Each entry in the dataset corresponds to a unique DNA sequence, identified by its GenBank accession. The dataset is serialized in JSON Lines (.jsonl) format and can be loaded with the Hugging Face datasets library.
Example record
{
"accession": "NC_045512.2",
"organism": "Homo sapiens",
"sequence": "ATTAAAGGTTTATACCTTCCCAGGTAACAAACCAACCAACTTTCGAT...",
"introns": [
{
"sequence": "TTGTAGACCAGTGCAGTA...",
"start": 1450,
"end": 1783,
"gene": "ORF1ab",
"before": "ATGCCDG",
"after": "TAACAFG"
}
],
"exons": [
{
"sequence": "ATGGACACAAGTCAGG...",
"start": 1,
"end": 1449,
"gene": "ORF1ab",
"before": null,
"after": "GT"
}
],
"proteins": [
{
"sequence": "MESLVPGFNEKTHVQLSLPVLQVRDVLVRGFGDSVEEVL...",
"start": 1,
"end": 4405,
"gene": "ORF1ab"
}
]
}Field Descriptions
Applications
This dataset can be directly used for:
- DNA to protein translation modeling
- Exon and Introns classification
- Splicing prediction
- Genomic representation learning
- Bioinformatics-focused LLM pretraining (DAPT)
Loading Example
from datasets import load_dataset
dataset = load_dataset("gu-dudi/DNA_coding_regions")
print(dataset)
print(dataset["train"][0])Dataset Metadata
- Source: NCBI GenBank
- Processed with: Biopython, Pandas, tqdm
- Maintainer: Gustavo Henrique Ferreira Cruz
- License: Open for research and educational use
- Format: JSON Lines (UTF-8)
Disclaimer on data completeness
Not all genomic entries in this dataset contain every type of annotation (exons, introns, and proteins).
While the GenBank records were filtered to include sequences annotated with "exon", "intron", and "CDS" feature keys, the underlying annotations in GenBank are not always deterministic or complete.
Some sequences may include only exons or introns without corresponding protein-coding regions, or vice versa.
This reflects the inherent variability and curation differences across submissions in the GenBank database.
Citation
If you use this dataset in your research, please cite:
@misc{gustavo_henrique_ferreira_cruz_2025,
author = {Gustavo Henrique Ferreira Cruz},
title = {DNA\_coding\_regions (Revision 16f4e3a)},
year = 2025,
url = {https://huggingface.co/datasets/GustavoHCruz/DNA_coding_regions},
doi = {10.57967/hf/7238},
publisher = {Hugging Face}
}Version and Integrity
- Version: 1.0
- Total entries: 1,677,609
- Deduplication: duplicates removed based on
(sequence, organism)pair - Strand normalization: handled during extraction
Notes
- Coordinates (
start,end) are relative to the parent DNA sequence. sequenceinside each intron/exon corresponds only to that region (not the full DNA).- Protein sequences are already translated amino acid chains, not nucleotide fragments.
Developed as part of the Master’s research project on DNA sequence understanding and translation using deep learning models.
