{
  "title": "FASTA validator",
  "human_url": "https://happytails.ai/en/developer-tools/fasta-validator/",
  "agent_url": "https://happytails.ai/agents/en/developer-tools/fasta-validator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/developer-tools/fasta-validator.md",
  "content": "FASTA validator\nFind malformed FASTA records and invalid DNA, RNA or protein symbols with line and column diagnostics.\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 validator\nPaste FASTA records and choose DNA, RNA or protein.\nEnable literal alignment gaps only if the input uses them.\nReview every issue and download the complete diagnostic report.\nUseful next steps\nFASTA sequence extractor\nSequence reverse complement\nSequence motif finder\nChoose the alphabet explicitly\nThe validator never guesses sequence type or removes invalid characters. DNA uses T; RNA uses U. Protein validation checks symbols, not biological correctness.\nKeep identifiers unique\nThe first token after > identifies a record. Full headers are preserved. This general FASTA profile does not certify GenBank submission requirements.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "FASTA sequence extractor",
      "url": "https://happytails.ai/en/developer-tools/fasta-sequence-extractor/"
    },
    {
      "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-validator",
    "category": "developer-tools",
    "built": true,
    "requirements": "Checks a strict FASTA profile with one header line beginning with >, a unique first-token identifier and a nonempty sequence for each record. DNA and RNA use separate IUPAC alphabets. Protein accepts the standard amino acids plus B, X, Z, J, U, O and *. Lowercase is accepted. Empty lines are ignored; sequence whitespace, digits, comments, mixed T/U and unsupported symbols are reported with line and column. Optional gaps are literal -. This is format validation, not a GenBank submission check or biological quality assessment. 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"
          ]
        }
      ],
      "registrationFamily": "sequence-tools",
      "presentation": "metrics",
      "note": "Checks a strict FASTA profile with one header line beginning with >, a unique first-token identifier and a nonempty sequence for each record. DNA and RNA use separate IUPAC alphabets. Protein accepts the standard amino acids plus B, X, Z, J, U, O and *. Lowercase is accepted. Empty lines are ignored; sequence whitespace, digits, comments, mixed T/U and unsupported symbols are reported with line and column. Optional gaps are literal -. This is format validation, not a GenBank submission check or biological quality assessment. 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"
        }
      },
      "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 validator\n\n- Human page: https://happytails.ai/en/developer-tools/fasta-validator/\n- Markdown: https://happytails.ai/en/developer-tools/fasta-validator.md\n- Structured JSON: https://happytails.ai/agents/en/developer-tools/fasta-validator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `fasta-validator` |\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\nChecks a strict FASTA profile with one header line beginning with >, a unique first-token identifier and a nonempty sequence for each record. DNA and RNA use separate IUPAC alphabets. Protein accepts the standard amino acids plus B, X, Z, J, U, O and *. Lowercase is accepted. Empty lines are ignored; sequence whitespace, digits, comments, mixed T/U and unsupported symbols are reported with line and column. Optional gaps are literal -. This is format validation, not a GenBank submission check or biological quality assessment. 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\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\nChecks a strict FASTA profile with one header line beginning with >, a unique first-token identifier and a nonempty sequence for each record. DNA and RNA use separate IUPAC alphabets. Protein accepts the standard amino acids plus B, X, Z, J, U, O and *. Lowercase is accepted. Empty lines are ignored; sequence whitespace, digits, comments, mixed T/U and unsupported symbols are reported with line and column. Optional gaps are literal -. This is format validation, not a GenBank submission check or biological quality assessment. 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-validator\",\n  \"category\": \"developer-tools\",\n  \"built\": true,\n  \"requirements\": \"Checks a strict FASTA profile with one header line beginning with >, a unique first-token identifier and a nonempty sequence for each record. DNA and RNA use separate IUPAC alphabets. Protein accepts the standard amino acids plus B, X, Z, J, U, O and *. Lowercase is accepted. Empty lines are ignored; sequence whitespace, digits, comments, mixed T/U and unsupported symbols are reported with line and column. Optional gaps are literal -. This is format validation, not a GenBank submission check or biological quality assessment. 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    \"registrationFamily\": \"sequence-tools\",\n    \"presentation\": \"metrics\",\n    \"note\": \"Checks a strict FASTA profile with one header line beginning with >, a unique first-token identifier and a nonempty sequence for each record. DNA and RNA use separate IUPAC alphabets. Protein accepts the standard amino acids plus B, X, Z, J, U, O and *. Lowercase is accepted. Empty lines are ignored; sequence whitespace, digits, comments, mixed T/U and unsupported symbols are reported with line and column. Optional gaps are literal -. This is format validation, not a GenBank submission check or biological quality assessment. 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      }\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\nFind malformed FASTA records and invalid DNA, RNA or protein symbols with line and column diagnostics.\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 validator\n\n1. Paste FASTA records and choose DNA, RNA or protein.\n2. Enable literal alignment gaps only if the input uses them.\n3. Review every issue and download the complete diagnostic report.\n\n## Useful next steps\n\n- [FASTA sequence extractor](https://happytails.ai/en/developer-tools/fasta-sequence-extractor/) ([Markdown](https://happytails.ai/en/developer-tools/fasta-sequence-extractor.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## Choose the alphabet explicitly\n\nThe validator never guesses sequence type or removes invalid characters. DNA uses T; RNA uses U. Protein validation checks symbols, not biological correctness.\n\n### Keep identifiers unique\n\nThe first token after > identifies a record. Full headers are preserved. This general FASTA profile does not certify GenBank submission requirements.\n"
}