biotender-max/blast-search
Run BLAST sequence similarity searches. Use when the user asks to BLAST a sequence, find similar sequences, identify a gene/protein, or do homology search. Triggers on "blast", "sequence similarity", "homology", "identify sequence".
npx skills add https://github.com/BioTender-max/awesome-bio-agent-skills --skill blast-search
Run NCBI BLAST+ searches inside the BioClaw container.
| Input | Database | Program |
|-------|----------|---------|
| Nucleotide query | Nucleotide DB | blastn |
| Protein query | Protein DB | blastp |
| Nucleotide query | Protein DB | blastx |
| Protein query | Nucleotide DB | tblastn |
# Create query file
cat > /tmp/query.fa << 'EOF'
>query_sequence
ATGCGATCGATCGATCG...
EOF
# Create subject file (if user provides reference)
cat > /tmp/subject.fa << 'EOF'
>reference
ATGCGATCGATCGATCG...
EOF
# Run BLAST
blastn -query /tmp/query.fa -subject /tmp/subject.fa -outfmt 6 -evalue 1e-5
Use BioPython's NCBIWWW module:
from Bio.Blast import NCBIWWW, NCBIXML
from Bio import SeqIO
# Read sequence
sequence = "ATGCGATCGATCGATCG..."
# Run remote BLAST
result_handle = NCBIWWW.qblast("blastn", "nt", sequence)
blast_records = NCBIXML.parse(result_handle)
for record in blast_records:
for alignment in record.alignments[:10]:
print(f"Title: {alignment.title}")
for hsp in alignment.hsps:
print(f" Score: {hsp.score}, E-value: {hsp.expect}")
print(f" Identity: {hsp.identities}/{hsp.align_length} ({hsp.identities/hsp.align_length*100:.1f}%)")
Present results in a clear table:
*BLAST Results (top 10 hits)*
• Hit 1: Homo sapiens TP53 gene (98.5% identity, E=1e-45)
• Hit 2: Mus musculus Trp53 gene (89.2% identity, E=1e-38)
...
After showing results, suggest:
Take biotender-max/blast-search from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.