Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codespellrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[codespell]
skip = *.js,*.svg,*.eps,.git,env,*build,bids-examples,coverage_html,schema.json
skip = *.js,*.svg,*.eps,.git,env,*build,bids-examples,coverage_html,schema.json,docs/paper/paper.bib
ignore-words-list = te,ans,nin
builtin = clear,rare
3 changes: 3 additions & 0 deletions docs/paper/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.html
*.pdf
*.docx
79 changes: 79 additions & 0 deletions docs/paper/checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
## General checks

Repository:

Is the source code for this software available at the https://github.com/JamesPHoughton/pysd/?

License:

Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?

Contribution and authorship:

Has the submitting author (@rogersamso) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Substantial scholarly effort:

Does this submission meet the scope eligibility described in the JOSS guidelines

## Functionality

Installation:

Does installation proceed as outlined in the documentation?

Functionality:

Have the functional claims of the software been confirmed?

Performance:

If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

## Documentation

A statement of need:

Do the authors clearly state what problems the software is designed to solve and who the target audience is?

Installation instructions:

Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.

Example usage:

Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).

Functionality documentation:

Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?

Automated tests:

Are there automated tests or manual steps described so that the functionality of the software can be verified?

Community guidelines:

Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

## Software paper

Summary:

Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?

A statement of need:

Does the paper have a section titled 'Statement of Need' that clearly states what problems the software is designed to solve and who the target audience is?

State of the field:

Do the authors describe how this software compares to other commonly-used packages?

Quality of writing:

Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?

References:

Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?
81 changes: 81 additions & 0 deletions docs/paper/metadata.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# yml front matter for paper from citaton.cff file

import ruamel.yaml
from pathlib import Path
from rich import print

from datetime import datetime

yaml = ruamel.yaml.YAML()
yaml.indent(mapping=2, sequence=4, offset=2)

CITATION_CFF = Path(__file__).parent.parent.parent.joinpath("CITATION.cff")

first_author = "Gau"
sort_authors_alphabetically = True


def return_author_order(author_list, first_author):
"""Return the order of authors in the paper."""
author_order = [x["family-names"].strip() for x in author_list]
if sort_authors_alphabetically:
author_order = sorted(author_order)
author_order.pop(author_order.index(first_author))
author_order.insert(0, first_author)
print(author_order)
return author_order


def main():
with open(CITATION_CFF, encoding="utf8") as f:
citation = yaml.load(f)

author_order = return_author_order(citation["authors"], first_author)
author_names = [x["family-names"].strip() for x in citation["authors"]]

author_list = []
affiliation_list = []

for this_author_name in author_order:

author = citation["authors"][author_names.index(this_author_name)]

this_author = {
"name": f"{author['given-names']} {author.get('family-names', '')}".strip()
}

if author.get("orcid", None) is not None:
this_author["orcid"] = author.get("orcid").replace("https://orcid.org/", "")

if author.get("affiliation") is not None:

this_affiliation = author.get("affiliation")
affiliation_list_names = [x["name"] for x in affiliation_list]

if this_affiliation not in affiliation_list_names:
affiliation_list.append(
{"name": this_affiliation, "index": len(affiliation_list) + 1}
)

affiliation_list_names = [x["name"] for x in affiliation_list]
this_author["affiliation"] = (
affiliation_list_names.index(this_affiliation) + 1
)

author_list.append(this_author)

content = {
"title": "",
"tags": citation["keywords"],
"authors": author_list,
"affiliations": affiliation_list,
"date": datetime.now().strftime("%Y-%m-%d"),
"bibliography": "paper.bib",
}

with open("metadata.yml", "w", encoding="utf8") as output_file:
return yaml.dump(content, output_file)


if __name__ == "__main__":
main()
62 changes: 62 additions & 0 deletions docs/paper/metadata.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
title: ''
tags:
- MATLAB
- Octave
- brain imaging data structure
- MRI
- MEG
- EEG
- iEEG
- PET
- microscopy

authors:
- name: Rémi Gau
orcid: 0000-0002-1535-9767
affiliation: 1
- name: Marco Barilari
orcid: 0000-0002-3313-3120
affiliation: 1
- name: Ceren Battal
orcid: 0000-0002-9844-7630
affiliation: 1
- name: Nikita Beliy
- name: Rotem Botvinik-Nezer
- name: Jeanne Caron-Guyon
orcid: 0000-0001-8681-5267
affiliation: 1
- name: Phillips Chrisophe
orcid: 0000-0002-4990-425X
- name: Tanguy Duval
orcid: 0000-0002-1228-5192
- name: Guillaume Flandin
orcid: 0000-0003-0077-7859
- name: Andrew Janke
- name: Michèle MacLean
orcid: 0000-0002-0174-9326
affiliation: 2
- name: Christopher Madan
orcid: 0000-0003-3228-6501
- name: Henk Mutsaerts
orcid: 0000-0003-0894-0307
- name: Guiomar Niso
orcid: 0000-0001-5872-8924
- name: Martin Norgaard
orcid: 0000-0003-2131-5688
- name: Robert Oostenveld
orcid: 0000-0002-1974-1293
- name: Cyril Pernet
orcid: 0000-0003-4010-4632
- name: Iqra Shahzad
orcid: 0000-0002-8724-7668
affiliation: 1
- name: Michał Szczepanik
orcid: 0000-0002-4028-2087
affiliations:
- name: Université catholique de Louvain
index: 1
- name: Université de Montréal
index: 2
date: '2022-10-21'
bibliography: paper.bib
Loading
Loading