Skip to content

Commit 2e3576e

Browse files
authored
Merge pull request #176 from Remi-Gau/remi-dev
update doc general organization
2 parents 5fb9350 + d25e047 commit 2e3576e

13 files changed

Lines changed: 186 additions & 133 deletions

.travis.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ branches:
1010
before_script:
1111
- npm install `cat npm-requirements.txt`
1212
script:
13-
- remark . --frail
13+
- remark ./docs/ --frail
14+
- remark ./inputs/ --frail

docs/10-motivations.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,25 @@ For example, a researcher would have to write or rewrite some aspects of the
4747
methods used when
4848

4949
1. when preparing a pre-registration describing the planned study
50+
5051
1. during the data curation process that usually involves adding metadata
5152
elements that relate to the details of the data acquisition,
53+
5254
1. when actually working the methods and results section where we have to back
5355
and forth to the code we used to run the experiment and to the dataset to
5456
make sure important details are accurately reported,
57+
5558
1. when sharing raw or derived data which also usually involves adding a
5659
minimum of methods-related metadata if the shared data is to be meaningfully
5760
reusable.
5861

5962
Another source of inefficiency is the time lost trying to figure out:
6063

6164
- what the authors of a paper actually did
65+
6266
- when we would like to compare our results to theirs
63-
- when reviewing papers
67+
- when reviewing papers
68+
6469
- what we actually did 6 months ago but forgot to make a note of it.
6570

6671
So a potential side effect of using a checklist to systematically capture how

docs/20-goals.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,18 @@ We envision that using checklists to report methods and results can:
2020
we want an app to help **document** pipelines to improve the reproducibility
2121
of our work and to reduce inefficiencies and frictions when trying to build
2222
on each other's work.
23+
2324
1. facilitate the creation and preparation of pre-registration and registered
2425
reports by reminding of future analysis steps that we might otherwise
2526
overlook or forget about: in other words we want an app to help us think
2627
about and **create** pipelines before we start collecting data.
28+
2729
1. help make peer-review more objective: we want an app to help us **check**
2830
pipelines.
31+
2932
1. facilitate systematic literature reviews and meta-analyses (use the app to
3033
**read** pipelines)
34+
3135
1. facilitate data sharing (use the app to **standardize** the report of
3236
information on a pipeline)
3337

@@ -37,6 +41,7 @@ The implementation of this project should remain flexible enough to:
3741

3842
- accommodate the inclusion of new items in the checklist as new methods
3943
mature (e.g. new multivariate analysis, high-resolution MRI...),
44+
4045
- easily fork the project and convert it to create a checklist-website for a
4146
different field.
4247

docs/21-short-term.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,13 @@ So far the common short goals of all the versions of the app (for MRI, PET...)
1111
are:
1212

1313
- Create a set of tools and a proof of concept web-app that can:
14+
1415
- convert a set of spreadsheet of items into a schema that represents all
1516

1617
- from this schema generate a checklist to be clicked through by users,
18+
1719
- outputs a set of JSON-LD files once the user is done,
20+
1821
- generate a method section using these JSON-LD files and some boilerplate
1922
template of a method section where the content of the JSON-LD files
2023
could be reinjected.
@@ -25,6 +28,7 @@ For the spreadsheets that represent the recommendation guidelines, the initial
2528
curation process must:
2629

2730
- identify high-priority items for each checklist,
31+
2832
- ensure that those high priority items has been properly atomized (meaning
2933
that it is only made of a single question) and curated (define an item name,
3034
a question, the type of response expected and an eventual list of response
@@ -60,8 +64,10 @@ The main short term goals for the MEEG version are:
6064
both versions by extracting the common parts into standalone spreadsheets:
6165
for example there could be one common spreadsheet for participant sample
6266
description.
67+
6368
- Consolidate the other items of the spreadsheet, as it is still missing a lot
6469
of information
70+
6571
- Identify high-priority items in the checklist (similar to Carp 2012 for
6672
fMRI, e.g.
6773
[Luck & Gaspelin 2015](https://doi.org/10.1111/psyp.12639))

docs/22-mid-term.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,16 @@ they used this technique in a previous section of the checklist.
2323

2424
### Improving the wording
2525

26-
The questions of the checklist must be as unambiguous as possible. This
27-
should be improved through early user feedback.
26+
The questions of the checklist must be as unambiguous as possible. This should
27+
be improved through early user feedback.
2828

2929
## Extended checklists
3030

31-
Right now, several of the [prototypes](https://github.com/Remi-Gau/eCobidas/tree/master/README.md#prototypes) contains only a
32-
subset of all the questions from the reports they came from. For example, the
33-
MRI checklist only contain the items corresponding to the metadata of a
34-
collection of results uploaded on [Neurovault](https://neurovault.org/).
31+
Right now, several of the
32+
[prototypes](https://github.com/Remi-Gau/eCobidas/tree/master/README.md#prototypes)
33+
contains only a subset of all the questions from the reports they came from. For
34+
example, the MRI checklist only contain the items corresponding to the metadata
35+
of a collection of results uploaded on [Neurovault](https://neurovault.org/).
3536

3637
In the near future, we want to be able to extend those checklists so they
3738
include **all** the items listed in their guidelines.

docs/23-long-term.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ standards for data and results like:
5050

5151
1. the brain imaging data structure ([BIDS](http://bids.neuroimaging.io/)) used
5252
for that study,
53+
5354
1. the [NIDM results](http://nidm.nidash.org/specs/nidm-results_130.html) of
5455
any mass-univariate analysis performed for this study.
5556

docs/30-general-organization.md

Lines changed: 97 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,117 @@
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
7593
efficiently 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)
84102
of 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

96116
1. 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.
100120
1. 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

Comments
 (0)