Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
beita6969 avatar

Biopython Bio

  • 16 installs
  • 869 repo stars
  • Updated June 8, 2026
  • beita6969/scienceclaw

biopython-bio is a Claude skill that runs bioinformatics operations via Biopython, including sequence I/O, BLAST, alignment, and PDB parsing.

About

Runs common bioinformatics operations with Biopython: reading/writing sequence files, BLAST searches, pairwise alignment, PDB structure parsing, NCBI Entrez queries, and phylogenetic trees. A developer uses it for concrete Biopython code on DNA/protein sequences and structures. It is scoped to standard Biopython tasks, not clinical genomics or variant calling.

  • Bioinformatics operations via Biopython with runnable code snippets
  • Covers FASTA/GenBank I/O, BLAST, pairwise alignment, PDB parsing, Entrez, phylogenetics
  • Warns to set Entrez.email and respect NCBI's 3 req/s limit without an API key

Biopython Bio by the numbers

  • 16 all-time installs (skills.sh)
  • Ranked #195 of 290 Python skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
At a glance

biopython-bio capabilities & compatibility

Capabilities
biopython · bioinformatics · astropy astronomy
Use cases
research · data analysis
Pricing
Free
From the docs

What biopython-bio says it does

Bioinformatics operations using Biopython.
SKILL.md
Always set `Entrez.email` before NCBI queries.
SKILL.md
Respect NCBI rate limits: max 3 requests/second without API key.
SKILL.md
npx skills add https://github.com/beita6969/scienceclaw --skill biopython-bio

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs16
repo stars869
Last updatedJune 8, 2026
Repositorybeita6969/scienceclaw

What it does

Perform DNA/protein sequence, BLAST, and PDB tasks in Python with ready-to-run Biopython snippets.

Who is it for?

Developers needing Biopython code for sequences, BLAST, alignment, PDB parsing, or Entrez queries.

Skip if: Clinical genomics or variant calling, RNA-seq differential expression, genome assembly, or molecular dynamics.

When should I use this skill?

The user asks about DNA/protein sequences, BLAST, or PDB structures.

What you get

Sequences read/written, BLAST run, alignments computed, and PDB structures parsed via Biopython.

  • Parsed/written sequences
  • BLAST hits
  • Parsed PDB structures and phylogenetic trees

By the numbers

  • 5 best-practice rules
  • NCBI limit of 3 requests/second without API key
  • covers 6 use cases

Files

SKILL.mdMarkdownGitHub ↗

Biopython Bio

Bioinformatics operations using Biopython.

When to Use

  • Reading/writing sequence files (FASTA, GenBank)
  • Running BLAST searches (local or remote NCBI)
  • Sequence alignment and manipulation
  • Parsing PDB protein structures
  • Phylogenetic tree construction
  • Querying NCBI Entrez databases

When NOT to Use

  • Clinical genomics or variant calling (use GATK, bcftools)
  • RNA-seq differential expression (use DESeq2, edgeR)
  • Genome assembly (use SPAdes, Canu)
  • Molecular dynamics simulations (use GROMACS, OpenMM)

Sequence Reading and Writing

from Bio import SeqIO
from Bio.Seq import Seq
from Bio.SeqRecord import SeqRecord

for record in SeqIO.parse('sequences.fasta', 'fasta'):
    print(f"{record.id}: {len(record.seq)} bp")

# Write FASTA
records = [SeqRecord(Seq('ATGCGATCGATCG'), id='seq1', description='example')]
SeqIO.write(records, 'output.fasta', 'fasta')

Sequence Manipulation

from Bio.Seq import Seq
from Bio.SeqUtils import gc_fraction, molecular_weight

dna = Seq('ATGCGATCGATCGATCG')
rev_comp = dna.reverse_complement()
protein = dna.translate()
gc = gc_fraction(dna)
mw = molecular_weight(dna, seq_type='DNA')

BLAST Searches

from Bio.Blast import NCBIWWW, NCBIXML

result_handle = NCBIWWW.qblast('blastn', 'nt', 'ATGCGATCGATCGATCG')
for record in NCBIXML.parse(result_handle):
    for aln in record.alignments:
        for hsp in aln.hsps:
            if hsp.expect < 1e-10:
                print(f"{aln.title[:60]}, E={hsp.expect}")

Pairwise Alignment

from Bio import Align

aligner = Align.PairwiseAligner()
aligner.mode = 'global'
aligner.match_score = 2
aligner.mismatch_score = -1
best = aligner.align('ATCGATCGATCG', 'ATCAATCAATCG')[0]
print(best, f"Score: {best.score}")

PDB Structure Parsing

from Bio.PDB import PDBParser, PDBList

structure = PDBParser(QUIET=True).get_structure('prot', 'structure.pdb')
for chain in structure[0]:
    for res in chain:
        if res.id[0] == ' ' and 'CA' in res:
            print(f"{res.resname} {res.id[1]}: {res['CA'].coord}")

Entrez Queries and Phylogenetics

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

Entrez.email = 'your.email@example.com'  # Required by NCBI
handle = Entrez.esearch(db='pubmed', term='CRISPR AND 2025[pdat]', retmax=5)
record = Entrez.read(handle)

# Phylogenetics from alignment
aln = AlignIO.read('aligned.fasta', 'fasta')
tree = DistanceTreeConstructor().nj(DistanceCalculator('identity').get_distance(aln))
Phylo.draw_ascii(tree)

Quick One-liner

python3 -c "
from Bio.Seq import Seq
dna = Seq('ATGAAAGCTTGA')
print(f'Protein: {dna.translate()}, RevComp: {dna.reverse_complement()}')
"

Best Practices

1. Always set Entrez.email before NCBI queries. 2. Respect NCBI rate limits: max 3 requests/second without API key. 3. Use QUIET=True in PDB parser to suppress warnings. 4. Check sequence type before operations like translate(). 5. For large BLAST jobs, prefer local BLAST+ over remote NCBI.

Related skills

FAQ

What NCBI limits apply?

Respect NCBI rate limits of max 3 requests/second without an API key, and always set Entrez.email.

When should I not use it?

Not for clinical genomics/variant calling, RNA-seq differential expression, genome assembly, or molecular dynamics.

Pythonresearch

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.