Consumable schemas

Type-specific details of consumables in the shared catalog, such as probe designs and virus constructs.

Table of contents

  1. How to use this family
  2. Quick type map
  3. Reagents and Solutions
    1. Biological material
    2. Chemical reagent
    3. Histology reagent
    4. Antibody or immunoreagent
    5. Medical or carrier gas
    6. Pharmacological agent
    7. Physiological solution
    8. Tracer or dye
    9. Virus construct
  4. Device-Linked Consumables
    1. Connector component
    2. Consumable device
    3. ECoG array design
    4. Electrode component
    5. Optic fiber design
    6. Optical component
    7. Silicon probe design
    8. Single wire electrode
  5. Surgical Consumables
    1. Adhesive or cement
    2. Fastener or anchor
    3. Implant or fixation material
    4. Surgical disposable
  6. External Identifiers

How to use this family

  • consumable: set type to a type code below and send its properties in details.
  • consumableapproval: type selects the type; each log entry added through the entry actions is validated against it.
  • Every version is published at https://www.brainstem.org/schemas/Consumable/<Type>/<version>.json and never changes; https://www.brainstem.org/schemas/Consumable/<Type>.json is the current version and https://www.brainstem.org/schemas/Consumable/<Type>/ lists the versions. See Public schemas.
  • Quantities are objects {"value": <number>, "unit": "<code>"}. Property paths with [] are inside a repeatable list of rows. The server sets the schema version field itself.

Quick type map

Type codeTitleGroupVersionRequired propertiesSchema
AdhesiveCementAdhesive or cementSurgical Consumables1.0.3subtype1.0.3.json
BiologicalMaterialBiological materialReagents and Solutions1.0.0materialClass1.0.0.json
ChemicalReagentChemical reagentReagents and Solutions3.0.2chemicalType3.0.2.json
ConnectorComponentConnector componentDevice-Linked Consumables1.0.3connectorClass1.0.3.json
ConsumableDeviceConsumable deviceDevice-Linked Consumables4.0.3deviceClass4.0.3.json
EcogArrayDesignECoG array designDevice-Linked Consumables1.0.0nPhysicalSites, nChannels1.0.0.json
ElectrodeComponentElectrode componentDevice-Linked Consumables1.0.2electrodeRole1.0.2.json
ExternalIdentifiersExternal Identifiers (form only) 1.0.0source, id1.0.0.json
FastenerAnchorFastener or anchorSurgical Consumables1.0.2subtype1.0.2.json
HistologyReagentHistology reagentReagents and Solutions1.0.2reagentRole1.0.2.json
ImmunoReagentAntibody or immunoreagentReagents and Solutions2.0.4targetAntigen, reagentType2.0.4.json
ImplantMaterialImplant or fixation materialSurgical Consumables3.0.2subtype3.0.2.json
MedicalGasMedical or carrier gasReagents and Solutions1.0.2gasType1.0.2.json
OpticFiberDesignOptic fiber designDevice-Linked Consumables1.1.1fiberType, coreDiameter1.1.1.json
OpticalComponentOptical componentDevice-Linked Consumables2.0.4componentType2.0.4.json
PharmacologicalAgentPharmacological agentReagents and Solutions3.0.4activeIngredient, pharmacologicalCategory3.0.4.json
PhysiologicalSolutionPhysiological solutionReagents and Solutions2.0.4composition2.0.4.json
SiliconProbeDesignSilicon probe designDevice-Linked Consumables3.0.1nShanks, nChannels3.0.1.json
SingleWireElectrodeSingle wire electrodeDevice-Linked Consumables1.1.1none1.1.1.json
SurgicalDisposableSurgical disposableSurgical Consumables3.0.2subtype3.0.2.json
TracerDyeTracer or dyeReagents and Solutions3.0.4dyeType3.0.4.json
VirusConstructVirus constructReagents and Solutions2.0.0none2.0.0.json

Reagents and Solutions

Biological material

  • type code BiologicalMaterial · version 1.0.0 · schema

A cell line, pluripotent stem cell line, primary-cell product, organoid line, hybridoma or tissue product, as the supplier or repository describes it. Sera, matrices and purified proteins are reagents; viral vectors are Virus constructs.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Catalog number of the line or product as the supplier or repository writes it.
materialClassKind of materialchoiceyesone of cell_line, induced_pluripotent_stem_cell, embryonic_stem_cell, primary_cells, organoid_line, hybridoma, tissue, otherWhat the material is, as the repository classes it.
speciesOfOriginSpecies of origintext  Species the material derives from, as the repository names it.
strainOfOriginStrain of origintext  Strain or genetic background of the donor animal, as the supplier names it.
tissueOfOriginTissue of origintext  Tissue the cells were taken from, as the repository names it.
cellTypeCell typetext  Cell type the product consists of, as the supplier states it.
donorAgeDonor age at samplingtext  Age of the donor at sampling as the repository codes it, reference point included (E18, P7, 16FW, 48Y).
donorSexDonor sexchoice one of male, female, mixed, unknownSex of the donor as declared; mixed for pooled preparations.
diseaseDiseasetext  Disease the donor carries or the line models, named with the registry’s term.
reprogrammingMethodReprogramming methodchoice one of sendai_virus, episomal, lentivirus, retrovirus, mrna, protein, other, not_applicableHow an induced pluripotent line was reprogrammed; not applicable for other kinds.
geneticModificationGenetic modificationtext  Engineered modification the line carries, including any reporter or selection marker, as the generator states it.
growthModeGrowth modechoice one of adherent, suspension, semi_adherent, three_dimensionalHow the line grows in culture, as the repository declares it.
biosafetyLevelBiosafety levelchoice one of bsl_1, bsl_2, bsl_3, unknownBiosafety level the material requires, as the repository declares it.
cellsPerUnitViable cells per vial or unit (nominal)integer ≥ 0Viable cells per vial or unit as sold, taken from the supplier’s datasheet (nominal).

Illustrative payload:

