Skip to main content
Glama

jean — Molecular Biology & Genomics

protein_profile

Read-only

Windowed physicochemical profile along a protein (ExPASy ProtScale). Pass scaleId for any of the 57 scales ProtScale publishes plus the 14 Biopython tables it does not, with optional 0-1 normalisation; or pass kind for the five ProtParam profiles (hydropathy over the 28 GRAVY scales, Vihinen flexibility, Hopp & Woods hydrophilicity, Emini surface accessibility, Janin interior-to-surface transfer). Returns one value per window with the residue it centres on.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
edgeNoProtScale relative weight of the window's edge residues, 0-1 (default 1 = unweighted).
kindNowhich profile to compute. Ignore this and pass `scaleId` to reach the full ProtScale catalogue.hydropathy
scaleNohydropathy scale. Values: KyteDoolitle (Kyte & Doolittle (1982)), Aboderin (Aboderin (Int J Biochem 2:537)), AbrahamLeo (Abraham & Leo (1987)), Argos (Argos (Eur J Biochem 128:565)), BlackMould (Black & Mould (1991)), BullBreese (Bull & Breese (1974)), Casari (Casari & Sippl, hydrophobic potential (JMB 224:725)), Cid (Cid (Protein Eng 5:373)), Cowan3.4 (Cowan at pH 3.4 (1990)), Cowan7.5 (Cowan at pH 7.5 (1990)), Eisenberg (Eisenberg, normalized consensus (1984)), Engelman (Engelman, transfer free energy (Annu Rev Biophys 15:321)), Fasman (Fasman (1989)), Fauchere (Fauchere (1983)), GoldSack (Goldsack & Chalifoux, free energy of mixing (J Theor Biol 39:645)), Guy (Guy, transfer free energy kcal/mol (1985)), Jones (Jones (J Theor Biol 50:167)), Juretic (Juretic (Theor Comput Chem 5:405)), Kidera (Kidera factors (J Protein Chem 4:23)), Miyazawa (Miyazawa, contact energy from 3D structures (1985)), Parker (Parker, HYDROPHILICITY from HPLC retention (1986)), Ponnuswamy (Ponnuswamy, folded-protein character (Prog Biophys Mol Biol 59:57)), Rose (Rose (1985)), Roseman (Roseman (1988)), Sweet (Sweet, optimized matching OMH (1983)), Tanford (Tanford (1962)), Wilson (Wilson, hydrophobic constants from HPLC retention (1981)), Zimmerman (Zimmerman (J Theor Biol 21:170)). Only applies when kind is hydropathy.KyteDoolitle
_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.
windowNoProtScale window in residues, odd (default 9). IGNORED for 'flexibility', whose Vihinen parameters are only defined at 9. Only applies when kind is hydropathy or hydrophilicity or accessibility or interior.
proteinYesthe protein sequence (unambiguous one-letter codes); wire it from translate_sequence.
scaleIdNoany of the 57 ExPASy ProtScale scales, or the 14 Biopython tables ProtScale does not publish. Pass this INSTEAD of `kind` and `scale`, never alongside them: sending `scaleId` together with `kind` is refused by name rather than one silently winning. The panel opens on `scaleId: hydropath-doolittle`, which computes the same curve as the `kind`/`scale` defaults. Values: molecularweight (Molecular weight), numbercodons (Number of codon(s)), bulkiness (Bulkiness), polarityzimmerman (Polarity / Zimmerman), polaritygrantham (Polarity / Grantham), refractivity (Refractivity), recognitionfactors (Recognition factors), hphob-eisenberg (Hphob. / Eisenberg et al.), hphob-sweet (Hphob. OMH / Sweet et al.), hphob-woods (Hphob. / Hopp & Woods), hydropath-doolittle (Hydropath. / Kyte & Doolittle), hphob-manavalan (Hphob. / Manavalan et al.), hphob-leo (Hphob. / Abraham & Leo), hphob-black (Hphob. / Black), hphob-breese (Hphob. / Bull & Breese), hphob-fauchere (Hphob. / Fauchere et al.), hphob-guy (Hphob. / Guy), hphob-janin (Hphob. / Janin), hphob-miyazawa (Hphob. / Miyazawa et al.), hphob-argos (Hphob. / Rao & Argos), hphob-roseman (Hphob. / Roseman), hphob-tanford (Hphob. / Tanford), hphob-wolfenden (Hphob. / Wolfenden et al.), hphob-welling (Hphob. / Welling & al), hphob-wilson (Hphob. HPLC / Wilson & al), hphob-parker (Hphob. HPLC / Parker & al), hphob-ph3-4 (Hphob. HPLC pH3.4 / Cowan), hphob-ph7-5 (Hphob. HPLC pH7.5 / Cowan), hphob-mobility (Hphob. / Rf mobility), hplchfba (HPLC / HFBA retention), hplctfa (HPLC / TFA retention), transmembranetendency (Transmembrane tendency), hplc2-1 (HPLC / retention pH 2.1), hplc7-4 (HPLC / retention pH 7.4), buriedresidues (% buried residues), accessibleresidues (% accessible residues), hphob-chothia (Hphob. / Chothia), hphob-rose (Hphob. / Rose & al), ratioside (Ratio hetero end/side), averageburied (Average area buried), averageflexibility (Average flexibility), alpha-helixfasman (alpha-helix / Chou & Fasman), beta-sheetfasman (beta-sheet / Chou & Fasman), beta-turnfasman (beta-turn / Chou & Fasman), alpha-helixroux (alpha-helix / Deleage & Roux), beta-sheetroux (beta-sheet / Deleage & Roux), beta-turnroux (beta-turn / Deleage & Roux), coilroux (Coil / Deleage & Roux), alpha-helixlevitt (alpha-helix / Levitt), beta-sheetlevitt (beta-sheet / Levitt), beta-turnlevitt (beta-turn / Levitt), totalbeta-strand (Total beta-strand), antiparallelbeta-strand (Antiparallel beta-strand), parallelbeta-strand (Parallel beta-strand), a-a-composition (A.A. composition), a-a-swiss-prot (A.A. comp. in Swiss-Prot), relativemutability (Relative mutability), biopython-argos (Argos), biopython-casari (Casari & Sippl), biopython-cid (Cid et al.), biopython-engelman (Engelman (GES)), biopython-fasman (Fasman), biopython-goldsack (Gold Sack & Chalifoux), biopython-jones (Jones), biopython-juretic (Juretic et al.), biopython-kidera (Kidera et al.), biopython-ponnuswamy (Ponnuswamy), biopython-zimmerman (Zimmerman (hydrophobicity)), biopython-flex (Flexibility (Vihinen)), biopython-surface-accessibility (Surface accessibility (Emini)), biopython-janin (Janin (Biopython rounding)).
_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.
normalizeNoProtScale's 'normalize the scale from 0 to 1' — rescales the twenty scale values before windowing, so profiles from different scales are comparable. Requires `scaleId`.
weightVariationNoProtScale's weight model between the centre and the edge weight: 'linear' steps down evenly, 'exponential' decays steeply near the centre. Requires `scaleId`; identical at edge 1.linear

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
peakYesindex into `values` of the LARGEST value. Large is not a synonym for hydrophobic: on a transfer free energy or a hydrophilicity scale the largest window is the most hydrophilic one, and on a flexibility or accessibility profile it is neither. `label` names the scale; `protein_properties.gravyHydrophobicEnd` answers the direction for the 28 hydropathy tables
plotYesthe profile as a plot along the chain
labelYesthe profile's cited name, e.g. 'Hydropathy (KyteDoolitle)'
troughYesindex into `values` of the SMALLEST value — the other extreme, which is the hydrophobic one on an inverted scale
valuesYesone profile value per window
windowYeswindow actually used (flexibility forces 9)
centresYes0-based residue index each window centres on, parallel to `values`
referenceYesthe scale's primary citation, when it came from the ProtScale catalogue. Empty for the five ProtParam kinds
normalizedYeswhether the scale was rescaled to 0-1 before windowing. False for the five ProtParam kinds, which are never rescaled
peakResidueYes1-based residue the peak window centres on
troughResidueYes1-based residue the trough window centres on
weightVariationYesthe ProtScale weight model the values were computed under, 'linear' or 'exponential' ('linear' for the five ProtParam kinds)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real context beyond that: it explains the exclusivity failure mode ('sending `scaleId` together with `kind` is refused by name rather than one silently winning'), the normalisation/weighting behaviour, and that output is one value per window with its centre residue. It doesn't mention compute cost or limits, which keeps it short of a 5.

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?

