|
8 | 8 |
|
9 | 9 | #### 🚧 Current Status: Incubating - JZFS is not ready for production usage. The API is still evolving and documentation is lacking.
|
10 | 10 |
|
11 |
| -JZFS is a distributed git storage service for the Rust programming language that prioritizes ease-of-use. It supports both Single Machine as well as some distributed environments, including Kubernetes and more. Note that JZFS does not hide the store; instead, JZFS exposes features based on the target distributed git storage service. |
| 11 | +JZFS is a version control filesystem based on Git protocol for data management and publication with a command line interface and a Python API. With JZFS, you can version control arbitrarily large data, share or consume data, record your data’s provenance, and work computationally reproducible. |
12 | 12 |
|
13 | 13 | ## Current Status and Roadmap
|
14 | 14 |
|
15 | 15 | JZFS is still in the early development stages and is considered **incubating**. There is no commitment to ongoing maintenance or development. As the project evolves, this may change in the future. Therefore, we encourage you to explore, experiment, and contribute to JZFS, but do not attempt to use it in production.
|
16 | 16 |
|
17 | 17 | The immediate next steps for the project are to fill obvious gaps, such as implementing error handling, removing panics throughout the codebase, supporting additional data types, and writing documentation. After that, development will be based on feedback and contributions.
|
18 | 18 |
|
| 19 | +### Reserach Data Management |
| 20 | + |
| 21 | +JZFS is based on Git with extend capabilities, especially with respect to managing large files. |
| 22 | + |
| 23 | +JZFS is a data management software designed to support the various stages |
| 24 | +of the development of digital objects. |
| 25 | + |
| 26 | +Importantly, JZFS can be seen as an overlay on top of existing data |
| 27 | +structures and services: Tracking files does not change the files themselves or the location from which they can |
| 28 | +be retrieved by data processing tools. |
| 29 | + |
| 30 | +JZFS is used to collect |
| 31 | +all experimental metadata about the complete timeline of longitudinal and multimodal animal experiments, |
| 32 | +including MRI, histology, electrophysiology, and behavior. |
| 33 | + |
| 34 | + |
| 35 | +Project planning and experimental details are recorded in an in-house relational cloud-based database. |
| 36 | + |
| 37 | +A key element for both the database and the data storage is the |
| 38 | +identifier, the study ID for each animal, used in a standardized fle name structure to make the data findable. |
| 39 | + |
| 40 | +Te directory structure for the raw data follows the permit of performing animal experiments. Te data for a |
| 41 | +specific project is organized following the YODA principles (https://handbook.datalad.org/en/latest/basics/101-127-yoda.html), which is compatible with existing standards, e.g., the BIDS structure. |
| 42 | + |
| 43 | +In preparation for publication and to facilitate |
| 44 | +data reproducibility, the experimental raw and processed data is made publicly available on GitData.AI. |
| 45 | + |
| 46 | + |
| 47 | +JZFS is used as the central data management tool (Fig. above) and for version control: It keeps track of which |
| 48 | +files were modified, when, and by whom, and provides the ability to restore previous states. To this end, JZFS |
| 49 | +is agnostic of the data type and provides a unified interface for managing code and data files. |
| 50 | + |
| 51 | + |
| 52 | +#### joint management of code, data, and their relationship |
| 53 | + |
19 | 54 |
|
20 | 55 | ### Added value
|
21 | 56 | Our central use case is the DataHub(Like Github, buf for Data),which essentially consists of a Git version control for data and a Git collaboration for data.
|
|
0 commit comments