{
    "materialClass": "cell_line",
    "productId": "text",
    "speciesOfOrigin": "text"
}

Chemical reagent

  • type code ChemicalReagent · version 3.0.2 · schema

A defined laboratory chemical bought as a compound, such as a salt, detergent, buffer component or solvent. Use Pharmacological agent for a drug made to act on a subject, and Histology reagent for fixatives, clearing agents and mounting media.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Catalog or supplier product code (e.g., ‘T8787’, ‘P6148’).
compoundNameCompound Nametext  Name of the chemical (e.g., ‘Triton X-100’, ‘Paraformaldehyde’).
chemicalTypeChemical Typechoiceyesone of detergent, enzyme, indicator_ph_adjuster, salt_buffer, solvent, stain_dye, otherGeneral laboratory chemicals. Tissue-processing reagents (fixatives, clearing, embedding and mounting media) belong to the Histology reagent type.
concentrationConcentration / Strengthtext  If supplied in solution (e.g., ‘4%’, ‘1 M’, ‘10X’).
molecularWeightMolecular Weightquantity with unit units g/mol, kg/mol, Da, kDa; default {"unit": "g/mol"}Molecular weight of the chemical compound.
purityPurity / Gradetext  E.g., ‘≥99%’, ‘Analytical grade’, ‘ACS reagent’.
storageConditionsStorage Conditionstext  E.g., ‘Room temp’, ‘4°C’, ‘Protect from light’.
hazardInfoHazard Informationtext  Optional summary of safety hazards or GHS classification.
experimentalUseExperimental Use Contexttext (multi-line)  Typical use cases for the reagent in experimental workflows (e.g. Perfusion, Fixation, Staining, Buffering)

Illustrative payload:

{
    "chemicalType": "detergent",
    "productId": "text",
    "compoundName": "text"
}

Histology reagent

  • type code HistologyReagent · version 1.0.2 · schema

A reagent made for processing tissue after it leaves the subject, such as a fixative, permeabilization or clearing agent, or an embedding or mounting medium. Antibodies are Antibody or immunoreagent, and stains and dyes are Tracer or dye.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Catalog number or supplier reference.
reagentRoleProcessing Rolechoiceyesone of fixative, cryoprotectant, dehydration_reagent, clearing_reagent, index_matching_medium, permeabilization_reagent, antigen_retrieval_reagent, blocking_reagent, embedding_medium, mounting_medium, decalcification_reagent, otherWhere this reagent sits in the tissue-processing chain.
compositionCompositiontext (multi-line)  Active constituents and their concentrations as supplied.
concentrationConcentrationtext  Concentration as supplied, before any working dilution.
refractiveIndexRefractive Indexnumber ≥ 0Refractive index, for clearing, index-matching, and mounting media.
pHpHnumber ≥ 0 and ≤ 14pH as supplied.
antifadeContains Antifadeyes/no  Whether a mounting medium contains an antifade agent.
storageConditionsStorage Conditionstext  Recommended storage conditions.
hazardInfoHazard Informationtext (multi-line)  Safety and handling information. Many fixatives and clearing reagents are toxic.

Illustrative payload:

{
    "reagentRole": "fixative",
    "productId": "text",
    "composition": "text"
}

Antibody or immunoreagent

  • type code ImmunoReagent · version 2.0.4 · schema

An antibody or other binding reagent bought to detect a target, such as a primary antibody, a conjugated secondary, a nanobody or a streptavidin conjugate. Dyes and tracers that label without binding a specific target are Tracer or dye.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Supplier product code or catalog number.
targetAntigenTarget Antigentextyes What the reagent binds to (e.g., ‘GFAP’, ‘c-Fos’, ‘NeuN’).
reagentTypeReagent Typechoiceyesone of primary_antibody, secondary_antibody, fluorescent_label, dna_counterstain, otherGeneral classification of the reagent.
hostSpeciesHost Speciestext  Host in which the antibody was raised (e.g., ‘Rabbit’, ‘Mouse’).
reactivityReactivity Speciestext  Species the antibody is reactive against (e.g., ‘Rat’, ‘Mouse’, ‘Human’).
clonalityClonalitychoice one of monoclonal, polyclonal, recombinant, unknownWhether the antibody is monoclonal or polyclonal.
conjugateConjugated Fluorophore or Enzymetext  E.g., ‘Alexa Fluor 488’, ‘HRP’, ‘None’.
applicationValidated Applicationsmulti-select one of ihc, icc, western_blot, flow_cytometry, immunoprecipitation, other; format select2Supported or validated experimental applications.
dilutionRecommended Dilutiontext  Recommended dilution (e.g., ‘1:500’, ‘2 µg/mL’).
storageConditionsStorage Conditionstext  E.g., ‘4°C’, ‘-20°C’, ‘Avoid repeated freeze/thaw cycles’.

Illustrative payload:

{
    "targetAntigen": "text",
    "reagentType": "primary_antibody",
    "productId": "text",
    "hostSpecies": "text"
}

Medical or carrier gas

  • type code MedicalGas · version 1.0.2 · schema

A gas bought for use on subjects or in the rig, such as oxygen, medical air, carbogen, CO₂ or a premixed blend, whether as anesthetic carrier, for euthanasia or to gas a bath. Volatile anesthetics such as isoflurane are Pharmacological agents.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Catalog number or supplier reference.
gasTypeGaschoiceyesone of oxygen, medical_air, carbogen, carbon_dioxide, nitrogen, nitrous_oxide, argon, helium, otherGas or gas mixture supplied.
compositionCompositiontext  Exact mixture, for blended or custom gases.
purityGradePurity Gradetext  Supplier purity or regulatory grade.
supplyFormSupply Formchoice one of cylinder, house_line, concentrator, generator, otherHow the gas is delivered to the rig.

Illustrative payload:

{
    "gasType": "oxygen",
    "productId": "text",
    "composition": "text"
}