Four sentences, front-loaded with the operation and the two routes into it, with no filler. The long enumerations of scales and scale IDs are correctly pushed into the schema rather than bloating the prose, though the second sentence is dense enough to require a second read.

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

Completeness4/5

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

For a 10-parameter tool with enums, nested `_subject`/`_files` objects, an output schema, and full annotation coverage, the description supplies the conceptual map (two exclusive input modes, normalisation, windowing, per-window return) that lets an agent call it correctly. Nothing critical is missing, though it could be slightly more explicit about the scaleId-vs-kind decision being enforced by the server.

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 including the enum value lists and the per-parameter caveats (e.g. `window` ignored for flexibility, `normalize` requires `scaleId`). The description mostly restates these and adds only the framing that `kind` selects among five classic profiles, so the baseline 3 for a fully-covered schema is correct.

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

Purpose4/5

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

States a specific verb and resource up front ('Windowed physicochemical profile along a protein') and identifies the underlying engines (ExPASy ProtScale, ProtParam profiles), so the agent knows it is computing per-window physchem curves rather than bulk protein properties. However, it never names or contrasts itself with close siblings such as protein_properties, protein_membrane_profile, or protein_disorder, leaving differentiation to inference.

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

Usage Guidelines4/5

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

The description lays out two clear input paths — `scaleId` for the 57 ProtScale scales plus 14 Biopython tables, `kind` for the five ProtParam profiles — which tells the agent when each branch applies. It does not state any condition for choosing this tool over its neighbours, and the mutual-exclusivity guidance lives largely in the schema rather than the description.

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