diff --git a/README.md b/README.md index d657a50..c8b1080 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ A demonstration DataJoint pipeline for LC-MS (Liquid Chromatography-Mass Spectrometry) data processing. -This project showcases DataJoint 2.1 best practices with a realistic scientific workflow. +This project showcases DataJoint 2.3 best practices with a realistic scientific workflow. ## Pipeline Overview @@ -52,9 +52,9 @@ uv sync --group dev ## Quick Start -### 1. Configure Database (DataJoint 2.1) +### 1. Configure Database (DataJoint 2.3) -DataJoint 2.1 uses a layered configuration system. Non-sensitive settings go in `datajoint.json`, while credentials come from secrets or environment variables. +DataJoint 2.3 uses a layered configuration system. Non-sensitive settings go in `datajoint.json`, while credentials come from secrets or environment variables. **Configuration sources (in priority order):** 1. Environment variables (`DJ_HOST`, `DJ_USER`, `DJ_PASS`, etc.) diff --git a/docs/pipeline.svg b/docs/pipeline.svg index db68dea..4ff99c1 100644 --- a/docs/pipeline.svg +++ b/docs/pipeline.svg @@ -1,193 +1,245 @@ - - - + + + + + + + + cluster_cluster_subject - -subject + +subject cluster_cluster_session - -session + +session cluster_cluster_scan - -scan + +scan + + +cluster_cluster_entity_scan_PeakDetection + + + +cluster_cluster_entity_scan_Acquisition + + + +cluster_cluster_entity_scan_MassAnalysis + subject.Subject - - -Subject + + +Subject - + subject.Sample - - -Sample + + +Sample -subject.Subject->subject.Sample - - - - -session.Instrument - - -Instrument - - +subject.Subject->subject.Sample + - + session.Session - - -Session + + +Session - - -session.Instrument->session.Session - - scan.Acquisition - - -Acquisition + + +Acquisition - - -scan.Acquisition.Scan - - -Acquisition.Scan - - - - - -scan.Acquisition->scan.Acquisition.Scan - + + +session.Session->scan.Acquisition + - + scan.MassAnalysis - - -MassAnalysis + + +MassAnalysis -scan.Acquisition->scan.MassAnalysis - +scan.Acquisition->scan.MassAnalysis + - - -subject.Sample->session.Session - + + +scan.Acquisition.Scan + + +Scan + - + + + +scan.Acquisition->scan.Acquisition.Scan + + + -session.AcquisitionMethod - - -AcquisitionMethod +scan.PeakDetection + + +PeakDetection - - -session.AcquisitionMethod->session.Session - + + +scan.MassAnalysis->scan.PeakDetection + scan.MassAnalysis.Spectrum - - -MassAnalysis.Spectrum + + +Spectrum - - -scan.Acquisition.Scan->scan.MassAnalysis.Spectrum - - - - -session.Session->scan.Acquisition - - -scan.MassAnalysis->scan.MassAnalysis.Spectrum - +scan.MassAnalysis->scan.MassAnalysis.Spectrum + - - -scan.PeakDetection - - -PeakDetection + + +scan.PeakDetection.Peak + + +Peak - - -scan.MassAnalysis->scan.PeakDetection - + + +scan.PeakDetection->scan.PeakDetection.Peak + - - -scan.PeakDetection.Peak - - -PeakDetection.Peak + + +subject.Sample->session.Session + + + + +session.Instrument + + +Instrument + + +session.Instrument->session.Session + + + + +scan.Acquisition.Scan->scan.MassAnalysis.Spectrum + + -scan.MassAnalysis.Spectrum->scan.PeakDetection.Peak - +scan.MassAnalysis.Spectrum->scan.PeakDetection.Peak + + + + +session.AcquisitionMethod + + +AcquisitionMethod + + + + + +session.AcquisitionMethod->session.Session + - + scan.PeakDetectionParams - - -PeakDetectionParams + + +PeakDetectionParams - -scan.PeakDetectionParams->scan.PeakDetection - - - -scan.PeakDetection->scan.PeakDetection.Peak - +scan.PeakDetectionParams->scan.PeakDetection + - \ No newline at end of file + diff --git a/pyproject.toml b/pyproject.toml index 3ffa8b0..ba1f959 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,7 @@ classifiers = [ "Topic :: Scientific/Engineering :: Bio-Informatics", ] dependencies = [ - "datajoint[postgres]>=2.1.0", + "datajoint[postgres]>=2.3.0", "numpy", "pandas", "scipy",