Perform sequence alignment via NCBI BLAST API supporting blastn, blastp, blastx, tblastn, and tblastx against major biological databases.
75
70%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./scientific-skills/Data analysis/sequence-alignment/SKILL.mdPerform nucleotide and protein sequence alignment using the NCBI BLAST API against major biological databases (nr, nt, swissprot, refseq, pdb).
python -m py_compile scripts/main.py
python scripts/main.py --helpThis skill accepts: DNA or protein sequences with a specified BLAST program and target database for sequence similarity search via NCBI BLAST API.
If the request does not involve sequence alignment — for example, asking to perform multiple sequence alignment (MSA), phylogenetic tree construction, or genome assembly — do not proceed. Instead respond:
"sequence-alignment is designed to perform pairwise sequence similarity search via NCBI BLAST. Your request appears to be outside this scope. Please provide a query sequence, BLAST program, and target database, or use a more appropriate tool for your task. For multiple sequence alignment, consider MUSCLE, CLUSTALW, or MAFFT. For phylogenetic tree construction, consider phylogenetic-tree-styler or IQ-TREE."
Note on XML parsing: The script uses None guards for XML element .text attributes (int(hit_len.text or 0), float(bit_score.text or 0)) to prevent TypeErrors on malformed BLAST XML.
python scripts/main.py \
--sequence "ATGCGTACGTAGCTAGCTAG" \
--program blastn \
--database nt \
--output results.txt| Parameter | Required | Default | Description |
|---|---|---|---|
--sequence | Yes | — | Query sequence (DNA or protein) |
--program | Yes | — | blastn, blastp, blastx, tblastn, tblastx |
--database | Yes | — | nr, nt, swissprot, pdb, refseq_protein |
--output | No | stdout | Output file path |
--format | No | text | text, json, csv |
--max-hits | No | 10 | Maximum hits to return |
--evalue | No | 10 | E-value threshold |
| Program | Query | Database | Use Case |
|---|---|---|---|
| blastn | Nucleotide | Nucleotide | DNA vs DNA |
| blastp | Protein | Protein | Protein vs Protein |
| blastx | Nucleotide (translated) | Protein | DNA vs Protein |
| tblastn | Protein | Nucleotide (translated) | Protein vs DNA |
| tblastx | Nucleotide (translated) | Nucleotide (translated) | Translated DNA vs DNA |
scripts/main.py with available inputs, or use the documented reasoning path.If scripts/main.py cannot run (network unavailable, missing inputs), respond with:
FALLBACK REPORT
───────────────────────────────────────
Objective : <stated goal>
Blocked by : <exact missing input or error>
Partial result : <what can still be assessed manually>
Next step : <minimum action to unblock>
───────────────────────────────────────Results include:
Every response must make these explicit when relevant:
scripts/main.py fails, report the failure point, summarize what can still be completed safely, and provide the manual fallback above.Use this fixed structure for non-trivial requests:
For simple requests, compress the structure but keep assumptions and limits explicit when they affect correctness.
| Risk Indicator | Assessment | Level |
|---|---|---|
| Code Execution | Python scripts with NCBI API calls | High |
| Network Access | External NCBI BLAST API (HTTPS only) | High |
| File System Access | Read sequence input, write results | Medium |
| Data Exposure | Results saved to workspace | Medium |
No additional Python packages required beyond standard library.
ca9aaa4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.