Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计异常

biopythonBioPython 生物信息

Agent Skill

用于辅助 Python 项目开发、测试、依赖管理和常见框架工作流。它适合让 Agent 阅读 Python 代码、定位测试问题、整理运行命令、生成脚本或分析数据处理逻辑。使用时需要确认项目虚拟环境、依赖版本和测试入口;涉及执行脚本、读写文件、访问数据库或调用外部 API 时,应先明确运行目录和输入输出范围,避免误改生产数据。

总安装

699

周安装

28

GitHub Stars

公开资料未说明

下载量

226
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:biopython(BioPython 生物信息)
来源仓库:https://github.com/aminoanalytica/amina-skills
仓库路径:skills/biopython
安装命令:
npx skills add https://github.com/aminoanalytica/amina-skills --skill biopython
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/aminoanalytica/amina-skills --skill biopython

简介

biopython 用于辅助 Python 项目开发、测试和依赖管理,支持生物数据分析。

  • 适合解析序列文件、访问 NCBI 数据库、执行 BLAST 和构建系统发育树。
  • 通过 npx skills add 命令从 GitHub 仓库安装,支持多宿主环境。
  • 使用时需确认 Python 环境和依赖版本,避免误改生产数据。
  • 涉及数据库或外部 API 时应先明确运行目录和输入输出范围。

SKILL.md

Biopython: Python Tools for Computational Biology

Summary

Biopython (v1.85+) delivers a comprehensive Python library for biological data analysis. It requires Python 3 and NumPy, providing modular components for sequences, alignments, database access, BLAST, structures, and phylogenetics.

Applicable Scenarios

This skill applies when you need to:

Task CategoryExamples
Sequence OperationsCreate, modify, translate DNA/RNA/protein sequences
File Format HandlingParse or convert FASTA, GenBank, FASTQ, PDB, mmCIF
NCBI Database AccessQuery GenBank, PubMed, Protein, Gene, Taxonomy
Similarity SearchesExecute BLAST locally or via NCBI, parse results
Alignment WorkPairwise or multiple sequence alignments
Structural AnalysisParse PDB files, compute distances, DSSP assignment
Tree ConstructionBuild, manipulate, visualize phylogenetic trees
Motif DiscoveryFind and score sequence patterns
Sequence StatisticsGC content, molecular weight, melting temperature

Module Organization

ModulePurposeReference
Bio.Seq / Bio.SeqIOSequence objects and file I/Oreferences/sequence-io.md
Bio.Align / Bio.AlignIOPairwise and multiple alignmentsreferences/alignment.md
Bio.EntrezNCBI database programmatic accessreferences/databases.md
Bio.BlastBLAST execution and result parsingreferences/blast.md
Bio.PDB3D structure manipulationreferences/structure.md
Bio.PhyloPhylogenetic tree operationsreferences/phylogenetics.md
Bio.motifs, Bio.SeqUtils, etc.Motifs, utilities, restriction sitesreferences/advanced.md

Setup

Install via pip:

uv pip install biopython

Configure NCBI access (mandatory for Entrez operations):

from Bio import Entrez

Entrez.email = "researcher@institution.edu"
Entrez.api_key = "your_ncbi_api_key"  # Optional: increases rate limit to 10 req/s

Quick Reference

Parse Sequences

from Bio import SeqIO

records = SeqIO.parse("data.fasta", "fasta")
for rec in records:
    print(f"{rec.id}: {len(rec)} bp")

Translate DNA

from Bio.Seq import Seq

dna = Seq("ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG")
protein = dna.translate()

Query NCBI

from Bio import Entrez

Entrez.email = "researcher@institution.edu"
handle = Entrez.esearch(db="nucleotide", term="insulin[Gene] AND human[Organism]")
results = Entrez.read(handle)
handle.close()

Run BLAST

from Bio.Blast import NCBIWWW, NCBIXML

result = NCBIWWW.qblast("blastp", "swissprot", "MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQAPILSRVGDGTQDNLSGAEKAVQVKVKALPDAQFEVVHSLAKWKRQQIAAALEHHHHHH")
record = NCBIXML.read(result)

Parse Protein Structure

from Bio.PDB import PDBParser

parser = PDBParser(QUIET=True)
structure = parser.get_structure("protein", "structure.pdb")
for atom in structure.get_atoms():
    print(atom.name, atom.coord)

Build Phylogenetic Tree

from Bio import AlignIO, Phylo
from Bio.Phylo.TreeConstruction import DistanceCalculator, DistanceTreeConstructor

