Skip to main content
Glama

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).

Input 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

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

A4/5.0
Behavior4/5

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

Annotations already declare a safe, non-destructive, closed-world read, so the bar is lower; the description still adds real behavior: conflicting arguments are rejected by name rather than one silently winning, normalization requires scaleId, the window is ignored for Vihinen flexibility, and weightVariation collapses at edge 1. It does not describe output shape, but an output schema exists.

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?

Two dense sentences, front-loaded with the purpose before the mode split, with no filler. The parenthetical enumerations of profile families are slightly heavy but each carries selection-relevant information.

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 nested objects, four enums, and an output schema, the description covers the decisions an agent must make: which mode, which argument combination, and the normalization prerequisite. The remaining gap is sibling disambiguation, which the description leaves silent.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3; the description earns a bump by explaining the mutual-exclusion contract between scaleId and kind/scale and by summarizing what the five kind profiles actually compute (GRAVY hydropathy, Vihinen flexibility, Hopp & Woods, Emini, Janin). It does not clarify the nested _subject/_files parameters, which the schema handles.

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 -- a windowed physicochemical profile along a protein, attributed to ExPASy ProtScale -- and splits the tool into its two distinct modes (scaleId catalogue vs kind/ProtParam profiles). It does not distinguish itself from close siblings such as protein_properties, protein_membrane_profile, or protein_disorder, so an agent must infer which profiling tool to pick.

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?

Gives clear routing guidance between the two entry paths: pass scaleId for the full 57+14 catalogue, or pass kind for the five ProtParam profiles, with the explicit note that scaleId together with kind is refused. It stops short of naming alternative sibling tools or stating when to prefer those over this one.

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