Pharmacological agent

  • type code PharmacologicalAgent · version 3.0.4 · schema

A drug made to act on a subject or tissue, such as an anesthetic, analgesic, antibiotic or receptor agonist or antagonist. File by what the product is made for: a compound bought for lab chemistry is a Chemical reagent even when it is pharmacologically active.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Catalog or supplier ID (e.g., ‘C2128’).
activeIngredientActive Ingredienttextyes Primary pharmacologically active substance (e.g., ‘Ketamine’, ‘Buprenorphine’, ‘Isoflurane’).
concentrationConcentrationtext  Stated strength of the active ingredient (e.g., ‘10 mg/mL’, ‘0.1%’, ‘50 µg/tablet’).
dosageFormDosage Formchoice one of solution, suspension, tablet, capsule, injection, topical, patch, otherPhysical form in which the drug is supplied.
routeOfAdministrationRoute of Administrationchoice one of ip, iv, sc, oral, topical, inhalation, intracerebral, otherTypical method of administration in experiments.
pharmacologicalCategoryPharmacological Categorychoiceyesone of analgesic, anesthetic, antibiotic, neuroactive, recreational, vehicle, experimental, otherBroad category of action or use.
pharmacologicalClassPharmacological Classtext  Mechanistic or therapeutic class (e.g., ‘NSAID’, ‘GABA agonist’, ‘NMDA antagonist’).
formulationFormulationtext  List of excipients, solvents, or carriers (e.g., ‘in 10% DMSO + saline’).
storageConditionsStorage Conditionstext  E.g., ‘4°C’, ‘-20°C’, or ‘Protect from light’.
purityPurity / Gradetext  E.g., ‘≥98%’, ‘USP’, ‘Analytical grade’.
experimentalUseExperimental Use Contextmulti-select one of surgical, behavioral, electrophysiology, histology, imaging, other; format select2Contexts in which this agent is typically used.

Illustrative payload:

{
    "activeIngredient": "text",
    "pharmacologicalCategory": "analgesic",
    "productId": "text",
    "concentration": "text"
}

Physiological solution

  • type code PhysiologicalSolution · version 2.0.4 · schema

A solution that living tissue or a subject is kept in or given, such as saline, PBS, Ringer’s or aCSF. Use Histology reagent for solutions that fix or process tissue, and Pharmacological agent when the solution is itself a drug.

PropertyTitleShapeRequiredAllowed valuesMeaning
compositionCompositiontext (multi-line)yes Full recipe or formula (e.g., ‘0.9% NaCl in H2O’, ‘aCSF with 10 mM HEPES’).
pHTarget pH valuenumber ≥ 0Target pH value as numeric value (e.g., ‘7.4’).
osmolalityOsmolalitytext  In mOsm/kg, if known (e.g., ‘300 mOsm’).
storageConditionsStorage Conditionstext  E.g., ‘Room temperature’, ‘4°C’, ‘Frozen’.
preparationInstructionsPreparation Instructionstext (multi-line)  Steps for preparing or dissolving the solution (e.g., buffer components, filter sterilization).
sterileSterileyes/no  Is the solution sterile?
purposePurpose / Usemulti-select one of vehicle, perfusion, fixation, dissection, buffering, storage, slice_preparation, other; format select2What is the primary use case for this solution?

Illustrative payload:

{
    "composition": "text",
    "pH": 1.0,
    "osmolality": "text"
}

Tracer or dye

  • type code TracerDye · version 3.0.4 · schema

A dye or tracer that labels structures or reveals connections without binding a specific antigen, such as a retrograde tracer, a lipophilic dye, a histological stain or an injection marker. Labels delivered genetically by a virus are Virus constructs.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Catalog number or supplier reference (e.g., ‘D282’, ‘F347’).
dyeTypeType of Dye or Tracerchoiceyesone of fluorescent_tracer, lipophilic_dye, retrograde_tracer, anterograde_tracer, histological_dye, vital_stain, injection_marker, otherFunction or classification of the dye/tracer.
fluorophoreFluorophoretext  Fluorophore or spectral tag used (e.g., ‘Alexa Fluor 555’, ‘FITC’).
routeOfApplicationRoute of Applicationchoice one of injection, perfusion, topical, incubation, otherHow the dye is typically applied.
excitationPeakExcitation Peakquantity with unit units nm, µm, mm, m; default {"unit": "nm"}Peak wavelength for excitation (e.g., 550 nm).
emissionPeakEmission Peakquantity with unit units nm, µm, mm, m; default {"unit": "nm"}Peak wavelength for emission (e.g., 665 nm).
solventSolvent / Vehicletext  Solvent used for preparation (e.g., ‘DMSO’, ‘Saline’, ‘Ethanol’).
storageConditionsStorage Conditionstext  E.g., ‘4°C, dark’, ‘-20°C’.
preparationInstructionsPreparation Instructionstext (multi-line)  Preparation or dilution steps before application.
experimentalUseExperimental Use Contextmulti-select one of circuit_tracing, histology, injection_visualization, vital_staining, other; format select2Typical applications of this tracer or dye.

Illustrative payload:

{
    "dyeType": "fluorescent_tracer",
    "productId": "text",
    "fluorophore": "text"
}

Virus construct

  • type code VirusConstruct · version 2.0.0 · schema

A viral vector as designed, such as an AAV carrying a calcium indicator or an opsin under a cell-type promoter, identified by its plasmid or repository entry. The titered preparation in your freezer is Virus solution stock pointing at this entry.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  A unique identifier for the virus construct as defined by the supplier.
virusTypeVirus typechoice one of adenovirus, lentivirus, aav, retrovirus, hsv, baculovirusThe type of virus used as the vector for gene delivery.
capsidCapsidtext  The protein shell of the virus that encloses its genetic material. Capsid modifications can affect the virus’s targeting and delivery efficiency.
promoterPromotertext  The DNA sequence that initiates the transcription of the inserted gene. Different promoters can control the level and location of gene expression.
geneGenetext  The gene of interest that is being delivered by the virus. This could be a therapeutic gene, a reporter gene, or any other gene used in research.
reporterReportertext  A reporter gene included in the virus construct that produces an easily observable phenotype for monitoring the expression of the gene of interest.
otherElementOther elementtext  Any additional genetic elements included in the construct such as regulatory sequences, enhancers, or other genes that assist or modify the primary gene’s expression.

