Equipment & Materials Catalog
A shared, structured registry of laboratory equipment and materials with a two-tier type/product hierarchy for FAIR science.
Overview
The catalog is a shared, structured registry of laboratory equipment and materials. It uses a two-tier type/product hierarchy designed for FAIR science: protocols reference generic types (what is needed), while processes record specific products (what was actually used).
Browse the catalog from More → Equipment & Materials.
Two-tier hierarchy
| Level | What it represents | Examples |
|---|---|---|
| Type | A generic class of equipment or material — vendor-independent | Thermal cycler, Microcentrifuge, Nuclease-free water, Sequencing kit |
| Product | A specific item from a specific vendor, with model and catalog number | Bio-Rad T100, Zymo EZ DNA Methylation-Gold Kit (D5005), AMPure XP (A63881) |
This separation matters because a protocol for bisulfite conversion needs “a thermal cycler with a heated lid” — it does not need a specific brand. Any lab with any thermal cycler can follow the protocol. But when you record a process, you note exactly which instrument you used.
Kit components
Material products that are kits can have components — the individual reagents, buffers, columns, and consumables that come inside the kit. Each component is itself a catalog product with its own type, vendor, and optional quantity/unit information and notes.
For example, the EZ DNA Methylation-Gold Kit (D5005) contains:
- CT Conversion Reagent (5 tubes, 10 reactions per tube)
- M-Dilution Buffer, M-Dissolving Buffer, M-Binding Buffer, M-Wash Buffer, M-Desulphonation Buffer, M-Elution Buffer
- Zymo-Spin IC Columns with collection tubes (50 columns)
Components can be shared across kits — if two kits from the same vendor include the same buffer, they reference the same catalog product. Each component has its own product detail page showing its description, catalog number, which kits contain it, and which protocols use it.
How protocols use the catalog
When creating or editing a protocol, two catalog sections appear on the form with a dynamic, row-based interface:
Equipment rows
Click + Add Equipment to add a row. Each row has a dropdown of all equipment types (grouped by category), plus free-text fields for specifications (e.g., “≥10,000 × g”) and notes. Add as many rows as needed.
Material rows
Click + Add Material to add a row. Each row provides:
- Type select — A dropdown of all material types (grouped by category)
- Product select — A cascading dropdown that automatically filters to show only products registered under the selected type. Choose a specific product or leave as “generic (any)”
- Quantity, Unit, and Notes fields for additional context
- + Alternative — Add interchangeable products beneath the primary selection. Useful when a protocol works with multiple size variants or equivalent products from the same vendor (e.g., D5005 as primary, D5006 as an alternative with note “Larger pack size”). Each alternative has its own product select (filtered to the same type) and optional note. Alternatives are structurally linked, so each alternative product’s detail page shows the protocol in its “Protocols Using This Product” section (with an “Alternative” badge)
All catalog data (types and products) is embedded in the page as JSON, so the cascading filter works instantly with no extra page loads.
Display on the protocol page
On the protocol view page, catalog items appear as collapsible cards:
- Equipment — Type name links to the catalog type page, with specifications and notes shown alongside
- Materials with a specific product — The product name is shown as the primary link (to the product detail page), with vendor and catalog number. The generic type appears as a badge for context
- Materials with generic type only — The type name is shown as the primary link (to the catalog type page), with the category as a badge
- Alternative products — Shown as an “Alternatives” sub-list beneath the primary product, each linking to its product detail page with any notes
This enables cross-protocol queries like “show me all protocols that require a microcentrifuge.”
Editing an existing protocol
When creating a new version of a protocol, the edit form pre-fills all catalog rows from the previous version, including selected products in the cascading dropdowns and any alternative products. You can add, remove, or modify rows and alternatives before saving the new version.
For more on protocols, see Protocols.
How processes use the catalog
While protocols specify what is needed (generic types), processes can record what was actually used (specific products) along with lot numbers and expiry dates. This completes the traceability chain from protocol requirement to actual execution, supporting GLP and FAIR compliance.
| Protocol level | Process level | |
|---|---|---|
| Equipment | Generic type (e.g., Thermal cycler) | Specific product (e.g., Bio-Rad T100, serial #XYZ) |
| Materials | Generic type + optional product | Specific product + lot number + expiry date |
For more on processes, see Processes.
Categories
Both equipment and material types are organised by category for easy browsing:
Equipment categories
Centrifugation, Electrophoresis, Liquid handling, Magnetic separation, Measurement, Mixing, Safety, Sample processing, Sequencing, Storage, Thermal regulation
Material categories
Chemical, Consumable, Enzyme, Kit, Primer, Reagent
Categories are free-text, so new categories appear automatically when you create a type with a new category name.
Managing the catalog
Any logged-in user can add new types, products, and kit components directly from the catalog pages.
Adding a type
- Navigate to the catalog (More → Equipment & Materials)
- Select the Equipment Types or Material Types tab
- Fill in the name, category, and optional description
- Click Add
Adding a product
- Navigate to the type detail page (click a type name in the catalog)
- Click + Add Product
- Fill in the product name, vendor, catalog number, and unit size (for materials)
- Safety Data Sheet — Optionally attach the vendor’s SDS by either entering an external URL or uploading a PDF file (max 10 MB). Uploaded files are stored on the server under
/uploads/sds/. The SDS is a property of the product, so any protocol referencing this product automatically inherits the link - Click Add
Adding kit components
- Navigate to the material type page for a kit product
- Under the product, click + Add Component
- Either select an existing catalog product or create a new one inline (name, type, vendor)
- Optionally set quantity, unit, and notes
- Click Add
Type detail pages
Each type detail page shows:
- The type’s name, category, and description (editable)
- All specific products registered under this type, each linking to its own product detail page
- Kit components for products that are kits (with quantities, units, and notes)
- All protocols that reference this type
Product detail pages
Each product has its own page showing:
- Product name, vendor, catalog number, unit size, and description
- SDS link — A badge linking to the Safety Data Sheet (either an uploaded PDF or an external URL). SDS documents are attached at the product level — protocols that reference the product inherit the link automatically
- Kit components — If the product is a kit, its individual components are listed with links to their own product pages
- Found in kits — Which kits contain this product as a component (with quantity and notes from each kit)
- Protocols — Any protocols that reference this product, either as a primary material or as an alternative (shown with an “Alternative” badge)
Type design principles
Types should be generic enough to avoid taxonomy bloat, but specific enough to be meaningful. Variants belong at the product level and in protocol notes, not as separate types:
- Pipette tips (one type) — filter/non-filter, volume, sterile, low-binding are all variants captured in product names and protocol notes (e.g., “Aerosol-resistant filter tips”)
- Microcentrifuge tube (one type) — 0.2 mL, 1.5 mL, 2.0 mL sizes specified in protocol notes
- Bisulfite conversion reagent (one type) — different vendors’ formulations are separate products under this type
JSON API
The catalog exposes JSON endpoints for programmatic access:
| Endpoint | Returns |
|---|---|
?action=api_catalog_equipment_types |
All equipment types |
?action=api_catalog_material_types |
All material types |
?action=api_catalog_material_products |
All material products (or filtered by &type_id=N) |
The protocol creation and editing forms embed the full catalog data as JSON directly in the page (via Twig’s json_encode), so the cascading type → product filtering works client-side without additional API calls. The JSON endpoints above are available for external integrations or custom tooling.