Skip to main content
Glama

jean — Molecular Biology & Genomics

find_linear_motifs

Read-only

Short linear motifs in a protein: degrons, docking sites, targeting signals, cleavage and modification sites — the three-to-eleven-residue functional sites a profile-HMM domain scan cannot see. Runs ELM's own class patterns ON THIS MACHINE; only the class table is fetched. Applies ELM's context filters: the chance-probability cutoff, family selection, and the globular-domain filter when you pass domains. It does NOT scan for DOMAINS — for those call scan_protein_domains, which submits to EMBL-EBI InterProScan and returns domains in exactly the form this tool's domains parameter takes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
_filesNoThe project: record references shaped like _subject. Their records become library documents a tool names in sequences/parts/document; a trace or alignment is found by file name.
domainsNothe globular domains to bury motifs in, as `start-end` residue ranges (1-based, inclusive), comma-separated, each optionally labeled `start-end@label` so a dropped hit can say what buried it — e.g. `20-153@G3DSA:3.90.180.10, 296-341@G3DSA:3.90.180.10`. Pass the FRAGMENTS of an InterProScan domain match, not its outer span. Empty falls back to the scan the Protein domains panel holds, which is the only source the in-browser doors need. Only applies when filterInDomains is true.
proteinYesthe protein sequence, one-letter codes; wire it from translate_sequence or read it off a CDS.
_subjectNoThe record to act on: exactly one of sequence, accession (+source), sample (an id from list_samples) or file ({name, text} or {name, base64}); record_index picks one record of several.
familiesNorestrict to these ELM families, comma-separated, from CLV, DEG, DOC, LIG, MOD, TRG. Empty is no restriction and scans every family; the literal "none" is a restriction to no family and scans nothing, which is what the panel does when every family is unticked.
compartmentsNorestrict to motifs whose class is annotated for these cell compartments, as GO ids, comma-separated (e.g. GO:0005634 for nucleus). Empty runs no compartment filter, which is ELM's own default.
expectCutoffNoELM's class gate: classes whose chance probability per residue exceeds this are not scanned at all. ELM's own default is 0.01; 0 scans every class, which is the resource's “all found (before filtering)” listing.
filterInDomainsNoapply ELM's globular-domain filter, dropping motifs buried inside a folded domain. Takes the domains from `domains` when you pass them, and otherwise from the scan the Protein domains panel currently holds; with neither, the call refuses rather than silently not filtering.
structuralContextNoscore each motif's structural context, as ELM's structure filter does. Empty applies nothing, which is the panel's own default. `alphafold` uses the predicted model and yields Q_acc only. A four-character PDB id (e.g. `1crn`) uses that experimental entry and yields Q_acc, Q_sse and ELM's three-way verdict, because only a real entry has a DSSP file. Either way the protein is resolved to its UniProt entry by sequence checksum first, and the call refuses if it is not an exact match.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
hitsYeseach surviving motif, in the engine’s own field names: identifier, accession, functionalSiteName, description, 1-based start/end, the residues that matched, the class chance probability, and how many experimentally annotated instances ELM holds
countYessurviving motifs, after every filter that ran
accountingYeswhat the scan was actually run against — classes scanned, classes skipped by the cutoff, classes skipped by the family selection — so a hit count can be read against its denominator rather than on its own
provenanceYesthe ELM release and date the scan ran against, and the filters that ran

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly/destructive/openWorld), and the description adds substantial behavioral context beyond them: ELM context filters applied (chance-probability cutoff, family selection, globular-domain filter), refusal behavior when filterInDomains is set with no domain source, and the exact-sequence-checksum requirement for structuralContext that causes the call to refuse on mismatch.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information-dense and front-loaded: the core definition comes first, then the sibling exclusion, then execution/filter behavior. It is long for a description but nearly every clause carries routing or behavioral value; a little tightening of the final sentence about InterProScan return shape would help.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with nested objects and an output schema (so return values need not be explained), the description covers purpose, scope boundary, the sibling alternative, execution locality, and the filter/refusal behaviors an agent must know to call it correctly. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter (defaults, ELM semantics, the 'none' literal, format examples). The description largely restates what the schema provides (the globular-domain filter, the cutoff) and adds no additional parameter syntax or constraints, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (find short linear motifs in a protein) and defines the scope precisely: 3-11 residue functional sites (degrons, docking sites, targeting signals, cleavage/modification sites). It explicitly demarcates itself from the sibling domain scanner, noting these are 'sites a profile-HMM domain scan cannot see' and naming scan_protein_domains as the alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use and when-not-to-use: 'It does NOT scan for DOMAINS — for those call scan_protein_domains.' It also discloses the execution model ('Runs ELM's own class patterns ON THIS MACHINE; only the class table is fetched') so the agent knows this is local, not a remote submission, and explains that scan_protein_domains returns domains in the exact form this tool's `domains` param expects.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources