Nipype interfaces in CBRAIN

Nipype interfaces in CBRAIN Tristan Glatard, Samir Das, Reza Adalat, Natacha Beck, Rémi Bernard, Najmeh Khalili-Mahani, Pierre Rioux, Marc-Étienne Rousseau, Alan C. Evans McGill Centre for Integrative Neuroscience (MCIN), Ludmer Centre for Neuroinformatics and Mental Health, Montreal Neurological Institute (MNI), McGill University, Montréal, Québec, Canada; University of Lyon, CNRS, INSERM, CREATIS., Villeurbanne, France Correspondence: Tristan Glatard (tristan.glatard@mcgill.ca) – McGill Centre for Integrative Neuroscience (MCIN), Ludmer Centre for Neuroinformatics and Mental Health, Montreal Neurological Institute (MNI), McGill University, Montréal, Québec, Canada GigaScience 2016, 5(Suppl 1):A11


Introduction
We aim at the large-scale, automatic sharing of software tools between neuroimaging processing platforms, which will increase the relevance of such platforms by providing them with richer repositories of higher-quality tools. Currently, efforts are hampered by the repetitive porting of the same few tools in different platforms. During the HBM 2015 Hackathon, we worked on the export of software tools from the Nipype workflow engine [1] to the CBRAIN web platform for distributed computing [2]. Nipype includes a large number of tools that would be useful to CBRAIN users.

Approach
We developed nipype2boutiques, a tool to export Nipype interfaces to the "Boutiques" tool description format (step 1. on Fig. 10.). Boutiques descriptions are importable by CBRAIN and other platforms (Virtual Imaging Platform [3] and the Pegasus workflow engine [4]). They point to a Docker image containing the implementation of the tool. nipype2boutiques relies on nipype_cmd a tool to run Nipype Interfaces as Linux command lines. nipype2boutiques parses the inputs and outputs of a Nipype interface and extracts their name, type, description and position on the nipype_cmd command line. nipype2boutiques then generates a Boutiques descriptor pointing to a Docker image where the Nipype interface is available. Once a Nipype interface is exported using nipype2boutiques it can be imported to CBRAIN.

Results
We tested nipype2boutiques on a few Nipype interfaces from the FSL Nipype module. We exported 64 FSL tools automatically from Nipype to CBRAIN, and made them available [https://github.com/glatard/boutiques-nipype-fsl]. Limitations remain on the type of Nipype interface that can be exported by nipype2boutiques: in particular, InputMultiPath is? currently not supported, and output files have to be written in the execution directory of the Nipype Interface.

Conclusions
We prototyped a software tool to export Nipype Interfaces as Boutiques descriptors, which can be imported by CBRAIN and other platforms. Although the solution is still limited to simple interfaces, we believe that it has the potential to enable fully automatic tool sharing between Nipype and CBRAIN. Future extensions of nipype2boutiques will be published in the Nipype Github repository [https://github. com/nipy/nipype]. We also plan on a tighter integration of Nipype workflows in CBRAIN, following the model adopted in [5].

Availability of Supporting Data
More information about this project can be found at: http:// cbrain.mcgill.ca.

Competing interests
None.
Author's contributions TG wrote the software and the report; SD contributed to the concept elaboration at the OHBM event, RA, NB, PR and MER provided support on the CBRAIN framework, RB implemented Boutiques in CBRAIN, NKM provided background information on fMRI packages, ACE spearheaded the project.

Introduction
Data analysis software and canonical datasets are the driving force behind many fields of empirical sciences. Despite being of paramount importance, those resources are most often not adequately cited. Although some can consider this a "social" problem, its roots are technical: Users of those resources often are simply not aware of the underlying computational libraries and methods they have been using in their research projects. This in-turn fosters inefficient practices that encourage the development of new projects, instead of contributing to existing established ones. Some projects (e.g. FSL [1]) facilitate citation of the utilized methods, but such efforts are not uniform, and the output is rarely in commonly used citation formats (e.g. BibTeX). DueCredit is a simple framework to embed information about publications or other references within the original code or dataset descriptors. References are automatically reported to the user whenever a given functionality or dataset is being used. Approach DueCredit is currently available for Python, but we envision extending support to other frameworks (e.g., Matlab, R). Until DueCredit