Skip to content

Commit 82ec8e9

Browse files
committed
2 parents 2f6ce47 + efb6534 commit 82ec8e9

13 files changed

+1046
-636
lines changed

package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@
1414
},
1515
"license": "MIT",
1616
"devDependencies": {
17-
"@vuepress/plugin-back-to-top": "^1.8.2",
18-
"@vuepress/plugin-medium-zoom": "^1.8.2",
19-
"vuepress": "^1.8.2"
17+
"@vuepress/plugin-back-to-top": "^1.9.10",
18+
"@vuepress/plugin-medium-zoom": "^1.9.10",
19+
"vuepress": "^1.9.10"
2020
},
2121
"resolutions": {
2222
"vuepress/@vuepress/core/vue-server-renderer/**/chalk": "4.1.2",
2323
"vuepress/@vuepress/core/**/webpackbar": "5.0.2",
24+
"vuepress/@vuepress/core/webpack-dev-server": "3.11.3",
2425
"vuepress/**/globby": "11.1.0",
2526
"vuepress/**/chokidar": "3.5.3",
2627
"vuepress/**/copy-webpack-plugin": "5.1.2",
@@ -34,7 +35,7 @@
3435
"**/**/loader-utils": "1.4.2"
3536
},
3637
"dependencies": {
37-
"@babel/core": "^7.18.6",
38+
"@babel/core": "^7.24.5",
3839
"follow-redirects": "1.15.6"
3940
}
4041
}
697 KB
Loading
1.26 MB
Loading
1.17 MB
Loading
1.18 MB
Loading
1.77 MB
Loading
2.29 MB
Loading
34.7 KB
Loading

src/software/automation_pipeline_developer.md

Lines changed: 112 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,112 @@ To accomplish this we developed three tools:
2121

2222
## Ephys/Imaging Automation GUI
2323

