biopython – skill Dữ liệu & Khoa học cho agent AI
Cung cấp quy trình Biopython để xử lý chuỗi, phân tích file (FASTA/GenBank/PDB), phát sinh loài (phylogenetics) và truy cập NCBI/PubMed theo chương trình (Bio.Entrez). Hỗ trợ xử lý hàng loạt, pipeline sinh học phân tử tùy chỉnh, tự động hóa BLAST, phân tích cấu trúc và phân tích motif.
Cài skill biopython bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/biopython-a35fc.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /biopython – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/biopython-a35fc.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $biopython – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/biopython-a35fc.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /biopython – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/biopython-a35fc.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /biopython – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Biopython: Computational Molecular Biology in Python
Overview
Biopython is a comprehensive set of freely available Python tools for biological computation. It provides functionality for sequence manipulation, file I/O, database access, structural bioinformatics, phylogenetics, and many other bioinformatics tasks. These examples target Biopython 1.88 (released 6 August 2026), tested here on Python 3.13. It requires Python 3.10+ and NumPy; Python 3.10 support is deprecated. Upgrade to 1.88 for its Bio.Nexus parser security fix, in addition to the Entrez XML fix in 1.87. See the [release notes](https://github.com/biopython/biopython/blob/biopython-188/NEWS.rst). Local example checks and external-service limits are recorded in references/review.md; examples requiring user files or external programs are illustrative unless listed there as exercised.
When to Use This Skill
Use this skill when:
- Working with biological sequences (DNA, RNA, or protein)
- Reading, writing, or converting biological file formats (FASTA, GenBank, FASTQ, PDB, mmCIF, etc.)
- Accessing NCBI databases (GenBank, PubMed, Protein, Gene, etc.) via Entrez
- Running BLAST searches or parsing BLAST results
- Performing sequence alignments (pairwise or multiple sequence alignments)
- Analyzing protein structures from PDB files
- Creating, manipulating, or visualizing phylogenetic trees
- Finding sequence motifs or analyzing motif patterns
- Calculating sequence statistics (GC content, molecular weight, melting temperature, etc.)
- Performing structural bioinformatics tasks
- Working with population genetics data
- Any other computational molecular biology task
Core Capabilities
Biopython is organized into modular sub-packages, each addressing specific bioinformatics domains:
1. Sequence Handling - Bio.Seq and Bio.SeqIO for sequence manipulation and file I/O
2. Alignment Analysis - Bio.Align and Bio.AlignIO for pairwise and multiple sequence alignments
3. Database Access - Bio.Entrez for programmatic access to NCBI databases
4. BLAST Operations - Bio.Blast for running and parsing BLAST searches
5. Structural Bioinformatics - Bio.PDB for working with 3D protein structures
6. Phylogenetics - Bio.Phylo for phylogenetic tree manipulation and visualization
7. Advanced Features - Motifs, population genetics, sequence utilities, and more
Installation and Setup
Install the current stable Biopython release with an explicit version pin for reproducibility:
uv pip install "biopython==1.88"For NCBI database access, always set your email address (required by NCBI). For reusable software, set a stable Entrez.tool value and register the tool/email with NCBI. For higher rate limits (10 req/s instead of 3 req/s), read only NCBI_API_KEY from the environment — do not hardcode keys or load unrelated environment variables:
import os
from Bio import Entrez
Entrez.email = "[email protected]" # required — use your real email
Entrez.tool = "your_tool_name" # optional but recommended for reusable software
# Optional: register at https://www.ncbi.nlm.nih.gov/account/settings/
if api_key := os.environ.get("NCBI_API_KEY"):
Entrez.api_key = api_keyUsing This Skill
This skill provides comprehensive documentation organized by functionality area. When working on a task, consult the relevant reference documentation:
1. Sequence Handling (Bio.Seq & Bio.SeqIO)
Reference: references/sequence_io.md
Use for:
- Creating and manipulating biological sequences
- Reading and writing sequence files (FASTA, GenBank, FASTQ, etc.)
- Converting between file formats
- Extracting sequences from large files
- Sequence translation, transcription, and reverse complement
- Working with SeqRecord objects
Quick example:
from Bio import SeqIO
# Read sequences from FASTA file
for record in SeqIO.parse("sequences.fasta", "fasta"):
print(f"{record.id}: {len(record.seq)} bp")
# Convert GenBank to FASTA
SeqIO.convert("input.gb", "genbank", "output.fasta", "fasta")2. Alignment Analysis (Bio.Align & Bio.AlignIO)
Reference: references/alignment.md
Use for:
- Pairwise sequence alignment (global and local)
- Reading and writing multiple sequence alignments
- Using substitution matrices (BLOSUM, PAM)
- Calculating alignment statistics
- Customizing alignment parameters
Quick example:
from Bio import Align
# Pairwise alignment
aligner = Align.PairwiseAligner()
aligner.mode = 'global'
alignments = aligner.align("ACCGGT", "ACGGT")
print(alignments[0])3. Database Access (Bio.Entrez)
Reference: references/databases.md
Use for:
- Searching NCBI databases (PubMed, GenBank, Protein, Gene, etc.)
- Downloading sequences and records
- Fetching publication information
- Finding related records across databases
- Batch downloading with proper rate limiting
Quick example:
from Bio import Entrez
Entrez.email = "[email protected]"
# Search PubMed
handle = Entrez.esearch(db="pubmed", term="biopython", retmax=10)
results = Entrez.read(handle)
handle.close()
print(f"Found {results['Count']} results")4. BLAST Operations (Bio.Blast)
Reference: references/blast.md
Use for:
- Running BLAST searches via NCBI web services
- Running local BLAST searches
- Parsing BLAST XML output
- Filtering results by E-value or identity
- Extracting hit sequences
Quick example:
from Bio.Blast import NCBIWWW, NCBIXML
# Illustrative network call; configure email/tool and see BLAST rate limits.
NCBIWWW.email = "[email protected]"
NCBIWWW.tool = "your_tool_name"
result_handle = NCBIWWW.qblast("blastn", "nt", "ATCGATCGATCG", format_type="XML2_S")
blast_record = NCBIXML.read(result_handle)
# Display top hits
for alignment in blast_record.alignments[:5]:
print(f"{alignment.title}: E-value={alignment.hsps[0].expect}")5. Structural Bioinformatics (Bio.PDB)
Reference: references/structure.md
Use for:
- Parsing PDB and mmCIF structure files
- Navigating protein structure hierarchy (SMCRA: Structure/Model/Chain/Residue/Atom)
- Calculating distances, angles, and dihedrals
- Secondary structure assignment (DSSP)
- Structure superimposition and RMSD calculation
- Extracting sequences from structures
Quick example:
from Bio.PDB import PDBParser
# Parse structure
parser = PDBParser(QUIET=True)
structure = parser.get_structure("1crn", "1crn.pdb")
# Calculate distance between alpha carbons
chain = structure[0]["A"]
distance = chain[10]["CA"] - chain[20]["CA"]
print(f"Distance: {distance:.2f} Å")6. Phylogenetics (Bio.Phylo)
Reference: references/phylogenetics.md
Use for:
- Reading and writing phylogenetic trees (Newick, NEXUS, phyloXML)
- Building trees from distance matrices or alignments
- Tree manipulation (pruning, rerooting, ladderizing)
- Calculating phylogenetic distances
- Creating consensus trees
- Visualizing trees
Quick example:
from Bio import Phylo
# Read and visualize tree
tree = Phylo.read("tree.nwk", "newick")
Phylo.draw_ascii(tree)
# Calculate distance
distance = tree.distance("Species_A", "Species_B")
print(f"Distance: {distance:.3f}")7. Advanced Features
Reference: references/advanced.md
Use for:
- Sequence motifs (Bio.motifs) - Finding and analyzing motif patterns
- Population genetics (Bio.PopGen) - GenePop file parsing; external software is needed for population statistics
- Sequence utilities (Bio.SeqUtils) - GC content, melting temperature, molecular weight, protein analysis
- Restriction analysis (Bio.Restriction) - Finding restriction enzyme sites
- Clustering (Bio.Cluster) - K-means and hierarchical clustering
- Genome diagrams (GenomeDiagram) - Visualizing genomic features
Quick example:
from Bio.SeqUtils import gc_fraction, molecular_weight
from Bio.Seq import Seq
seq = Seq("ATCGATCGATCG")
print(f"GC content: {gc_fraction(seq):.2%}")
print(f"Molecular weight: {molecular_weight(seq, seq_type='DNA'):.2f} g/mol")General Workflow Guidelines
Reading Documentation
When a user asks about a specific Biopython task:
1. Identify the relevant module based on the task description
2. Read the appropriate reference file using the Read tool
3. Extract relevant code patterns and adapt them to the user's specific needs
4. Combine multiple modules when the task requires it
Example search patterns for reference files:
# Find information about specific functions
rg -n "SeqIO.parse" references/sequence_io.md
# Find examples of specific tasks
rg -n "BLAST" references/blast.md
# Find information about specific concepts
rg -n "alignment" references/alignment.mdWriting Biopython Code
Follow these principles when writing Biopython code:
1. Import modules explicitly
from Bio import SeqIO, Entrez
from Bio.Seq import Seq
2. **S
… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- arxiv – Tìm bài báo arXiv theo từ khóa, tác giả, danh mục hoặc ID.
- bioservices – Cung cấp giao diện Python tới các dịch vụ tin sinh học gồm UniProt, KEGG, ChEMBL…
- bulk-rnaseq – Chuẩn bị đầu ra FASTQ, Salmon, STAR hoặc featureCounts của bulk RNA-seq để phân tích…
- cross-wave-delta-analysis – So sánh các đợt recon để tìm phát hiện MỚI, TỆ ĐI (REGRESSED), TỒN TẠI (PERSISTENT).
- deprecation-and-migration – Quản lý deprecation và migration. Dùng khi gỡ bỏ hệ thống, API hoặc tính năng cũ. Dùng…
- skill-creator – Tạo skill mới, chỉnh sửa và cải thiện skill hiện có, đo lường hiệu suất skill. Dùng khi…
- cellxgene-census – Truy vấn CZ CELLxGENE Census theo lập trình để lấy dữ liệu transcriptomics đơn bào và…
- binary-analysis-patterns – Nắm vững các mẫu phân tích binary, gồm disassembly, decompilation, phân tích luồng điều…