Illustrative payload:

{
    "productId": "text",
    "virusType": "adenovirus"
}

Device-Linked Consumables

Connector component

  • type code ConnectorComponent · version 1.0.3 · schema

A part that joins an implant to recording or stimulation hardware, such as an electrode interface board, a connector, an adapter, a tether or a commutator. Subject-mounted assemblies such as fiber cannulas are Consumable devices.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Catalog number or supplier reference.
connectorClassClasschoiceyesone of electrode_interface_board, connector, adapter, cable_assembly, commutator, pin_header, protective_cap, otherCategory of interconnect hardware.
connectorFamilyConnector Familytext  Manufacturer connector series, which determines what it mates with.
contactCountContact Countinteger ≥ 0Number of electrical contacts.
genderGenderchoice one of male, female, hermaphroditic, not_applicableMating gender of the connector.
compatibleWithCompatible Withtext  Devices or headstages this component mates with.
massMassquantity with unit units mg, g; default {"unit": "g"}Mass of the component, which matters for chronic headcap load.

Illustrative payload:

{
    "connectorClass": "electrode_interface_board",
    "productId": "text",
    "connectorFamily": "text"
}

Consumable device

  • type code ConsumableDevice · version 4.0.3 · schema

A manufactured device dedicated to or used up on one subject that no more specific type covers, such as a headstage, a microdrive, a drive mount, a fiber-optic cannula assembly or a miniscope baseplate. Probes, arrays and fibers have their own design types.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Supplier or catalog identifier (e.g., ‘DORIC_MFC_2x200’).
deviceClassDevice Classchoiceyesone of headstage, headstage_adapter, miniscope_baseplate, microdrive, drive_mount, fiber_cannula_assembly, thermal_interface_board, custom_fixture, otherSubject-mounted assemblies. Interconnect hardware (EIBs, connectors, adapters, commutators) belongs to the Connector component type.
compatibleWithCompatible Systemstext  E.g., ‘Neuropixels’, ‘Inscopix’, ‘Open Ephys’, ‘Doric’.
dimensionsPhysical Dimensionstext  Key geometry (e.g., ‘1.25 mm ferrule, 5 mm length’).
materialMaterialtext  Main material (e.g., stainless steel, zirconia, PEEK, plastic).
connectivityConnectivitytext  Connector/interface type (e.g., ‘LC/PC’, ‘Omnetics’, ‘pin header’).
storageConditionsStorage Conditionstext  E.g., ‘Room temperature’, ‘Dry box’, ‘Protect from dust’.
experimentalUseExperimental Use Contextmulti-select one of chronic_implantation, acute_recording, optogenetics, imaging, behavioral_interface, other; format select2Intended or validated experimental uses.

Illustrative payload:

{
    "deviceClass": "headstage",
    "productId": "text",
    "compatibleWith": "text"
}

ECoG array design

  • type code EcogArrayDesign · version 1.0.0 · schema

