/analyze-fasta
Synthetic ~120 aa protein sequence (CC0, no real organism)
$ npx -y skills add ClawBio/ClawBio --skill analyze-fasta --agent claude-codeHow 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.mdname: 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
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
๐ฆ ClawBio - The first bioinformatics-native AI agent skill library. Local-first. Reproducible. Open. Free.
Other skills on clawbio.
- /affinity-proteomics
Unified analysis pipeline for affinity-based proteomics platforms โ Olink (PEA, NPX) and SomaLogic SomaScan (SOMAmer,
Open skill - /ancestry-risk-profiler
Synthetic South Asian 23andMe profile with T2D, CAD, and hypertension risk alleles
Open skill - /archaic-introgression
Genomic coordinates of introgressed segments
Open skill - /article-data-fetcher
A test DOI pointing to a public GEO dataset
Open skill - /bgpt-mcp
Structured paper data with 25+ fields per result
Open skill - /bigquery-public
Run read-only SQL against BigQuery public datasets with local result capture, cost safeguards, and reproducibility
Open skill

