11# General organization
22
3- <!-- TODO
4- - mention OSF
5- - mention Zotero
6- -->
3+ The general workflow of this project is the following:
74
8- <!-- ```
9- .
10- ├── activities
11- ├── communication
12- ├── docs
13- ├── inputs
14- ├── node_modules
15- ├── protocols
16- ├── response_options
17- ├── schema
18- ├── scripts
19- └── tests
20- ``` -->
21-
22-
23- This repository hosts the work that will turn the report published by the
24- Committee on Best Practices in Data Analysis and Sharing (COBIDAS) of the
25- organization for human brain mapping (OHBM) into a practical tool for improving
26- methods and results reporting in (f)MRI, (i)EEG, MEG.
5+ - turning the recommendation guidelines into spreadsheets
276
28- There are 3 repositories behind this checklist:
7+ - turning the spreadsheets into a "schema" representation
298
30- 1 . this
31- [ COBIDAS_chckls repository] ( https://github.com/Remi-Gau/eCobidas/tree/master )
32- where you are currently reading this. It contains:
33- - the [ neurovault spreadsheet] ( https://github.com/Remi-Gau/eCobidas/tree/master/inputs/csv/cobidas_neurovault.csv )
34- - the python [ script] ( https://github.com/Remi-Gau/eCobidas/tree/master/scripts/convert_csv_to_schema.py ) to turn that
35- spreadsheet into a Repronim schema (basically a bunch hierarchically
36- organized json files that link to each other).
37- 1 . Reproschema
38- 1 . the ui
9+ - using a "front-end" user-interface that will read those schema and serve a
10+ web-app to the user.
3911
40- the ui repository that does
41- the actual rendering of the checklist app by reading the schema hosted by the
42- previous repository.
12+ To execute that work, this project is organized around several "repositories":
4313
44- There is a general explanation of how the app works in this
45- issue
14+ - the [ eCOBIDAS repository] ( https://github.com/Remi-Gau/eCobidas ) centralises
15+ most of the information and workflow to convert the guidelines into a
16+ checklist webapp,
4617
18+ - the [ Reproschema user interface] ( https://github.com/ReproNim/reproschema-ui )
19+ contains the "front-end" code of the user interface to render the checklist
20+ webapp,
4721
22+ - the [ ReproSchema] ( https://github.com/ReproNim/reproschema ) repository
23+ contains the formal "definition" of the terms used to describe the content
24+ of the checklist as a schema,
4825
49- ohbm/cobidas repo
26+ - the repositories containing a) an instance of the user interface and b) a
27+ schema to serve a specific checklist :
5028
51- add info on reproschema template about what to modify
29+ - the [ one for the MRI version] ( https://github.com/ohbm/cobidas ) based of
30+ the Neurovault metadata "checklist" hosted on the OHBM Github
31+ organization and that serves this
32+ [ checklist] ( (https://ohbm.github.io/cobidas/#/) ) ,
5233
53- ## Spreadsheet content and organization
34+ - the one for the
35+ [ PET imaging version] ( https://github.com/Remi-Gau/cobidas-PET ) that
36+ serves this [ checklist] ( https://remi-gau.github.io/cobidas-PET/#/ ) ,
5437
55- See the dedicated [ document] ( ./spreadsheet-content.md )
38+ - the
39+ [ google drive] ( https://drive.google.com/drive/folders/1wg5k-6pSB3mQm_a30abX6qb-lzTn_S-Y?usp=sharing )
40+ where we work synchronously on the
41+ [ spreadsheets] ( https://drive.google.com/drive/folders/1ydwALHDzl21dcef3qhkju8JKKAT3Y72V?usp=sharing ) ,
5642
57- ## How is the Reproschema organized
43+ - an associated
44+ [ zotero library] ( https://www.zotero.org/groups/2349772/cobidas_checklist ) to
45+ keep track of references related to this project,
46+
47+ - a [ project on the open-science framework] ( https://osf.io/anvqy/ ) that allows
48+ to "connect" all those elements together in one place.
49+
50+ ## the eCOBIDAS repository
5851
59- <!--
52+ This repository hosts the workflow that will turn the reports published by the
53+ Committee on Best Practices in Data Analysis and Sharing (COBIDAS) of the
54+ organization for human brain mapping (OHBM) into a checklists for improving
55+ methods and results reporting in (f)MRI, (i)EEG, MEG.
56+
57+ By extension, this workflow can also be used on other types of guidelines (like
58+ the ones for PET imaging and eyetracking).
6059
61- TODO link to reproschema doc
60+ ``` text
61+ .
62+ ├── .github <-- continuous integration "scripts"
63+ ├── activities <-- schema of the different "sections"of the checklistss with their items
64+ ├── communication <-- abstracts and presentations about the project
65+ ├── docs <-- content of the documentation
66+ ├── inputs <-- checklists spreadsheets as CSV files, boilerplate for method section generation
67+ ├── protocols <-- schema for the checklists putting together several "sections" together
68+ ├── response_options <-- contains the pre-set list of response options to some checklist items
69+ ├── schema <-- obsolete: ignore this
70+ ├── scripts <-- python scripts to convert the CSV spreadsheets into schemas
71+ └── tests <-- python script to test that the schema files are valid JSON-LD
72+ ```
73+
74+ ### Spreadsheet content and organization
6275
63- https://www.repronim.org/reproschema/
76+ The first step of the workflow involves taking the recommendation guidelines and
77+ converting that into a spreadsheet that contains all the items of the future
78+ checklist.
6479
65- https://www.repronim.org/reproschema/98_FAQ/
80+ This step is by far the most labor intensive and has its dedicated page in the
81+ [ documentation] ( ./40-spreadsheets.md )
6682
67- https://github.com/ReproNim/reproschema/pull/399
83+ ### Converting the spreadsheet into a schema
6884
69- https://github.com/Remi-Gau/reproschema/tree/remi-documentation/docs
85+ Most of that is covered in the section on
86+ [ how the checklist is rendered] ( ./50-how-to-render-the-checklist.md ) and in the
87+ README in the ` scripts ` folder.
7088
71- -->
89+ ## How is the Reproschema organized
7290
73- The first step to create the checklist involves taking a spreadsheet that
74- contains all the items and turning that into a representation that can
91+ The first step of the workflow involves taking a spreadsheet that contains all
92+ the items of the checklist and turning that into a representation that can
7593efficiently link the metadata about each item to the data imputed by the user.
76- Basically it means turning your 'dumb' spreadsheet into an equivalent but
77- 'smarter' representation of it: in this case a bunch hierarchically organized
78- json files that link to each other.
94+ We are using the [ ReproSchema] ( https://github.com/ReproNim/reproschema )
95+ initiative from [ ReproNim] ( http://www.repronim.org/ ) to do this. Basically, it
96+ means turning your 'dumb' spreadsheet into an equivalent but 'smarter'
97+ representation of it: a bunch of hierarchically organized json files that link
98+ to each other.
7999
80- In terms of choice of representation we are using the
81- [ reproschema] ( https://github.com/ReproNim/reproschema ) initiative from
82- [ ReproNim] ( http://www.repronim.org/ ) to do this. On top of the inherent
100+ On top of the inherent
83101[ advantages] ( https://github.com/ReproNim/reproschema#30-advantages-of-current-representation )
84102of this schema representation:
85103
86104- its use simplifies the rendering of the checklist by using the
87- [ schema -ui] ( https://github.com/ReproNim/schema -ui ) made for it,
105+ [ reproschema -ui] ( https://github.com/ReproNim/reproschema -ui ) made for it,
88106
89107- this representation allows specification of user interface option that can
90- simplify the user experience: it allows us to specify a ` branching logic `
91- that will prevent users to be presented with items that are not relevant to
92- them (e.g answer PET related when they have only run an fMRI study).
108+ simplify the user experience: it allows us to specify the conditions that
109+ will make certain items visible or not and thus will prevent users to be
110+ presented with items that are not relevant to them (e.g answer PET related
111+ when they have only run an fMRI study).
93112
94- The repronim schema is organized in a hierarchical manner with 3 levels.
113+ The reproschema is organized in a hierarchical manner with several levels, the
114+ main ones being
95115
961161 . The lowest level is the ` item level ` where there is one question for each
97117 item with an expected format for the user interface: is this yes / no
@@ -100,41 +120,21 @@ The repronim schema is organized in a hierarchical manner with 3 levels.
1001201 . The second level is the ` activity level ` that contains a set of items. In
101121 the original repronim project this would constitute usually a questionnaire:
102122 like all the items of the Edinburgh handedness inventory would constitute
103- one activity. In the COBIDAS case, it seems that we will most likely use
104- this level to define some 'big' section of a method section (e.g.
105- preprocessing, design, participants...)
106-
107- 1 . The highest level is the ` activity_set ` or protocol level that originally
108- define a set of activities to be included in a given study. At the moment
109- this level is underused in the COBIDAS checklist but could be used to define
110- activity sets for different use case: fMRI, MEEG, pre-registration...
111-
112- So far we have a [ script] ( https://github.com/Remi-Gau/eCobidas/tree/master/scripts/create_ecobidas_schema.py ) to turn the
113- neurovault [ list of required inputs] ( https://github.com/Remi-Gau/eCobidas/tree/master/inputs/csv/cobidas_neurovault.csv ) into a
114- schema that can then be render with the schema-ui.
123+ one activity. In our case, we are using it to define to break a checklist
124+ into sub-sections of a method section like preprocessing, design,
125+ participants...
115126
127+ 1 . The highest level is the ` protocol level ` that contains a set of activities.
128+ At the moment this level is under-used in our checklist but could be used to
129+ define activity sets for different use case: fMRI, MEEG, pre-registration...
116130
117- ## Implementation
118-
119- <!-- TODO -->
120-
121- The first step of the implementation involves taking a spreadsheet that contains
122- all the items of the checklist and turning that into a representation that can
123- efficiently link the metadata about each item to the data imputed by the user.
124- We are currently using the
125- [ ReproSchema] ( https://github.com/ReproNim/reproschema ) initiative from
126- [ ReproNim] ( http://www.repronim.org/ ) to do this. Basically, it means turning
127- your 'dumb' spreadsheet into an equivalent but 'smarter' representation of it: a
128- bunch of hierarchically organized json files that link to each other.
131+ If you want to know more about Reproschema, we suggest you have look at the
132+ documentation
129133
130- On top of the inherent
131- [ advantages] ( https://github.com/ReproNim/reproschema#30-advantages-of-current-representation )
132- of this schema representation:
133-
134- - its use simplifies the rendering of the checklist by using the
135- [ schema-ui] ( https://github.com/ReproNim/schema-ui ) made for it,
134+ - [ main documentation] ( https://www.repronim.org/reproschema/ )
135+ - [ FAQ] ( https://www.repronim.org/reproschema/98_FAQ/ )
136136
137- - this representation allows specification of user interface options that can
138- simplify the user experience: it allows us to specify a branching logic that
139- will prevent users to be presented with items that are not relevant to them
140- (e.g. answer PET-related questions when they have only run an fMRI study).
137+ We are also trying to extend the content of the documentation of the
138+ reproschema. You can keep track of this in this
139+ [ pull request ] ( https://github.com/ReproNim/reproschema/pull/399 ) and here on
140+ [ github ] ( https://github.com/Remi-Gau/reproschema/tree/remi-documentation/docs )
0 commit comments