A surface electrode array design for electrocorticography: a grid or strip of contacts on a flexible substrate that lies on the dura, the brain surface or the skull. Penetrating probes are Silicon probe designs; the arrays you hold are ECoG array stock.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  A unique identifier for the ECoG array design as defined by the supplier.
layoutContact layoutchoice one of unknown, linear, grid, other; default "unknown"Arrangement family of the contacts on the array; rows, columns and pitch are recorded separately.
nRowsContact rowsinteger ≥ 1Number of contact rows in a regular grid or strip; omit for irregular layouts.
nColumnsContact columnsinteger ≥ 1Number of contact columns in a regular grid or strip; omit for irregular layouts.
customDesignCustom-manufactured designchoice one of unknown, custom, standard; default "unknown"; format selectWhether the manufacturer made this as a custom design; excludes later modifications to individual arrays.
nChannelsSimultaneous recording channelsintegeryes≥ 1Maximum number of independent recording signals supported simultaneously; this can be lower than the total contact count.
nPhysicalSitesContacts (total)integeryes≥ 1Total recording contacts on the array, including selectable contacts not recorded simultaneously; excludes dedicated reference contacts.
materialContact materialtext  Exposed contact material when uniform across the array.
shapeContact shapechoice one of unknown, circle, square, rectangle, other; default "unknown"Source-specified shape shared by all recording contacts.
siteDiameterContact diameterquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Exposed diameter of a circular contact; give the area instead for other shapes.
siteAreaContact areaquantity with unit units nm², µm², mm², m²; default {"unit": "µm²"}Nominal exposed area of one contact when uniform; this does not specify contact shape.
siteHorizontalPitchPitch along a rowquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Center-to-center contact spacing along a row of the array; equal to the column pitch on a square grid.
siteVerticalPitchPitch along a columnquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Center-to-center contact spacing along a column of the array; omit on a single-row strip.
substrateMaterialSubstrate materialtext  Flexible carrier material the contacts are embedded in, as the supplier names it.
substrateThicknessArray thicknessquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Nominal overall thickness of the array body, as the source prints it.
arrayLengthArray lengthquantity with unit units nm, µm, mm, m; default {"unit": "mm"}Overall extent of the array body along its rows (x); excludes tails and cables.
arrayWidthArray widthquantity with unit units nm, µm, mm, m; default {"unit": "mm"}Overall extent of the array body along its columns (y); excludes tails and cables.
siteGroupsContact groupstable of rows format tableGroups of contacts that differ in shape, size or material, such as stimulation pads among recording contacts.
siteGroups[].groupIdContact group IDtext  Identifier for a group of contacts sharing these specifications.
siteGroups[].siteIdsContact IDslist of integers format comma-separated-integersNumeric IDs of the contacts in this group, as used in the contact coordinates. Omit when unknown.
siteGroups[].shapeContact shapechoice one of unknown, circle, square, rectangle, other; default "unknown"Shape explicitly specified for these contacts; never inferred from area alone.
siteGroups[].areaAreaquantity with unit units nm², µm², mm², m²; default {"unit": "µm²"}Exposed area of each contact in this group, as specified by the source.
siteGroups[].widthWidthquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Source-specified extent of each contact in this group along a row.
siteGroups[].heightHeightquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Source-specified extent of each contact in this group along a column.
siteGroups[].materialContact materialtext  Exposed contact material for the contacts in this group.
siteCoordinatesContact coordinatesobject  Center of every recording contact as parallel lists, in the supplier’s drawing frame: x along the rows, y along the columns.
siteCoordinates.xX coordinatesmulti-selectyesformat comma-separated-numbersPosition of each contact along the row direction, one value per contact, in the shared frame.
siteCoordinates.yY coordinatesmulti-selectyesformat comma-separated-numbersPosition of each contact along the column direction, one value per contact; the cable side is recorded under Tails.
siteCoordinates.siteIdsContact IDslist of integersyesformat comma-separated-integersNumeric contact IDs, one per coordinate: the source’s numbering where it numbers contacts, otherwise diagram numbering.
siteCoordinates.unitCoordinate unitchoiceyesone of nm, µm, mm, m; default "µm"Length unit shared by every coordinate below.
referenceSitesReference contactstable of rows format tableDedicated reference or ground contacts on the array, one row each; they are not counted among the recording contacts. Coordinates share the contact frame.
referenceSites[].referenceIdReference IDtextyes The source’s name for this contact, for example ref or gnd.
referenceSites[].roleRolechoice one of unknown, reference, ground; default "unknown"Whether the source designates this contact as a reference or a ground.
referenceSites[].coordinateUnitCoordinate unitchoice one of nm, µm, mm, m; default "µm"Length unit of the x and y position below.
referenceSites[].xX coordinatenumber  Position of the contact along the row direction, in the frame shared with the contact coordinates.
referenceSites[].yY coordinatenumber  Position of the contact along the column direction, in the shared frame.
referenceSites[].shapeContact shapechoice one of unknown, circle, square, rectangle, other; default "unknown"Shape explicitly specified for this contact; never inferred from area alone.
referenceSites[].areaAreaquantity with unit units nm², µm², mm², m²; default {"unit": "µm²"}Exposed area of this contact, as specified by the source.
referenceSites[].widthWidthquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Source-specified extent of this contact along a row.
referenceSites[].heightHeightquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Source-specified extent of this contact along a column.
referenceSites[].materialMaterialtext  Exposed material of this contact when it differs from the recording contacts.
outlinesBody outlinestable of rows format tableOutline of each separately drawn piece of the array body as a polygon in the contact frame, closed across the tail roots; one row per piece.
outlines[].unitOutline unitchoiceyesone of nm, µm, mm, m; default "µm"Length unit shared by the outline x and y lists of this piece.
outlines[].xOutline xmulti-selectyesformat comma-separated-numbersVertex x positions of this piece’s outline in drawing order.
outlines[].yOutline ymulti-selectyesformat comma-separated-numbersVertex y positions paired with outline x, in the frame shared with the contact coordinates.
tailsTailstable of rows format tableRibbons or cables leaving the array body, one row each, in the supplier’s order; the first row is the rotation reference.
tails[].directionDirectionchoice one of unknown, left, right, up, down, other; default "unknown"Which way the tail leaves the body on the supplier’s drawing, as the contacts are stored.
tails[].coordinateUnitCoordinate unitchoice one of nm, µm, mm, m; default "µm"Length unit of the exit point below.
tails[].xExit xnumber  Where the tail’s center line crosses the body outline, along the row direction, in the contact frame.
tails[].yExit ynumber  Where the tail’s center line crosses the body outline, along the column direction.
tails[].widthWidthquantity with unit units nm, µm, mm, m; default {"unit": "mm"}Nominal width of the tail across its run, at its widest where the source gives a maximum.
tails[].lengthLengthquantity with unit units nm, µm, mm, m; default {"unit": "mm"}Nominal length from the body outline to the connector end, unfolded.
openingsOpeningstable of rows format tableHoles, slots and windows through the array body, one row per group of identical openings, with their centers when known.
openings[].shapeShapechoice one of unknown, circle, rectangle, slot, other; default "unknown"Shape of each opening in this group.
openings[].diameterDiameterquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Diameter of each circular opening in this group.
openings[].widthWidthquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Extent of each non-circular opening along a row (x).
openings[].heightHeightquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Extent of each non-circular opening along a column (y).
openings[].unitCoordinate unitchoice one of nm, µm, mm, m; default "µm"Length unit shared by the center lists of this group.
openings[].xCenter xmulti-select format comma-separated-numbersCenter of each opening along the row direction, in the contact frame; omit when positions are unknown.
openings[].yCenter ymulti-select format comma-separated-numbersCenter of each opening along the column direction, paired with center x.
packageOptionsPackage optionstable of rows format tablePublished compatible connector, cable and accessory options for this design, one row each.
packageOptions[].productIdPart numbertext  Supplier’s orderable identifier for this package, when it has one. Each row needs a part number or a name.
packageOptions[].namePackage nametext  What the package is in words, including its connector when the source states one; omit when the part number says it all.

Illustrative payload:

{
    "nChannels": 1,
    "nPhysicalSites": 1,
    "productId": "text",
    "layout": "unknown"
}

Electrode component

  • type code ElectrodeComponent · version 1.0.2 · schema