alignment = AlignIO.read("aligned.fasta", "fasta")
calc = DistanceCalculator("identity")
dm = calc.get_distance(alignment)
tree = DistanceTreeConstructor().nj(dm)
Phylo.draw_ascii(tree)

Reference Files

FileContents
references/sequence-io.mdBio.Seq objects, SeqIO parsing/writing, large file handling, format conversion
references/alignment.mdPairwise alignment, BLOSUM matrices, AlignIO, external aligners
references/databases.mdNCBI Entrez API, esearch/efetch/elink, batch downloads, search syntax
references/blast.mdRemote/local BLAST, XML parsing, result filtering, batch queries
references/structure.mdBio.PDB, SMCRA hierarchy, DSSP, superimposition, spatial queries
references/phylogenetics.mdTree I/O, distance matrices, tree construction, consensus, visualization
references/advanced.mdMotifs, SeqUtils, restriction enzymes, population genetics, GenomeDiagram

Implementation Patterns

Retrieve and Analyze GenBank Record

from Bio import Entrez, SeqIO
from Bio.SeqUtils import gc_fraction

Entrez.email = "researcher@institution.edu"

handle = Entrez.efetch(db="nucleotide", id="NM_001301717", rettype="gb", retmode="text")
record = SeqIO.read(handle, "genbank")
handle.close()

print(f"Organism: {record.annotations['organism']}")
print(f"Length: {len(record)} bp")
print(f"GC: {gc_fraction(record.seq):.1%}")

Batch Sequence Processing

from Bio import SeqIO
from Bio.SeqUtils import gc_fraction

output_records = []
for record in SeqIO.parse("input.fasta", "fasta"):
    if len(record) >= 200 and gc_fraction(record.seq) > 0.4:
        output_records.append(record)

SeqIO.write(output_records, "filtered.fasta", "fasta")

BLAST with Result Filtering

from Bio.Blast import NCBIWWW, NCBIXML

query = "MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSH"
result_handle = NCBIWWW.qblast("blastp", "nr", query, hitlist_size=20)
record = NCBIXML.read(result_handle)

for alignment in record.alignments:
    for hsp in alignment.hsps:
        if hsp.expect < 1e-10:
            identity_pct = (hsp.identities / hsp.align_length) * 100
            print(f"{alignment.accession}: {identity_pct:.1f}% identity, E={hsp.expect:.2e}")

Phylogeny from Alignment

from Bio import AlignIO, Phylo
from Bio.Phylo.TreeConstruction import DistanceCalculator, DistanceTreeConstructor
import matplotlib.pyplot as plt

alignment = AlignIO.read("sequences.aln", "clustal")
calculator = DistanceCalculator("blosum62")
dm = calculator.get_distance(alignment)

constructor = DistanceTreeConstructor()
tree = constructor.nj(dm)
tree.root_at_midpoint()
tree.ladderize()

fig, ax = plt.subplots(figsize=(12, 8))
Phylo.draw(tree, axes=ax)
fig.savefig("phylogeny.png", dpi=150)

Guidelines

Imports: Use explicit imports

from Bio import SeqIO, Entrez
from Bio.Seq import Seq

File Handling: Always close handles or use context managers

with open("sequences.fasta") as f:
    for record in SeqIO.parse(f, "fasta"):
        process(record)

Memory Efficiency: Use iterators for large datasets

# Correct: iterate without loading all
for record in SeqIO.parse("huge.fasta", "fasta"):
    if meets_criteria(record):
        yield record

# Avoid: loading entire file
all_records = list(SeqIO.parse("huge.fasta", "fasta"))

Error Handling: Wrap network operations

from urllib.error import HTTPError

try:
    handle = Entrez.efetch(db="nucleotide", id=accession)
    record = SeqIO.read(handle, "genbank")
except HTTPError as e:
    print(f"Fetch failed: {e.code}")

NCBI Compliance: Set email, respect rate limits, cache downloads locally

Troubleshooting

IssueResolution
"No handlers could be found for logger 'Bio.Entrez'"Set Entrez.email before any queries
HTTP 400 from NCBIVerify accession/ID format is correct
"ValueError: EOF" during parseConfirm file format matches format string
Alignment length mismatchSequences must be pre-aligned for AlignIO
Slow BLAST queriesUse local BLAST for large-scale searches
PDB parser warningsUse PDBParser(QUIET=True) or check structure quality

External Resources

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.62%
按下载量换算81

Claude

31.03%
按下载量换算70

Cursor

18.67%
按下载量换算42

Gemini CLI

8.75%
按下载量换算20

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills