# FAIRPoints- Enhancing Sample Provenance and Experimental Reproducibility :::danger **Date**: May 30th 2022 **Event Summary:** [FAIRPoints_Point_5](https://www.fairpoints.org/fairpoints_resources/) ::: **Speaker:** Rory Macneil **Bio:** Rory Macneil is CEO of Research Space, which provides RSpace, an electronic lab notebook and research data management platform, and host of the FAIR Data Podcast. In these roles, and through participation in organizations and forums like the Research Data Alliance, numerous conferences and events, and conversations with researchers, research data managers, policy makers, funders, and tools developers, he enjoys exploring practical ways in which FAIRification of data can be advanced. **Intro slides:** https://shiny.link/dvu6zT **Keynote slides:** Participants #:17 ### Agenda: | Time | Agenda | Speaker | | ----------- | ------------------------------------- | ------------ | | 16:00-16:10 | Welcome, Housekeeping & introductions | Sara | | 16:10-16:55 | Keynote + Q&A | Rory Macneil | | 16:55-17:00 | Wrap-up | Sara | ### Links: - **Slack:** [shiny.link/F71wE](https://shiny.link/F71wE) - **Monthly Community Discussions** April 29th 2022 πŸ‘‰ https://shiny.link/Jl6nuV - FAIR4Beginners - FAIR Forum - Schemas for training events-FAIRPoints - Sign-up to **event series** πŸ‘‰ https://bit.ly/3BEQ06X - To get in touch with speakers-Twitter: @FAIRdataPodcast @rory_macneil ---- ## Code of Conduct reminder * Be respectful, honest, inclusive, accommodating, appreciative, and open to learning from everyone else. * Do not attack, demean, disrupt, harass, or threaten others or encourage such behavior. * Be patient, allow others to speak, and use the zoom reactions & chat if you would like to voice something. * See also our [participation guidelines](https://www.fairpoints.org/participation_guides/). # Rollcall: πŸ—£ Name / 🐸 pronouns/ πŸ“£ Social media handle # Q&A: :::success ❓ *Please add any questions you might have during the course of the session here:* ::: * Is RSpace a sink, or can it also act as a source, i.e. other tools can ingest RSpace documents/metadata and repurpose? That is, what makes RSpace "not another silo" subject to future integration/export effort? ResearchSpace: RSpace is designed to be a conduit for information rather than just a place to store notes. The modern API allows users to push or pull data into or out third party sources and destinations. More about our below.... https://researchspace.helpdocs.io/category/ifpi5pwbck-for-developers direct link to swagger documentation: https://community.researchspace.com/public/apiDocs Our API github page here: https://github.com/rspace-os For a tutorial see: https://github.com/rspace-os/api-tutorial For more on using Python with our API see: https://pypi.org/project/rspace-client/ For a good example of how our partner ChemAxon has utilized this API to integrate with their assay management system see: https://youtu.be/2N2dDMjK4JM Round trip data analysis using Jupyter: https://researchspace.helpdocs.io/article/5xqzm36v9t-video-round-trip-data-analysis-using-jupyter-notebook-and-the-rspace-api As another simple example, here is a curl script you can use in the terminal of your mac to ingest files to the RSpace gallery. curl -X POST -H "accept: application/json" -H "apiKey: [add your API Key here]β€œ -H "content-type: multipart/form-data" -F "file=@ [add the path to a target file here]β€œ -F "caption=Demo input of image file using API and command line" β€œ[add the URL of your server here]/api/v1/files” https://youtu.be/4p5aiBSmHLc ________________________________________________________________________ More about the RSpace CLI: There is also a Command Line Interface (CLI) available. You can read more about that here: https://github.com/richarda23/rspace-cli Here is an example of how you might use the CLI to create RSpace LabGroups: 1. Download the RSpace CLI for your platform. https://bintray.com/ra22597/rspace-cli/rspace-cli/0.0.14 2. Give it executable permissions: chmod 755 <NAMEOFEXEfile> 3. Create a file in the same folder as the executable with 'sysadmin-community.env' and add these 2 lines, save it RSPACE_API_KEY=<SYSADMIN_API_KEY> RSPACE_URL=https://community.researchspace.com/api/v1 4. Keep the config file secret: chmod 400 sysadmin-community.env ---- to create a group 5. Run a command like this: ./rspace eln addGroup --name daltongroup2 --pi jdalton --members mpostdoc,testaccount1 --config sysadmin-community.env and get output like this : Id Name Type SharedFolderId Members 17301506 daltongp2 LAB_GROUP 814701 jdalton;mpostdoc;t.. Small print related to above steps... Step 1 - the most up to date version link can be found on Github: https://github.com/richarda23/rspace-cli ( see download link in 'Downloading section) Step 3 - Config file can be anything you like but must have .env suffix. Step 5 - Members string is comma-separated list of usernames NO SPACEs Run ./rspacex eln addGroup --help for helpdocs. Note that the restriction 'user must have logged in once' is no longer an issue. BUT the user accounts must exist. ( you can create users via 'addUser' command) Why use this rather than curl? β€’ More secure - api keys are in files rather than logged to command line β€’ POSTing stuff with curl has tricky syntax with quotes and curly braces, this is much simpler β€’ Nicer output rather than JSON dump (although you can get output in various formats using -f option) * Is RSpace data access protocol to connect e.g. Dropbox et al. open and can others implement it ([A1.1](https://w3id.org/fair/principles/terms/A1.1))? ResearchSpace: I believe so, yes, using the API. * How is (meta)data represented in RSpace (after importing from e.g. protocols.io et al.) ("language for knowledge representation", [I1](https://w3id.org/fair/principles/terms/I1))? ResearchSpace: Several ways. Metadata can appear in distinct categories in the "info" panel for any item, or included as tags or captions, or can be inserted into specific fields within the RSpace documemts themselves. * What is the basis/provenance of the RSpace Inventory API? Is it a bespoke API, or does it build on / extend / reuse prior art in API specification? ResearchSpace: The RSpace API is based on REST * What controlled vocabularies does RSpace Inventory use for samples, subsamples, containers, etc.? [I2](https://w3id.org/fair/principles/terms/I2) ResearchSpace: RSpace is extremely flexible and for subsamples, users themselves can specify the language they want to use. * How does RSpace track and make inspectable the provenance of importing (e.g. CSV column conversions)? [R1.2](https://w3id.org/fair/principles/terms/R1.2)? Looks like the "audit" function. ResearchSpace: Correct. What is representation (not just the format e.g. CSV) of audit export, i.e. I1? ResearchSpace: You are welcome to create or request an exported file to examine it for yourself. * What is the representation of sample templating? [I](https://w3id.org/fair/principles/terms/I). ResearchSpace: Sample templates can be created by users to match any standardized format they like. * What are your plans for PIDs? ResearchSpace: Still in planning stage but essentially we hope to offer the ability for users to associate PIDs with any sample or subsample in the system. * ## Notes: * exporting to repositories - [F4](https://w3id.org/fair/principles/terms/F4). * "integrations" -> qualified references, i.e. [I3](https://w3id.org/fair/principles/terms/I3). * RSpace Inventory API - https://demos.researchspace.com/public/apiDocs?urls.primaryName=RSpace%20Inventory * Help docs for RSpace inventory system - https://researchspace.helpdocs.io/category/zpizk20kgx-inventory * Demo by Rob Day, head of sales and product, rob@researchspace.com * Research resource identifiers https://www.rrids.org/ * IGSNs https://www.igsn.org/ ("international geo samples number?") * If you have questions you can email rob@researchspace.com * :::info # FAIRPoints- What is your take home message from todays session? *✏️ Silent documenting of learning outcomes+ share outs, add +1.* ::: * * * * * * # Thank you for joining! πŸŽ‰ ## 5 ways to stay involved * Sign-up to event series: [https://bit.ly/3BEQ06X](https://bit.ly/3BEQ06X) * Website: https://www.fairpoints.org/ * Twitter: [@FAIR_Points](https://twitter.com/FAIR_Points) * Slack: [shiny.link/F71wE](https://shiny.link/F71wE) * Email: [fairpoints@protonmail.com](mailto:fairpoints@protonmail.com)