This is no longer maintained and has been superseded by datajoint-company/datajoint-docs. Please file new issues there (or help contribute!). We are currently migrating and generating new content until December 2022 after which we’ll be decomissioning and in favor of

Manual Tables

Manual tables are populated during experiments through a variety of interfaces. Not all manual information is entered by typing. Automated software can enter it directly into the database. What makes a manual table manual is that it does not perform any computations within the DataJoint pipeline.

The following code defines three manual tables Animal, Session, and Scan:

File +experiment/Animal.m

  # information about animal
  animal_id : int  # animal id assigned by the lab
  -> experiment.Species
  date_of_birth=null : date  # YYYY-MM-DD optional
  sex='' : enum('M', 'F', '')   # leave empty if unspecified
classdef Animal < dj.Manual

File +experiment/Session.m

  # Experiment Session
  -> experiment.Animal
  session  : smallint  # session number for the animal
  session_date : date  # YYYY-MM-DD
  -> experiment.User
  -> experiment.Anesthesia
  -> experiment.Rig
classdef Session < dj.Manual

File +experiment/Scan.m

  # Two-photon imaging scan
  -> experiment.Session
  scan : smallint  # scan number within the session
  -> experiment.Lens
  laser_wavelength : decimal(5,1)  # um
  laser_power      : decimal(4,1)  # mW
classdef Scan < dj.Manual
Talk to the Community