Open Science Framework (OSF)
OSF
The Open Science Framework (OSF) [1] [2] is a tool that promotes open, centralized workflows by enabling capture of different aspects and products of the research lifecycle, including developing a research idea, designing a study, storing and analyzing collected data, and writing and publishing reports or papers. It is developed and maintained by the Center for Open Science (COS), a nonprofit organization founded in 2013 that conducts research into scientific practice, builds and supports scientific research communities, and develops research tools and infrastructure to enable managing and archiving research. As an organization, the COS encourages openness, integrity, and reproducibility in research across scientific disciplines. The OSF supports a variety of tools and services to assist in the research process. This review focuses primarily on the core functionality of the OSF, with brief descriptions of some of the other existing tools and services.
CWRU's OSF-for-Institutions link is case.edu/osf.
Additional Case-specific information on OSF can be found in KSL's LibGuide to OSF.
Create an OSF project
Signup or Sign through institution if it is listed (OSF Sign In)
Once you are in the dashboard (See Fig. 1), you can click on Create new project button.
Fig. 1: OSF Portal
Your project is assigned a unique project ID (srxxx) which has different fields (Fig. 2) to better organize your project.
Fig. 2: Project (ID: sr73m) with Fields - Wiki, Files, Citations, Data, Tags etc.
You can add different components (e.g. Data, Component, Analysis) clicking on "Add Component Button" under "Components" within the project which behave as a mini projects with their own Project IDs.
Manage the files: File -> Upload/Delete/create; Create/edit a Wiki Page using markup: Wiki -> new/edit; Add contributors and set the permission in a granular level even for components. Also link it to other projects: Contributors -> Add or link to the projects; The citations are created by default under "Citations" and additional citations can be added: Citations -> click on drop down button -> Get more citations; attach your cloud storage sources: Add-ons -> Enable -> box select the files; clone/Fork/Duplicate your project: click on branch logo on the right of "Make Public" and select one. Make your project public, you have granular selection option after you continue after the warning and it also allows you set the date after which it goes to public: Make Public.
OSFCLIENT CLI in HPC
Request a compute node
srun --pty bash
Load the singularity module to get the container with osfclient App
module load singularity
Run the CLI commands [3]
Get the help:
singularity exec $OSFCLIENT osf -h
output:
usage: osf [-h] [-u USERNAME] [-p PROJECT] [-v]
{clone,init,fetch,list,ls,upload,remove,rm} ...
osf is a command-line program to up and download
files from osf.io.
These are common osf commands:
init Set up a .osfcli.config file
clone Copy all files from all storages of a project
fetch Fetch an individual file from a project
list List all files from all storages for a project
upload Upload a new file to an existing project
remove Remove a file from a project's storage
See 'osf <command> -h' to read about a specific command.
positional arguments:
{clone,init,fetch,list,ls,upload,remove,rm}
optional arguments:
-h, --help show this help message and exit
-u USERNAME, --username USERNAME
OSF username. Provide your password via OSF_PASSWORD
environment variable
-p PROJECT, --project PROJECT
OSF project ID
Setup .osfcli.config file (one time only). You will have that file created at your home directory.
singularity exec $OSFCLIENT osf init
Prompts:
Provide a username for the config file [current username: ]:
<username for OSF account>
Provide a project for the config file [current project: ]:
<project or component ID> e.g. srxxx
List the Files.
singularity exec $OSFCLIENT osf -p <projectID> -u <OSF-username> list
output:
Please input your password:
osfstorage/Data/osf/delme
osfstorage/Data/osf/test
box/2018 4 13 CI Preasentation-Gheorghe.pptx
googledrive/SC18 Reviews.gdoc
Note the default osfstorage, box and googledrive directories
Upload the FIle "test" in the "Data" directory as "delme"
singularity exec $OSFCLIENT osf -p <projectID> -u <OSF-username> upload ./test Data/delme
Upload a directory osf in a Data directory at OSF project
singularity exec $OSFCLIENT osf -p <ProjectID> -u <OSF-username> upload -r osf Data
Remove a file
singularity exec $OSFCLIENT osf -p <ProjectID> -u <OSF-username> rm Data/test
References:
[1] OSF NCBI
[2] OSF Home
[3] OSF Client (CLI) User Guide
[4] Ivory Blog