A loose part from which an electrode is built or completed, such as a reference or ground wire, a screw electrode, a silver chloride pellet or contact foil. Use Single wire electrode for wire meant to record or stimulate on its own.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Catalog number or supplier reference.
electrodeRoleRolechoiceyesone of reference, ground, recording, stimulating, reference_and_ground, otherWhat this contact is supplied for. The material role recorded on a procedure remains authoritative for a given use.
physicalFormPhysical formchoice one of wire, screw, pellet, foil, mesh, pin, otherPhysical form of the contact.
materialConductor Materialchoice one of silver, silver_silver_chloride, platinum, platinum_iridium, gold, stainless_steel, tungsten, nichrome, carbon, otherConductor material, which sets the electrochemical properties of the contact.
insulationInsulationtext  Insulation material, or ‘bare’ if uninsulated.
diameterDiameterquantity with unit units µm, mm; default {"unit": "µm"}Conductor diameter.
impedanceNominal Impedancetext  Manufacturer-quoted impedance, with the test frequency.

Illustrative payload:

{
    "electrodeRole": "reference",
    "productId": "text",
    "physicalForm": "wire"
}

Optic fiber design

  • type code OpticFiberDesign · version 1.1.1 · schema

An optical fiber or fiber implant design used to deliver or collect light, as in optogenetics or fiber photometry. Lenses, prisms and windows are Optical components; the fibers you cut, build or buy are Optic fiber stock.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  A unique product identifier for the optic fiber design as defined by the supplier.
numericalApertureNumerical aperturenumber ≥ 0The numerical aperture (NA) of the optic fiber.
wavelengthMinWavelength minimumquantity with unit units nm, µm, mm, m; default {"unit": "nm"}The minimum wavelength the optic fiber transmits efficiently without significant loss.
wavelengthMaxWavelength maximumquantity with unit units nm, µm, mm, m; default {"unit": "nm"}The maximum wavelength the optic fiber can handle.
fiberTypeFiber typetextyes Type of fiber used in the optic fiber design, influencing how light propagates.
coreDiameterCore diameterquantity with unityesunits nm, µm, mm, m; default {"unit": "µm"}Diameter of the fiber core affecting transmission properties like attenuation and bandwidth.
claddingDiameterCladding diameterquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Diameter of cladding layer around the fiber core, crucial for keeping the light signals within the core by reflection.
coatingDiameterCoating diameterquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Diameter of the external protective coating of the optic fiber, protecting it from physical damage and environmental factors.
coreCore materialtext  Material or composition of the optic fiber core impacting its refractive index and transmission characteristics.
claddingCladding materialtext  Material or composition of the cladding layer, having a lower refractive index than the core for reflection within the fiber.
coatingCoating materialtext  Material or composition of the outer coating providing durability and protection.

Illustrative payload:

{
    "fiberType": "text",
    "coreDiameter": {
        "value": 1,
        "unit": "µm"
    },
    "productId": "text",
    "numericalAperture": 1.0
}

Optical component

  • type code OpticalComponent · version 2.0.4 · schema

A passive optical element other than a fiber, such as a GRIN lens, cranial window glass, a coverslip, a microprism, a filter or a relay lens. Use Optic fiber design for fibers, and Consumable device when the optics come built into a mounted assembly.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Supplier or catalog ID (e.g., ‘GRIN1234’, ‘MP-0.5mm’).
componentTypeOptical Component Typechoiceyesone of grin_lens, cranial_window, cover_glass, microprism, beamsplitter, optical_filter, relay_lens, otherGeneral class of optical element.
materialMaterialtext  E.g., glass, quartz, sapphire, polymer.
dimensionsPhysical Dimensionstext  E.g., ‘1.0 mm diameter × 4 mm length’, ‘3×3×1 mm prism’.
coatingSurface Coatingtext  E.g., anti-reflective, hydrophobic, no coating.
wavelengthMinWavelength minimumquantity with unit units nm, µm, mm, m; default {"unit": "nm"}The minimum wavelength of light that the optic component is designed to handle.
wavelengthMaxWavelength maximumquantity with unit units nm, µm, mm, m; default {"unit": "nm"}The maximum wavelength of light that the optic component can handle.
sterileSterileyes/no  Is this item provided sterile by the manufacturer?
storageConditionsStorage Conditionstext  E.g., ‘Room temperature’, ‘Dry box’, ‘Avoid moisture’.
experimentalUseExperimental Use Contextmulti-select one of chronic_imaging, widefield_imaging, two_photon_imaging, optogenetics, histology, other; format select2Contexts in which this component is typically used.

Illustrative payload:

{
    "componentType": "grin_lens",
    "productId": "text",
    "material": "text"
}

Silicon probe design

  • type code SiliconProbeDesign · version 3.0.1 · schema

