A Python-based bioinformatics toolkit demonstrating practical applications of Biopython for sequence analysis, biological file parsing, motif discovery, protein structure analysis, and access to public biological databases.
✔ DNA, RNA, and protein sequence analysis
✔ FASTA and GenBank parsing
✔ GC content calculation and visualization
✔ Pairwise sequence alignment
✔ Motif discovery and consensus sequence generation
✔ NCBI Entrez database integration
✔ Protein structure analysis using PDB files
✔ Unit testing with pytest
✔ Reproducible bioinformatics workflows
- DNA sequence analysis
- FASTA and GenBank parsing
- Protein sequence analysis
- GC content calculation and visualization
- Pairwise sequence alignment
- Motif detection and consensus sequences
- NCBI Entrez database access
- Protein structure parsing using PDB files
- Interactive Jupyter Notebook examples
- Unit tests with pytest
bioinformatics-toolkit-biopython/
│
├── data/
├── docs/
├── examples/
├── images/
├── notebooks/
├── src/
├── tests/
├── README.md
├── requirements.txt
└── main.py
- Sequence analysis
- Biological file parsing
- Protein sequence analysis
- Motif discovery
- Sequence alignment
- Protein structure analysis
- Biological database access
- Object-oriented programming
- Modular software design
- Unit testing
- Data visualization
- Command-line applications
- Biopython
- pytest
- Jupyter Notebook
- NCBI Entrez
- Protein Data Bank (PDB)
| Module | Description |
|---|---|
sequence_analyzer.py |
DNA sequence analysis |
fasta_parser.py |
FASTA and GenBank parsing |
protein_analyzer.py |
Protein sequence analysis |
gc_plot.py |
GC content visualization |
alignment_tools.py |
Pairwise sequence alignment |
motif_tools.py |
Motif analysis |
entrez_tools.py |
NCBI Entrez search and retrieval |
pdb_tools.py |
Protein structure parsing |
python -m venv .venv
# Linux / macOS
source .venv/bin/activate
# Windows
.venv\Scripts\activate
pip install -r requirements.txtpython main.pyThe menu-driven application allows users to perform sequence analysis, FASTA parsing, protein analysis, GC content plotting, sequence alignment, motif analysis, Entrez queries, and PDB structure parsing.
Analysis of DNA sequences using Biopython Seq and SeqIO modules.
Pairwise sequence alignment and motif consensus generation.
Searching the PubMed database programmatically through Biopython's Entrez module.
Parsing a real Protein Data Bank (PDB) structure and extracting structural statistics from human hemoglobin (PDB ID: 1A3N).
from src.sequence_analyzer import analyze_dna
result = analyze_dna(
"ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG"
)
print(result)from src.fasta_parser import parse_sequences
records = parse_sequences(
"data/example.fasta",
"fasta"
)
print(records)from src.protein_analyzer import analyze_protein
print(analyze_protein("MAIVMGRWKGAR"))from src.gc_plot import plot_gc_content
plot_gc_content(
"data/example.fasta",
"outputs/gc_content.png"
)The Seq object represents DNA, RNA, or protein sequences and provides methods for common biological operations.
SeqRecord stores biological sequences together with metadata such as identifiers, descriptions, annotations, and sequence information.
SeqIO enables reading and writing biological sequence formats including FASTA and GenBank.
- FASTA contains sequence identifiers and sequence data.
- GenBank contains sequence data together with biological annotations and metadata.
- Complement
- Reverse Complement
- GC Content
- DNA → RNA Transcription
- RNA/DNA → Protein Translation
- Sequence Alignment
- Motif Discovery
- Protein Structure Parsing
- NCBI Database Searching
Run all tests using:
pytest- Increase unit test coverage
- Add multiple sequence alignment (MSA)
- Add advanced motif analysis
- Add interactive protein structure visualization
- Add GitHub Actions CI/CD workflow
- Add support for additional biological file formats
Agata Gabara
Incoming MSc Bioinformatics Student
Research Interests:
- Cancer Genomics
- Transcriptomics
- Computational Biology
- Bioinformatics Software Development
- Machine Learning for Genomics
GitHub: https://github.com/ag48665
LinkedIn: https://www.linkedin.com/in/agatha-gabara-06494a37/
This project is intended for educational and learning purposes.



