Skip to content
Data
Skill

/analyze-fasta

Synthetic ~120 aa protein sequence (CC0, no real organism)

From plugin
clawbio
1.1k97 skills4 commands
Install
$ npx -y skills add ClawBio/ClawBio --skill analyze-fasta --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition โ†’
  • You can call itInvoke it directly when you want it.
  • Slash command/analyze-fasta

Context preview

The summary Claude sees to decide when to auto-load this skill.

Synthetic ~120 aa protein sequence (CC0, no real organism)

SKILL.md

analyze-fasta.SKILL.md
name: analyze-fasta
description: Analyze a single FASTA file (nucleotide or protein), compute sequence-level metrics (GC, ORFs, MW, pI, GRAVY, secondary-structure fractions) with Biopython, and write a Markdown report plus structured JSON for downstream chaining.
license: MIT
metadata:
  version: "0.1.0"
  author: Santiago Rodriguez Salinas
  domain: genomics
  tags:
    - fasta
    - biopython
    - sequence-analysis
    - gc-content
    - orf
    - protein-properties
    - isoelectric-point
    - gravy
  inputs:
    - name: input
      type: file
      format:
        - fasta
        - fa
        - fna
        - faa
      description: Single FASTA file with one or more nucleotide or protein records
      required: true
  outputs:
    - name: report
      type: file
      format:
        - md
      description: Markdown report with summary table, per-sequence metrics, and disclaimer
    - name: result
      type: file
      format:
        - json
      description: Machine-readable analysis results (sequence type, per-record metrics, summary)
    - name: report_html
      type: file
      format:
        - html
      description: Standalone HTML rendering of the same report for visual inspection
    - name: reproducibility
      type: directory
      description: Directory with commands.sh and run.json describing the exact run
  dependencies:
    python: ">=3.10"
    packages:
      - biopython>=1.80
  demo_data:
    - path: example_data/demo_nucleotide.fasta
      description: Synthetic ~720 bp nucleotide sequence with a small ORF (CC0, no real organism)
    - path: example_data/demo_protein.fasta
      description: Synthetic ~120 aa protein sequence (CC0, no real organism)
  endpoints:
    cli: python skills/analyze-fasta/analyze_fasta.py --input {input_file} --output {output_dir}
  openclaw:
    requires:
      bins:
        - python3
      env:
      config:
    always: false
    emoji: "๐Ÿงฌ"
    homepage: https://github.com/ClawBio/ClawBio
    os:
      - darwin
      - linux
    install:
      - kind: pip
        package: biopython
        bins:
    trigger_keywords:
      - fasta
      - analyze fasta
      - analiza fasta
      - sequence analysis
      - gc content
      - find orfs
      - orf finder
      - protein properties
      - isoelectric point
      - gravy index
      - protparam
      - molecular weight protein
      - molecular weight dna

๐Ÿงฌ analyze-fasta

You are **analyze-fasta**, a specialised ClawBio agent for single-FASTA inspection. Your role is to take a FASTA file (nucleotide or protein), auto-detect its type, compute the standard set of sequence-level metrics with Biopython, and produce a structured report that downstream skills can chain to.

Trigger

**Fire this skill when the user says any of:**

  • "analyze this fasta"
  • "analiza este fasta"
  • "what's the GC content of this sequence"
  • "find ORFs in this sequence"
  • "compute pI / isoelectric point of this protein"
  • "GRAVY index"
  • "protein properties from this fasta"
  • "summarise this fasta"
  • "describe this sequence"

**Do NOT fire when:**

  • The user has FASTQ reads โ€” route to `seq-wrangler` (alignment QC).
  • The user has a VCF โ€” route to `variant-annotation` or `clinical-variant-reporter`.
  • The user wants comparison between two FASTA โ€” route to `genome-compare`.
  • The user wants 3D structure prediction โ€” route to `struct-predictor`.

Why This Exists

  • **Without it**: Users open Biopython interactively, copy boilerplate to compute GC / ProtParam metrics, and hand-format a report. Common values get computed inconsistently across notebooks.
  • **With it**: One command turns a FASTA into a Markdown report + JSON suitable for orchestration. Detection of nucleotide vs protein is automatic. ORFs, GC%, MW, pI, GRAVY, secondary-structure fractions, dinucleotide counts, and N50 all come out at once.
  • **Why ClawBio**: Output is structured (`result.json`) so the bio-orchestrator can chain analyze-fasta โ†’ variant-annotation, struct-predictor, or pubmed-summariser without reparsing prose.

Core Capabilities

1. **Auto-detect sequence type**: nucleotide vs protein (>=85% ACGTUN ratio threshold over the first 500 chars). 2. **Nucleotide metrics**: length, GC% / AT%, base and dinucleotide composition, ORF discovery (>=100 aa), N50 across multi-record FASTAs, MW. 3. **Protein metrics**: length, MW, isoelectric point (pI), instability index, GRAVY (hydrophobicity), aromaticity, charged/aromatic residue %, secondary-structure fractions (helix/turn/sheet), AA composition.

Scope

**One skill, one task.** This skill describes a single FASTA file. It does not align, blast, fold, compare, or annotate. If the user wants any of those, the skill should refuse and route elsewhere.

Input Formats

| Format | Extension | Required Fields | Example | |--------|-----------|-----------------|---------| | FASTA (nucleotide) | `.fasta`, `.fa`, `.fna` | `>header` line + ACGTUN sequence | `example_data/demo_nucleotide.fasta` | | FASTA (protein) | `.fasta`, `.fa`, `.faa` | `>header` line + amino-acid sequence | `example_data/demo_protein.fasta` |

Workflow

When the user asks for FASTA analysis:

1. **Validate** (prescriptive): file exists; at least one record; first record >=10 chars; <=50% Ns. Any failure โ†’ exit 1 with explicit message. Never write a partial report. 2. **Detect type** (prescriptive): nucleotide if >=85% of first 500 chars are in `ACGTUNacgtun`, else protein. 3. **Compute metrics per record** (prescriptive): use Biopython `gc_fraction`, `molecular_weight`, `ProteinAnalysis`. Round consistently (GC to 2 dp, MW to 1 dp, pI to 2 dp). 4. **Generate** (prescriptive): write `result.json` (full structured data), `report.md` (human-readable), `report.html` (visual), and `reproducibility/{commands.sh,run.json}`. 5. **Interpret** (flexible โ€” agent layer): the LLM may add a short biological narrative on top of the report (likely organism class from GC, predicted protein family from pI/GRAVY) but must no

Read more
Ships withclawbio

๐Ÿฆ– ClawBio - The first bioinformatics-native AI agent skill library. Local-first. Reproducible. Open. Free.

Get the whole plugin