Welcome to RAPIDS documentation¶
Reproducible Analysis Pipeline for Data Streams (RAPIDS) allows you to process smartphone and wearable data to extract and create behavioral features (a.k.a. digital biomarkers), visualize mobile sensor data and structure your analysis into reproducible workflows.
RAPIDS is open source, documented, modular, tested, and reproducible. At the moment we support smartphone data collected with AWARE and wearable data from Fitbit devices.
Tip
Questions or feedback can be posted on the #rapids channel in AWARE Framework's slack.
Bugs and feature requests should be posted on Github.
Join our discussions on our algorithms and assumptions for feature processing.
Ready to start? Go to Installation, then to Configuration, and then to Execution
How does it work?¶
RAPIDS is formed by R and Python scripts orchestrated by Snakemake. We suggest you read Snakemake’s docs but in short: every link in the analysis chain is atomic and has files as input and output. Behavioral features are processed per sensor and per participant.
What are the benefits of using RAPIDS?¶
- Consistent analysis. Every participant sensor dataset is analyzed in the exact same way and isolated from each other.
- Efficient analysis. Every analysis step is executed only once. Whenever your data or configuration changes only the affected files are updated.
- Parallel execution. Thanks to Snakemake, your analysis can be executed over multiple cores without changing your code.
- Code-free features. Extract any of the behavioral features offered by RAPIDS without writing any code.
- Extensible code. You can easily add your own behavioral features in R or Python, share them with the community, and keep authorship and citations.
- Timezone aware. Your data is adjusted to the specified timezone (multiple timezones suport coming soon).
- Flexible time segments. You can extract behavioral features on time windows of any length (e.g. 5 minutes, 3 hours, 2 days), on every day or particular days (e.g. weekends, Mondays, the 1st of each month, etc.) or around events of interest (e.g. surveys or clinical relapses).
- Tested code. We are constantly adding tests to make sure our behavioral features are correct.
- Reproducible code. If you structure your analysis within RAPIDS, you can be sure your code will run in other computers as intended thanks to R and Python virtual environments. You can share your analysis code along your publications without any overhead.
- Private. All your data is processed locally.
How is it organized?¶
In broad terms the config.yaml
, .env
file, participants files, and time segment files are the only ones that you will have to modify. All data is stored in data/
and all scripts are stored in src/
. For more information see RAPIDS’ File Structure.