A silicon probe design for extracellular recording, such as a Neuropixels or a multishank probe, defined by its shanks and recording-site layout. Surface arrays are ECoG array designs; the probes you hold are Silicon probe stock.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  A unique identifier for the silicon probe design as defined by the supplier.
layoutRecording-site layoutchoice one of unknown, linear, edge, tetrode, stereotrode, poly2, poly3, poly4, poly5, buzsaki, grid, mixed, other; default "unknown"Arrangement family of the recording sites; column alignment and coordinates are recorded separately.
columnAlignmentSite column alignmentchoice one of unknown, aligned, shifted; default "unknown"Whether adjacent site columns sit at the same heights or are shifted against each other.
customDesignCustom-manufactured designchoice one of unknown, custom, standard; default "unknown"; format selectWhether the manufacturer made this as a custom design; excludes later modifications to individual probes.
nChannelsSimultaneous recording channelsintegeryes≥ 1Maximum number of independent recording signals supported simultaneously; this can be lower than the total site count.
nPhysicalSitesRecording sites (total)integer ≥ 1Total physical recording sites, including selectable sites not recorded simultaneously; excludes dedicated reference contacts.
nShanksNumber of shanksintegeryes≥ 1Number of separate penetrating shanks in this probe design.
shankLengthShank lengthquantity with unit units nm, µm, mm, m; default {"unit": "mm"}Nominal tip-to-base length shared by all shanks; use individual dimensions when shanks differ.
shankPitchShank pitchquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Center-to-center distance between adjacent shanks in a uniform array.
shankWidthShank widthquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Nominal width at the widest point of the shank, shared by all shanks; tapers narrow towards the tip.
shankWidthAtSitesShank width at the sitesquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Width of the shank alongside the recording sites; a tapered shank is narrower here than at its widest point.
shankThicknessShank thicknessquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Nominal thickness shared by all shanks; use individual dimensions when shanks differ.
materialRecording-site materialtext  Exposed recording-site material when uniform; use site groups when materials differ.
shapeRecording-site shapechoice one of unknown, circle, square, rectangle, other; default "unknown"Source-specified shape shared by all recording sites; use site groups when shapes differ.
siteVerticalPitchVertical column pitchquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Center-to-center spacing along one site column; excludes offsets between shifted columns.
siteHorizontalPitchHorizontal site pitchquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Source-defined center-to-center site pitch across the shank.
siteAreaRecording-site areaquantity with unit units nm², µm², mm², m²; default {"unit": "µm²"}Nominal exposed recording-site area when uniform; this does not specify site shape.
shanksIndividual shankstable of rows format tableIdentified shanks: their sites, nominal dimensions when not uniform, and outline when known. A shank row takes precedence over the shared scalars.
shanks[].shankIdShank IDtextyes Identifier of the shank in the source drawing.
shanks[].siteIdsSite IDslist of integers format comma-separated-integersNumeric IDs of the recording sites on this shank, in source numbering; omit when unknown.
shanks[].lengthLengthquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Nominal length from the shank tip to its base.
shanks[].widthWidthquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Nominal width of this shank at its widest point.
shanks[].thicknessThicknessquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Nominal thickness of this shank.
shanks[].outlineUnitOutline unitchoice one of nm, µm, mm, m; default "µm"Length unit shared by the outline x and y lists of this shank.
shanks[].outlineXOutline xmulti-select format comma-separated-numbersPolygon vertex x positions of this shank’s outline, tip included, in drawing order.
shanks[].outlineYOutline ymulti-select format comma-separated-numbersPolygon vertex y positions paired with outline x, increasing away from the tip, in the frame shared with the site coordinates.
siteGroupsRecording-site groupstable of rows format tableGroups of sites sharing shape, size or material; a group takes precedence over the shared site scalars. List site IDs only when the source establishes them.
siteGroups[].groupIdSite group IDtext  Identifier for a group of sites sharing these specifications.
siteGroups[].siteIdsSite IDslist of integers format comma-separated-integersNumeric site IDs in source numbering (zero- or one-based); do not renumber. Omit when unknown.
siteGroups[].shapeSite shapechoice one of unknown, circle, square, rectangle, other; default "unknown"Shape explicitly specified for these sites; never inferred from area alone.
siteGroups[].areaAreaquantity with unit units nm², µm², mm², m²; default {"unit": "µm²"}Exposed area of each recording site in this group, as specified by the source.
siteGroups[].widthWidthquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Source-specified horizontal extent of each recording site in this group.
siteGroups[].heightHeightquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Source-specified vertical extent of each recording site in this group.
siteGroups[].materialRecording-site materialtext  Exposed recording-site material for the sites in this group.
siteCoordinatesRecording-site coordinatesobject  Center of every recording site as parallel lists; any origin, shared with the shank outlines.
siteCoordinates.xX coordinatesmulti-selectyesformat comma-separated-numbersPosition of each site across the shank width, one value per site, in the shared frame.
siteCoordinates.yY coordinatesmulti-selectyesformat comma-separated-numbersPosition of each site along the shank, increasing away from the tip, one value per site.
siteCoordinates.siteIdsSite IDslist of integersyesformat comma-separated-integersNumeric site IDs in source numbering, one per coordinate; never renumbered.
siteCoordinates.unitCoordinate unitchoiceyesone of nm, µm, mm, m; default "µm"Length unit shared by every coordinate below.
referenceSitesReference contactstable of rows format tableDedicated reference or ground contacts on the probe, one row each; they are not counted among the recording sites. Coordinates share the recording-site frame.
referenceSites[].referenceIdReference IDtextyes The source’s name for this contact, for example ref, gnd or tip.
referenceSites[].roleRolechoice one of unknown, reference, ground; default "unknown"Whether the source designates this contact as a reference or a ground.
referenceSites[].shankIdShank IDtext  Shank carrying this contact, matching a row of the shanks table; omit on single-shank designs.
referenceSites[].coordinateUnitCoordinate unitchoice one of nm, µm, mm, m; default "µm"Length unit of the x and y position below.
referenceSites[].xX coordinatenumber  Position of the contact across the shank width, in the frame shared with the recording-site coordinates.
referenceSites[].yY coordinatenumber  Position of the contact along the shank, increasing away from the tip, in the shared frame.
referenceSites[].shapeShapechoice one of unknown, circle, square, rectangle, other; default "unknown"Shape explicitly specified for this contact; never inferred from area alone.
referenceSites[].areaAreaquantity with unit units nm², µm², mm², m²; default {"unit": "µm²"}Exposed area of this contact as specified by the source.
referenceSites[].widthWidthquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Source-specified horizontal extent of this contact.
referenceSites[].heightHeightquantity with unit units nm, µm, mm, m; default {"unit": "µm"}Source-specified vertical extent of this contact.
referenceSites[].materialMaterialtext  Exposed material of this contact when it differs from the recording sites.
packageOptionsPackage optionstable of rows format tablePublished compatible assembly, connector and accessory options for this design, one row each.
packageOptions[].productIdPart numbertext  Supplier’s orderable identifier for this package, when it has one. Each row needs a part number or a name.
packageOptions[].namePackage nametext  What the package is in words, including its connector when the source states one; omit when the part number says it all.

Illustrative payload:

{
    "nChannels": 1,
    "nShanks": 1,
    "productId": "text",
    "layout": "unknown"
}