24+
In this mini guide for the automation GUI we will show the relationship between the GUI and the Database. From which tables some values are taken and which records are written by the GUI.
25+
26+
### Automation GUI main screen
27+
28+
<figure>
29+
<img src='./assets/images/automation_pipeline_developer/GUI_tab1_table_connection.png'>
30+
<center><figcaption>Automation GUI main screen fill values</figcaption></center>
31+
</figure>
32+
33+
### Ephys Preprocessing (precluster) parameters organization
34+
35+
#### Main tables
36+
+ **u19_pipeline_ephys_element.#pre_cluster_method** List of methods (or algorithms) supported for ephys preprocessing
37+
+ **u19_pipeline_ephys_element.pre_cluster_param_set** Specific set of parameters (mainly a dictionary) for a given preprocessing method. Multiple set of parameters can be stored for the same method.
38+
+ **u19_pipeline_ephys_element.pre_cluster_param_steps** (Ephys) Reference to a set to steps to perform in ephys preprocessing
39+
+ **u19_pipeline_ephys_element.pre_cluster_param_steps__step** These records indicate which set of parameters for given preprocessing methods will be executed (and in which order).
40+
41+
<figure>
42+
<img src='./assets/images/automation_pipeline_developer/precluster_params_example.png'>
43+
<center><figcaption>Precluster tables record examples </figcaption></center>
44+
</figure>
45+
46+
+ Depicted in the above image:
47+
1. Let's pretend: **precluster_param_steps_name** = new_preprocessing_steps_1 (precluster_param_steps_id = 10 ) is selected for preprocessing.
48+
2. According to **pre_cluster_param_steps__step**
49+
* paramset_idx = 9 will be executed 1st
50+
* paramset_idx = 2 2nd
51+
* paramset_idx = 3 3rd.
52+
3. Checking **pre_cluster_param_set** for paramset_idx = 9,2,3 we conclude preprocessing will comprise:
53+
* **Tprime** (Tprime ParamSet 1)
54+
* **Catgt** (Catgt ParamSet for Towers Task)
55+
* **PreClustMethod1** (PreClusterMethod1 Paramset Mika)
56+
57+
### Epgys Processing (cluster) parameters organization
58+
59+
+ Simpler than preprocessing structure (since there are no multiple steps involved), we have two tables to organize Ephys Processing parameters.
60+
61+
<figure>
62+
<img src='./assets/images/automation_pipeline_developer/cluster_params_example.png'>
63+
<center><figcaption>Cluster tables record examples </figcaption></center>
64+
</figure>
65+
66+
#### Main tables
67+
+ **u19_pipeline_ephys_element.#clustering_method** List of methods (or algorithms) supported for ephys processing
68+
+ **u19_pipeline_ephys_element.#clustering_param_set** Specific set of parameters (mainly a dictionary) for a given processing method. Multiple set of parameters can be stored for the same method.
69+
70+
+ Each recording (or to be precise, recording process) can be processed with a different set of parameters. Default parameters are used for the majority of the recordings in BRAINCoGS.
71+
72+
### Default parameters for preprocessing and processing
73+
74+
+ As seen in in Automation GUI main screen, **u19_recording.#modality** stores default parameters for each modality.
75+
+ As a developer **manually update default parameters** for all modalities when needed by the project.
76+
77+
<figure>
78+
<img src='./assets/images/automation_pipeline_developer/default_parameters_main.png'>
79+
<center><figcaption>From which tables default parameters are taken </figcaption></center>
80+
</figure>
81+
82+
+ In **u19_recording.#modality** table it is stored a reference for default parameters most commonly used for processing ephys & imaging.
83+
+ Main table to store preprocessing parameters:
84+
1. **u19_pipeline_ephys_element.pre_cluster_param_steps**: (Ephys) Reference to a set to steps to perform in ephys preprocessing
85+
2. **Imaging, u19_pipeline_imaging_element.pre_process_param_steps**: (Imaging) Reference to a set to steps to perform in imaging preprocessing (No preprocessing in imaging for any user at the moment)
86+
+ Main table to store processing parameters:
87+
1. **Ephys, u19_pipeline_ephys_element.#clustering_param_set**: (Ephys) Reference to a set of parameters for chosen sorting algorithm.
88+
2. **Imaging, u19_pipeline_imaging_element.#processing_param_set**: (Imaging) Reference to a set of parameters for chosen segmentation algorithm.
89+
90+
### Imaging equivalence parameter tables:
91+
92+
<figure>
93+
<img src='./assets/images/automation_pipeline_developer/imaging_equivalence_parameter_tables.png'>
94+
<center><figcaption>Imaging equivalence parameter tables </figcaption></center>
95+
</figure>
96+
97+
+ All description made for ephys preprocessing and processing tables apply for the imaging counterparts.
98+
99+
### Tables written when recording is registered:
100+
101+
<figure>
102+
<img src='./assets/images/automation_pipeline_developer/new_default_recording_records.png'>
103+
<center><figcaption>Tables written when new recording is registered </figcaption></center>
104+
</figure>
105+
106+
+ When a new recording is created three tables are written:
107+
1. **u19_recording.recording**: Main table for recordings. Recording_id is created will identify the recording through all the process
108+
2. **u19_recording.recording__behavior_session**: Reference to which behavior session corresponds this recording.
109+
3. **u19_recording.default_params**: Set of parameters chosen for this recording.
110+
111+
+ If there is no behavior session attached to recording:
112+
* **u19_recording.recording__recording_session**: Subject and datetime of recording is stored as reference in this table.
113+
114+
#### u19_recording.default_params design:
115+
116+
+ Default_params works as a "guide" to know which parameters where chosen for recording.
117+
+ Explanation for all fields of this table:
118+
1. **recording_id** Reference to which recording parameters are being selected
119+
2. **fragment_number** Reference to which "fragment" (or job) the parameters apply to. (Check next session to know how recordings are split in fragments).
120+
3. **default_same_preparams_all** If default_same_preparams_all = 1 (default case), same preprocessing parameters will be applied to all fragments of recording.
121+
4. **preprocess_param_steps_id** Preprocessing parameter id chosen for this recording-fragment. Taken from u19_recording.#modality by default.
122+
5. **default_same_params_all** If default_same_params_all = 1 (default case), same processing parameters will be applied to all fragments of recording.
123+
6. **paramset_idx** Processing parameter id chosen for this recording-fragment. Taken from u19_recording.#modality by default.
124+
125+
+ In the default case (main screen Automation GUI) default_same_preparams_all=1 & default_same_params_all=1 so default parameters will be applied to all fragments of recording.
126+
127+
128+
129+
24130
## Workflow management description
25131

26132
Workflow management code creates and coordinates of a set of tasks for all recordings that were registered with the GUI to make sure they are entirely processed.
@@ -108,6 +214,11 @@ The class that manages workflow at the recording level is (<a href="https://gith
108214

109215
### BrainCogsEphysSorters
110216

217+
218+
111219
#### Set up instructions for BrainCogsEphysSorters in cluster system
112220

113-
1.
221+
222+
### Set up new processing cluster
223+
224+
Instructions to set up a new computing cluster to process Ephys & Imaging

src/software/configure_systems.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@ lang: en-US
3232
#### Create ssh key to clone repositories
3333

3434
1. Open Git Bash
35-
2. `ssh-keygen -t ed25519 -C "[email protected]"`
35+
2. `ssh-keygen -t ed25519 -C "[email protected]"`
3636
3. Leave empty passphrase (Hit Enter two times)
3737
4. `eval "$(ssh-agent -s)"`
3838
5. `ssh-add ~/.ssh/id_ed25519`
3939

4040
#### Add key to virmen user in github
4141

4242
1. Copy ssh public key to clipboard in Git Bash `clip < ~/.ssh/id_ed25519.pub`
43-
2. Open <a href="https://github.com/login`">https://github.com/login</a>
43+
2. Open [https://github.com/login](github.com)
4444
2. Login with vrrigs user (ask your Lab Manager for password)
4545

4646
<figure>

0 commit comments

Comments
 (0)