This commit implements a new feature to display a user-defined Galaxy Citation
within the "Export Tool References List". By default, this includes
a reference to the NAR paper, but this can be changed at runtime
via a galaxy.yml edit or by rebuilding the client with an updated
config_schma.yml. This feature was proposed and discussed here:
https://github.com/galaxyproject/galaxy/issues/19362
Summary of changes:
- Define a new configuration property for citation_bibtex with a reference to the current main galaxy paper.
- Inject that as a citation within the Export Tool Refernences to diplay alongside other tools used in the current history.
- Uses the Cite() package to format in bibtex or APA as needed (as done for all other tools too)
- Updates the docs, and schema as needed to provide the default value and description
This commit implements a FilesSource that interacts with an RSpace [1] instance and includes a file source template so that users can define their own file sources based on it.
RSpace is an electronic lab notebook
(ELN) designed for documenting, managing and sharing scientific data. The central concepts in RSpace are the Workspace,
the Inventory and the Gallery.
The Workspace's role is organizing and managing research activities. It allows creating documents, folders and research
notebooks [2]. The Inventory is a tool to keep track of laboratory resources, such as reagents, samples and equipment
[3]. The Gallery is where any research data represented as files is stored [4].
The FilesSource implemented by this module accesses the Gallery of an RSpace instance. The Gallery is organized in
categories (e.g. Images, Audio, Documents, Chemistry), where each category is itself a tree structure with folders and
files just like a regular filesystem, although there is a key difference: categories and their subfolders can only
contain files of certain types (e.g. jpeg, bmp, png, etc. for the Images category).
This implementation is based on the rspace-client-python` library [5], which provides a PyFilesystem2 [6] interface
to interact with RSpace's Gallery (available as `GalleryFilesystem` in the rspace_client.eln.fs` module). It
consists just of a minimal wrapper (based on the base `PyFilesystem2FilesSource` provided by Galaxy) around the
`GalleryFilesystem` class.
References:
- [1] https://www.researchspace.com/
- [2] https://documentation.researchspace.com/article/bzgr8ea9e3-the-workspace
- [3] https://documentation.researchspace.com/category/zpizk20kgx-inventory
- [4] https://documentation.researchspace.com/article/sl6mo1i9do-the-gallery
- [5] https://github.com/rspace-os/rspace-client-python
- [6] https://docs.pyfilesystem.org/