Single wire electrode

  • type code SingleWireElectrode · version 1.1.1 · schema

A single insulated wire used as an electrode, such as a tungsten, stainless steel or platinum-iridium microwire, bought to record, stimulate or build tetrodes. Reference and ground parts that are not plain wire are Electrode components.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  A unique identifier for the wire electrode as defined by the supplier.
materialMaterialtext  The type of material used for the conductive part of the electrode. Common materials include stainless steel, platinum, and gold, each providing different levels of conductivity and biocompatibility.
insulationInsulation/Coatingtext  The type of insulation or coating used for electrical insulation.
diameterDiameterquantity with unit units nm, µm, mm, m; default {"unit": "µm"}The diameter of the wire, which affects its flexibility, impedance, and recording surface area.
insulationDiameterInsulation diameterquantity with unit units nm, µm, mm, m; default {"unit": "µm"}The outer diameter of the insulation or coating.

Illustrative payload:

{
    "productId": "text",
    "material": "text"
}

Surgical Consumables

Adhesive or cement

  • type code AdhesiveCement · version 1.0.3 · schema

A material that bonds or seals during surgery, such as dental acrylic, light-cured cement, cyanoacrylate glue or silicone elastomer. Use Implant or fixation material for structural parts, and Fastener or anchor for screws and pins.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Catalog number or supplier reference.
subtypeTypechoiceyesone of dental_cement, acrylic_polymer, cyanoacrylate_glue, silicone_elastomer, epoxy, uv_curing_adhesive, bone_wax, tissue_adhesive, otherCategory of adhesive, cement, or sealant.
componentCountNumber of Componentsinteger ≥ 1Number of parts that must be mixed before use (1 for single-component products).
mixingRatioMixing Ratiotext  Manufacturer-recommended ratio for multi-component products.
curingMethodCuring Methodchoice one of air_cure, uv_cure, chemical_cure, thermal_cure, otherHow the product is cured after application.
workingTimeWorking Timetext  Time available for positioning before the product sets.
storageConditionsStorage Conditionstext  Recommended storage conditions.
biocompatibleBiocompatibleyes/no  Whether the product is biocompatible for in vivo use.

Illustrative payload:

{
    "subtype": "dental_cement",
    "productId": "text",
    "componentCount": 1
}

Fastener or anchor

  • type code FastenerAnchor · version 1.0.2 · schema

A screw, pin or anchor that holds an implant or headcap to bone, including skull screws that also serve as ground or reference. Use Adhesive or cement for what bonds them, and Implant or fixation material for the parts they hold.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Catalog number or supplier reference.
subtypeTypechoiceyesone of bone_screw, skull_anchor, machine_screw, nut, washer, pin, clamp, otherCategory of fastener or anchor.
threadSizeThread Sizetext  Thread designation or gauge.
lengthLengthquantity with unit units mm, µm, inch; default {"unit": "mm"}Overall length of the fastener.
headTypeHead Typetext  Head or drive geometry.
materialMaterialchoice one of stainless_steel, titanium, brass, nylon, peek, gold_plated, otherMaterial the fastener is made from. Non-magnetic and non-conductive options matter for imaging and recording.
conductiveConductiveyes/no  Whether the fastener conducts, which matters when it doubles as a reference or ground contact.
biocompatibleBiocompatibleyes/no  Whether the fastener is biocompatible for in vivo use.

Illustrative payload:

{
    "subtype": "bone_screw",
    "productId": "text",
    "threadSize": "text"
}

Implant or fixation material

  • type code ImplantMaterial · version 3.0.2 · schema

Structural hardware or material an implant is built from or fixed with, such as a headpost, a recording chamber, a baseplate or shielding mesh. Bonding materials are Adhesive or cement; manufactured assemblies are Consumable devices.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Catalog number or supplier reference.
subtypeTypechoiceyesone of headpost, chamber, baseplate, shielding_mesh, otherStructural implant hardware. Adhesives and cements belong to the Adhesive or cement type; screws and anchors to Fastener or anchor.
preparationInstructionsPreparation Instructionstext (multi-line)  Preparation steps before application.
storageConditionsStorage Conditionstext  Recommended storage conditions.
biocompatibleBiocompatibleyes/no  Whether the material is biocompatible for in vivo use.

Illustrative payload:

{
    "subtype": "headpost",
    "productId": "text",
    "preparationInstructions": "text"
}

Surgical disposable

  • type code SurgicalDisposable · version 3.0.2 · schema

A single-use item consumed during surgery or handling, such as a suture, a needle, a blade, a swab, a drape or gloves. Anything that becomes part of an implant is Implant or fixation material.

PropertyTitleShapeRequiredAllowed valuesMeaning
productIdProduct IDtext  Catalog number or supplier reference.
subtypeTypechoiceyesone of scalpel_blade, needle, syringe, suture, gauze_swab, surgical_drape, catheter, otherCategory of surgical disposable.
materialMaterialtext  Primary material (e.g., stainless steel, plastic, absorbable).
specificationSpecificationtext  Short free-text detail to disambiguate similar items (size, gauge, blade number, etc.).
sterileSterileyes/no  Whether the item is sterile.

Illustrative payload:

{
    "subtype": "scalpel_blade",
    "productId": "text",
    "material": "text"
}

External Identifiers

  • type code ExternalIdentifiers · version 1.0.0 · schema

Add external identifiers from databases like NCBI, JAX, DOI, etc. Include URLs when available.

PropertyTitleShapeRequiredAllowed valuesMeaning
sourceSourcechoiceyesone of NCBI, JAX, DOI, UniProt, PubMed, Addgene, Sigma-Aldrich, Thermo Fisher, Abcam, Cell Signaling, Custom, Other; default "NCBI" 
idIdentifiertextyes  
urlURL (optional)text   

Illustrative payload:

[
    {
        "source": "NCBI",
        "id": "text",
        "url": "text"
    }
]