{
  "title": "FASTA sequence extractor",
  "human_url": "https://happytails.ai/en/developer-tools/fasta-sequence-extractor/",
  "agent_url": "https://happytails.ai/agents/en/developer-tools/fasta-sequence-extractor/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/developer-tools/fasta-sequence-extractor.md",
  "content": "FASTA sequence extractor\nSelect exact FASTA identifiers and optional inclusive ranges while preserving record headers and sequence case.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use FASTA sequence extractor\nPaste valid FASTA and choose its alphabet.\nList exact identifiers in the desired order and optionally enter both coordinates.\nReview selected lengths and download the FASTA sequences and complete report.\nUseful next steps\nFASTA validator\nSequence reverse complement\nSequence motif finder\nCoordinates include both endpoints\nCoordinates start at 1. Both must fit every selected record; gaps count as positions. Leave both empty to extract whole records.\nPreserve source identity\nNames, full headers and case remain unchanged. Coordinates appear separately in JSON and CSV; annotations within headers are not rewritten.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "FASTA validator",
      "url": "https://happytails.ai/en/developer-tools/fasta-validator/"
    },
    {
      "name": "Sequence reverse complement",
      "url": "https://happytails.ai/en/developer-tools/sequence-reverse-complement/"
    },
    {
      "name": "Sequence motif finder",
      "url": "https://happytails.ai/en/developer-tools/sequence-motif-finder/"
    }
  ],
  "tool": {
    "id": "fasta-sequence-extractor",
    "category": "developer-tools",
    "built": true,
    "requirements": "Select complete FASTA records by exact identifier or extract the same one-based inclusive coordinate range from each selected record. Ranges cannot wrap or run beyond record boundaries. Alignment gaps count as positions. Output preserves the original identifier, full header and sequence case, with coordinates recorded separately in JSON and CSV. Existing annotations in a header are not recalculated after extraction. Runs locally without uploads or database lookup. Limit: 500000 combined input characters, 2000 records, 2000 validation issues, a 1000-symbol motif, 20000 matches and 10000000 symbol comparisons. Exceeding a limit rejects the complete report. Each export is limited to 3000000 characters; typed CSV allows 200000 values. Preview shows 200 rows. Processing stops after 10 seconds.",
    "implementation": {
      "fields": [
        {
          "key": "alphabet",
          "label": "Sequence alphabet",
          "value": "dna",
          "type": "select",
          "values": [
            "dna",
            "rna",
            "protein"
          ]
        },
        {
          "key": "allowGaps",
          "label": "Allow alignment gaps (-)",
          "value": "false",
          "type": "select",
          "values": [
            "false",
            "true"
          ]
        },
        {
          "key": "recordIds",
          "label": "Record identifiers",
          "value": "sample",
          "type": "textarea",
          "maxLength": 500000,
          "help": "Enter one exact first-token identifier per line. Duplicate requests and missing identifiers are rejected. Requested order determines output order."
        },
        {
          "key": "start",
          "label": "Start coordinate, optional",
          "value": "",
          "type": "text",
          "inputMode": "numeric",
          "maxLength": 6,
          "help": "Leave both coordinates empty for whole records, or enter one-based inclusive coordinates. Gaps count as positions."
        },
        {
          "key": "end",
          "label": "End coordinate, optional",
          "value": "",
          "type": "text",
          "inputMode": "numeric",
          "maxLength": 6,
          "help": "Both coordinates must fit every selected record. Source identifiers, full headers and sequence case are unchanged; FASTA lines wrap at 80 symbols."
        }
      ],
      "registrationFamily": "sequence-tools",
      "presentation": "metrics",
      "note": "Select complete FASTA records by exact identifier or extract the same one-based inclusive coordinate range from each selected record. Ranges cannot wrap or run beyond record boundaries. Alignment gaps count as positions. Output preserves the original identifier, full header and sequence case, with coordinates recorded separately in JSON and CSV. Existing annotations in a header are not recalculated after extraction. Runs locally without uploads or database lookup. Limit: 500000 combined input characters, 2000 records, 2000 validation issues, a 1000-symbol motif, 20000 matches and 10000000 symbol comparisons. Exceeding a limit rejects the complete report. Each export is limited to 3000000 characters; typed CSV allows 200000 values. Preview shows 200 rows. Processing stops after 10 seconds.",
      "inputMaxLength": 500000,
      "inputErrorCode": "SEQUENCE_INPUT",
      "example": {
        "input": ">sample unchanged description\nACGTrynACGT\n",
        "options": {
          "alphabet": "dna",
          "allowGaps": "false",
          "recordIds": "sample",
          "start": "",
          "end": ""
        }
      },
      "experience": {
        "automatic": false,
        "single": false,
        "inputMaxLength": 500000,
        "inputMode": "text",
        "label": "Your text",
        "placeholder": "Type or paste your input…",
        "help": "Up to 500,000 characters. Review the settings before running.",
        "action": null
      },
      "mode": "explicit",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# FASTA sequence extractor\n\n- Human page: https://happytails.ai/en/developer-tools/fasta-sequence-extractor/\n- Markdown: https://happytails.ai/en/developer-tools/fasta-sequence-extractor.md\n- Structured JSON: https://happytails.ai/agents/en/developer-tools/fasta-sequence-extractor/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `fasta-sequence-extractor` |\n| Category | developer-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Use the visible action or interactive controls. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nSelect complete FASTA records by exact identifier or extract the same one-based inclusive coordinate range from each selected record. Ranges cannot wrap or run beyond record boundaries. Alignment gaps count as positions. Output preserves the original identifier, full header and sequence case, with coordinates recorded separately in JSON and CSV. Existing annotations in a header are not recalculated after extraction. Runs locally without uploads or database lookup. Limit: 500000 combined input characters, 2000 records, 2000 validation issues, a 1000-symbol motif, 20000 matches and 10000000 symbol comparisons. Exceeding a limit rejects the complete report. Each export is limited to 3000000 characters; typed CSV allows 200000 values. Preview shows 200 rows. Processing stops after 10 seconds.\n\n### Inputs and settings\n\nText input: Your text.\n\nExample or placeholder shown in the interface (not a validated fixture):\n\n```text\nType or paste your input…\n```\n\nUp to 500,000 characters. Review the settings before running.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `alphabet` | Sequence alphabet | select | \"dna\" | Allowed: dna, rna, protein |\n| `allowGaps` | Allow alignment gaps (-) | select | \"false\" | Allowed: false, true |\n| `recordIds` | Record identifiers | textarea | \"sample\" |  |\n| `start` | Start coordinate, optional | text | \"\" |  |\n| `end` | End coordinate, optional | text | \"\" |  |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nSelect complete FASTA records by exact identifier or extract the same one-based inclusive coordinate range from each selected record. Ranges cannot wrap or run beyond record boundaries. Alignment gaps count as positions. Output preserves the original identifier, full header and sequence case, with coordinates recorded separately in JSON and CSV. Existing annotations in a header are not recalculated after extraction. Runs locally without uploads or database lookup. Limit: 500000 combined input characters, 2000 records, 2000 validation issues, a 1000-symbol motif, 20000 matches and 10000000 symbol comparisons. Exceeding a limit rejects the complete report. Each export is limited to 3000000 characters; typed CSV allows 200000 values. Preview shows 200 rows. Processing stops after 10 seconds.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"fasta-sequence-extractor\",\n  \"category\": \"developer-tools\",\n  \"built\": true,\n  \"requirements\": \"Select complete FASTA records by exact identifier or extract the same one-based inclusive coordinate range from each selected record. Ranges cannot wrap or run beyond record boundaries. Alignment gaps count as positions. Output preserves the original identifier, full header and sequence case, with coordinates recorded separately in JSON and CSV. Existing annotations in a header are not recalculated after extraction. Runs locally without uploads or database lookup. Limit: 500000 combined input characters, 2000 records, 2000 validation issues, a 1000-symbol motif, 20000 matches and 10000000 symbol comparisons. Exceeding a limit rejects the complete report. Each export is limited to 3000000 characters; typed CSV allows 200000 values. Preview shows 200 rows. Processing stops after 10 seconds.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"alphabet\",\n        \"label\": \"Sequence alphabet\",\n        \"value\": \"dna\",\n        \"type\": \"select\",\n        \"values\": [\n          \"dna\",\n          \"rna\",\n          \"protein\"\n        ]\n      },\n      {\n        \"key\": \"allowGaps\",\n        \"label\": \"Allow alignment gaps (-)\",\n        \"value\": \"false\",\n        \"type\": \"select\",\n        \"values\": [\n          \"false\",\n          \"true\"\n        ]\n      },\n      {\n        \"key\": \"recordIds\",\n        \"label\": \"Record identifiers\",\n        \"value\": \"sample\",\n        \"type\": \"textarea\",\n        \"maxLength\": 500000,\n        \"help\": \"Enter one exact first-token identifier per line. Duplicate requests and missing identifiers are rejected. Requested order determines output order.\"\n      },\n      {\n        \"key\": \"start\",\n        \"label\": \"Start coordinate, optional\",\n        \"value\": \"\",\n        \"type\": \"text\",\n        \"inputMode\": \"numeric\",\n        \"maxLength\": 6,\n        \"help\": \"Leave both coordinates empty for whole records, or enter one-based inclusive coordinates. Gaps count as positions.\"\n      },\n      {\n        \"key\": \"end\",\n        \"label\": \"End coordinate, optional\",\n        \"value\": \"\",\n        \"type\": \"text\",\n        \"inputMode\": \"numeric\",\n        \"maxLength\": 6,\n        \"help\": \"Both coordinates must fit every selected record. Source identifiers, full headers and sequence case are unchanged; FASTA lines wrap at 80 symbols.\"\n      }\n    ],\n    \"registrationFamily\": \"sequence-tools\",\n    \"presentation\": \"metrics\",\n    \"note\": \"Select complete FASTA records by exact identifier or extract the same one-based inclusive coordinate range from each selected record. Ranges cannot wrap or run beyond record boundaries. Alignment gaps count as positions. Output preserves the original identifier, full header and sequence case, with coordinates recorded separately in JSON and CSV. Existing annotations in a header are not recalculated after extraction. Runs locally without uploads or database lookup. Limit: 500000 combined input characters, 2000 records, 2000 validation issues, a 1000-symbol motif, 20000 matches and 10000000 symbol comparisons. Exceeding a limit rejects the complete report. Each export is limited to 3000000 characters; typed CSV allows 200000 values. Preview shows 200 rows. Processing stops after 10 seconds.\",\n    \"inputMaxLength\": 500000,\n    \"inputErrorCode\": \"SEQUENCE_INPUT\",\n    \"example\": {\n      \"input\": \">sample unchanged description\\nACGTrynACGT\\n\",\n      \"options\": {\n        \"alphabet\": \"dna\",\n        \"allowGaps\": \"false\",\n        \"recordIds\": \"sample\",\n        \"start\": \"\",\n        \"end\": \"\"\n      }\n    },\n    \"experience\": {\n      \"automatic\": false,\n      \"single\": false,\n      \"inputMaxLength\": 500000,\n      \"inputMode\": \"text\",\n      \"label\": \"Your text\",\n      \"placeholder\": \"Type or paste your input…\",\n      \"help\": \"Up to 500,000 characters. Review the settings before running.\",\n      \"action\": null\n    },\n    \"mode\": \"explicit\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nSelect exact FASTA identifiers and optional inclusive ranges while preserving record headers and sequence case.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use FASTA sequence extractor\n\n1. Paste valid FASTA and choose its alphabet.\n2. List exact identifiers in the desired order and optionally enter both coordinates.\n3. Review selected lengths and download the FASTA sequences and complete report.\n\n## Useful next steps\n\n- [FASTA validator](https://happytails.ai/en/developer-tools/fasta-validator/) ([Markdown](https://happytails.ai/en/developer-tools/fasta-validator.md))\n\n- [Sequence reverse complement](https://happytails.ai/en/developer-tools/sequence-reverse-complement/) ([Markdown](https://happytails.ai/en/developer-tools/sequence-reverse-complement.md))\n\n- [Sequence motif finder](https://happytails.ai/en/developer-tools/sequence-motif-finder/) ([Markdown](https://happytails.ai/en/developer-tools/sequence-motif-finder.md))\n\n## Coordinates include both endpoints\n\nCoordinates start at 1. Both must fit every selected record; gaps count as positions. Leave both empty to extract whole records.\n\n### Preserve source identity\n\nNames, full headers and case remain unchanged. Coordinates appear separately in JSON and CSV; annotations within headers are not rewritten.\n"
}