Deployed 7facbe0 to 0.1 with MkDocs 1.1.2 and mike 0.6.0.dev0

pull/106/head
JulioV 2020-11-09 13:05:06 -05:00
parent f308810f5b
commit 06703bbd04
13 changed files with 29 additions and 30 deletions

View File

@ -907,7 +907,7 @@
<h1 id="add-new-features">Add New Features<a class="headerlink" href="#add-new-features" title="Permanent link">&para;</a></h1> <h1 id="add-new-features">Add New Features<a class="headerlink" href="#add-new-features" title="Permanent link">&para;</a></h1>
<div class="admonition hint"> <div class="admonition hint">
<p class="admonition-title">Hint</p> <p class="admonition-title">Hint</p>
<p>We recommend reading the <a href="/features/feature-introduction">Behavioral Features Introduction</a> before reading this page</p> <p>We recommend reading the <a href="features/feature-introduction">Behavioral Features Introduction</a> before reading this page</p>
</div> </div>
<div class="admonition hint"> <div class="admonition hint">
<p class="admonition-title">Hint</p> <p class="admonition-title">Hint</p>
@ -1051,8 +1051,8 @@
<details class="info"><summary>2. Filter your data to process only those rows that belong to <code>day_segment</code></summary><p>This step is only one line of code, but to undersand why we need it, keep reading. <details class="info"><summary>2. Filter your data to process only those rows that belong to <code>day_segment</code></summary><p>This step is only one line of code, but to undersand why we need it, keep reading.
<div class="highlight"><pre><span></span><code><span class="n">acc_data</span> <span class="o">=</span> <span class="n">filter_data_by_segment</span><span class="p">(</span><span class="n">acc_data</span><span class="p">,</span> <span class="n">day_segment</span><span class="p">)</span> <div class="highlight"><pre><span></span><code><span class="n">acc_data</span> <span class="o">=</span> <span class="n">filter_data_by_segment</span><span class="p">(</span><span class="n">acc_data</span><span class="p">,</span> <span class="n">day_segment</span><span class="p">)</span>
</code></pre></div></p> </code></pre></div></p>
<p>You should use the <code>filter_data_by_segment()</code> function to process and group those rows that belong to each of the <a href="/setup/configuration/#day-segments">day segments RAPIDS could be configured with</a>.</p> <p>You should use the <code>filter_data_by_segment()</code> function to process and group those rows that belong to each of the <a href="setup/configuration/#day-segments">day segments RAPIDS could be configured with</a>.</p>
<p>Let&rsquo;s understand the <code>filter_data_by_segment()</code> function with an example. A RAPIDS user can extract features on any arbitrary <a href="/setup/configuration/#day-segments">day segment</a>. A day segment is a period of time that has a label and one or more instances. For example, the user (or you) could have requested features on a daily, weekly, and week-end basis for <code>p01</code>. The labels are arbritrary and the instances depend on the days a participant was monitored for: </p> <p>Let&rsquo;s understand the <code>filter_data_by_segment()</code> function with an example. A RAPIDS user can extract features on any arbitrary <a href="setup/configuration/#day-segments">day segment</a>. A day segment is a period of time that has a label and one or more instances. For example, the user (or you) could have requested features on a daily, weekly, and week-end basis for <code>p01</code>. The labels are arbritrary and the instances depend on the days a participant was monitored for: </p>
<ul> <ul>
<li>the daily segment could be named <code>my_days</code> and if <code>p01</code> was monitored for 14 days, it would have 14 instances</li> <li>the daily segment could be named <code>my_days</code> and if <code>p01</code> was monitored for 14 days, it would have 14 instances</li>
<li>the weekly segment could be named <code>my_weeks</code> and if <code>p01</code> was monitored for 14 days, it would have 2 instances.</li> <li>the weekly segment could be named <code>my_weeks</code> and if <code>p01</code> was monitored for 14 days, it would have 2 instances.</li>
@ -1108,7 +1108,7 @@
</code></pre></div> </code></pre></div>
</details> </details>
<h2 id="new-features-for-non-existing-sensors">New Features for Non-Existing Sensors<a class="headerlink" href="#new-features-for-non-existing-sensors" title="Permanent link">&para;</a></h2> <h2 id="new-features-for-non-existing-sensors">New Features for Non-Existing Sensors<a class="headerlink" href="#new-features-for-non-existing-sensors" title="Permanent link">&para;</a></h2>
<p>If you want to add features for a device or a sensor that we do not support at the moment (those that do not appear in the <code>"Existing Sensors"</code> list above), <a href="/team">contact us</a> or request it on <a href="/">Slack</a> and we can add the necessary code so you can follow the instructions above.</p> <p>If you want to add features for a device or a sensor that we do not support at the moment (those that do not appear in the <code>"Existing Sensors"</code> list above), <a href="team">contact us</a> or request it on <a href="">Slack</a> and we can add the necessary code so you can follow the instructions above.</p>

View File

@ -928,7 +928,7 @@
</code></pre></div> </code></pre></div>
</div> </div>
<h2 id="sensor-parameters">Sensor Parameters<a class="headerlink" href="#sensor-parameters" title="Permanent link">&para;</a></h2> <h2 id="sensor-parameters">Sensor Parameters<a class="headerlink" href="#sensor-parameters" title="Permanent link">&para;</a></h2>
<p>Each sensor configuration section has a <code>Parameters</code> subsection (see <code>#2</code> in the example). These are parameters that affect different aspects of how the raw data is download, and processed. The <code>TABLE</code> parameter exists for every sensor, but some sensors will have extra para meters like <a href="/features/phone-locations/"><code>[PHONE_LOCATIONS]</code></a>. We explain these parameters in a table at the top of each sensor documentation page.</p> <p>Each sensor configuration section has a <code>Parameters</code> subsection (see <code>#2</code> in the example). These are parameters that affect different aspects of how the raw data is download, and processed. The <code>TABLE</code> parameter exists for every sensor, but some sensors will have extra para meters like <a href="features/phone-locations/"><code>[PHONE_LOCATIONS]</code></a>. We explain these parameters in a table at the top of each sensor documentation page.</p>
<h2 id="sensor-providers">Sensor Providers<a class="headerlink" href="#sensor-providers" title="Permanent link">&para;</a></h2> <h2 id="sensor-providers">Sensor Providers<a class="headerlink" href="#sensor-providers" title="Permanent link">&para;</a></h2>
<p>Each sensor configuration section can have zero, one or more behavioral feature <strong>providers</strong> (see <code>#2</code> in the example). A provider is a script created by the core RAPIDS team or other researchers that extracts behavioral features for that sensor. For this accelerometer example we have two providers RAPIDS (see <code>#4</code>) and PANDA (see <code>#5</code>).</p> <p>Each sensor configuration section can have zero, one or more behavioral feature <strong>providers</strong> (see <code>#2</code> in the example). A provider is a script created by the core RAPIDS team or other researchers that extracts behavioral features for that sensor. For this accelerometer example we have two providers RAPIDS (see <code>#4</code>) and PANDA (see <code>#5</code>).</p>
<h3 id="provider-parameters">Provider Parameters<a class="headerlink" href="#provider-parameters" title="Permanent link">&para;</a></h3> <h3 id="provider-parameters">Provider Parameters<a class="headerlink" href="#provider-parameters" title="Permanent link">&para;</a></h3>

View File

@ -947,7 +947,7 @@
</ol> </ol>
</div> </div>
<h2 id="panda-provider">PANDA provider<a class="headerlink" href="#panda-provider" title="Permanent link">&para;</a></h2> <h2 id="panda-provider">PANDA provider<a class="headerlink" href="#panda-provider" title="Permanent link">&para;</a></h2>
<p>These features are based on the work by <a href="/citation#panda-accelerometer">Panda et al</a>.</p> <p>These features are based on the work by <a href="citation#panda-accelerometer">Panda et al</a>.</p>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">Available day segments and platforms</p> <p class="admonition-title">Available day segments and platforms</p>
<ul> <ul>
@ -1028,7 +1028,7 @@
<p class="admonition-title">Assumptions/Observations</p> <p class="admonition-title">Assumptions/Observations</p>
<ol> <ol>
<li>Analyzing accelerometer data is a memory intensive task. If RAPIDS crashes is likely because the accelerometer dataset for a participant is to big to fit in memory. We are considering different alternatives to overcome this problem.</li> <li>Analyzing accelerometer data is a memory intensive task. If RAPIDS crashes is likely because the accelerometer dataset for a participant is to big to fit in memory. We are considering different alternatives to overcome this problem.</li>
<li>See <a href="/citation#panda-accelerometer">Panda et al</a> for a definition of exertional and non-exertional activity episodes</li> <li>See <a href="citation#panda-accelerometer">Panda et al</a> for a definition of exertional and non-exertional activity episodes</li>
</ol> </ol>
</div> </div>

View File

@ -1003,7 +1003,7 @@
</table> </table>
</li> </li>
<li> <li>
<p>In AWARE, Activity Recognition data for Android and iOS are stored in two different database tables, RAPIDS automatically infers what platform each participant belongs to based on their <a href="/setup/configuration/#participant-files">participant file</a>.</p> <p>In AWARE, Activity Recognition data for Android and iOS are stored in two different database tables, RAPIDS automatically infers what platform each participant belongs to based on their <a href="setup/configuration/#participant-files">participant file</a>.</p>
</li> </li>
</ol> </ol>
</div> </div>

View File

@ -858,7 +858,7 @@
</tr> </tr>
<tr> <tr>
<td><code>[APPLICATION_CATEGORIES][CATALOGUE_FILE]</code></td> <td><code>[APPLICATION_CATEGORIES][CATALOGUE_FILE]</code></td>
<td>CSV file with a <code>package_name</code> and <code>genre</code> column. By default we provide the catalogue created by <a href="/citation#stachl-application-foreground">Stachl et al</a> in <code>data/external/stachl_application_genre_catalogue.csv</code></td> <td>CSV file with a <code>package_name</code> and <code>genre</code> column. By default we provide the catalogue created by <a href="citation#stachl-application-foreground">Stachl et al</a> in <code>data/external/stachl_application_genre_catalogue.csv</code></td>
</tr> </tr>
<tr> <tr>
<td><code>[APPLICATION_CATEGORIES][UPDATE_CATALOGUE_FILE]</code></td> <td><code>[APPLICATION_CATEGORIES][UPDATE_CATALOGUE_FILE]</code></td>
@ -871,7 +871,7 @@
</tbody> </tbody>
</table> </table>
<h2 id="rapids-provider">RAPIDS provider<a class="headerlink" href="#rapids-provider" title="Permanent link">&para;</a></h2> <h2 id="rapids-provider">RAPIDS provider<a class="headerlink" href="#rapids-provider" title="Permanent link">&para;</a></h2>
<p>The app category (genre) catalogue used in these features was originally created by <a href="/citation#stachl-application-foreground">Stachl et al</a>.</p> <p>The app category (genre) catalogue used in these features was originally created by <a href="citation#stachl-application-foreground">Stachl et al</a>.</p>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">Available day segments and platforms</p> <p class="admonition-title">Available day segments and platforms</p>
<ul> <ul>

View File

@ -883,11 +883,11 @@
<div class="admonition note"> <div class="admonition note">
<p class="admonition-title">Assumptions/Observations</p> <p class="admonition-title">Assumptions/Observations</p>
<p><strong>Types of location data to use</strong> <p><strong>Types of location data to use</strong>
AWARE Android and iOS clients can collect location coordinates through the phone's GPS, the network cellular towers around the phone or Google's fused location API. If you want to use only the GPS provider set <code>[LOCATIONS_TO_USE]</code> to <code>GPS</code>, if you want to use all providers (not recommended due to the difference in accuracy) set <code>[LOCATIONS_TO_USE]</code> to <code>ALL</code>, if your AWARE client was configured to use fused location only or want to focus only on this provider, set <code>[LOCATIONS_TO_USE]</code> to <code>RESAMPLE_FUSED</code>. <code>RESAMPLE_FUSED</code> takes the original fused location coordinates and replicates each pair forward in time as long as the phone was sensing data as indicated by <a href="/features/phone-data-quality/#phone-valid-sensed-bins"><code>PHONE_VALID_SENSED_BINS</code></a>, this is done because Google's API only logs a new location coordinate pair when it is sufficiently different in time or space from the previous one.</p> AWARE Android and iOS clients can collect location coordinates through the phone's GPS, the network cellular towers around the phone or Google's fused location API. If you want to use only the GPS provider set <code>[LOCATIONS_TO_USE]</code> to <code>GPS</code>, if you want to use all providers (not recommended due to the difference in accuracy) set <code>[LOCATIONS_TO_USE]</code> to <code>ALL</code>, if your AWARE client was configured to use fused location only or want to focus only on this provider, set <code>[LOCATIONS_TO_USE]</code> to <code>RESAMPLE_FUSED</code>. <code>RESAMPLE_FUSED</code> takes the original fused location coordinates and replicates each pair forward in time as long as the phone was sensing data as indicated by <a href="features/phone-data-quality/#phone-valid-sensed-bins"><code>PHONE_VALID_SENSED_BINS</code></a>, this is done because Google's API only logs a new location coordinate pair when it is sufficiently different in time or space from the previous one.</p>
<p>There are two parameters associated with resampling fused location. <code>FUSED_RESAMPLED_CONSECUTIVE_THRESHOLD</code> (in minutes, default 30) controls the maximum gap between any two coordinate pairs to replicate the last known pair (for example, participant A's phone did not collect data between 10.30am and 10:50am and between 11:05am and 11:40am, the last known coordinate pair will be replicated during the first period but not the second, in other words, we assume that we cannot longer guarantee the participant stayed at the last known location if the phone did not sense data for more than 30 minutes). <code>FUSED_RESAMPLED_TIME_SINCE_VALID_LOCATION</code> (in minutes, default 720 or 12 hours) stops the last known fused location from being replicated longer that this threshold even if the phone was sensing data continuously (for example, participant A went home at 9pm and their phone was sensing data without gaps until 11am the next morning, the last known location will only be replicated until 9am). If you have suggestions to modify or improve this resampling, let us know.</p> <p>There are two parameters associated with resampling fused location. <code>FUSED_RESAMPLED_CONSECUTIVE_THRESHOLD</code> (in minutes, default 30) controls the maximum gap between any two coordinate pairs to replicate the last known pair (for example, participant A's phone did not collect data between 10.30am and 10:50am and between 11:05am and 11:40am, the last known coordinate pair will be replicated during the first period but not the second, in other words, we assume that we cannot longer guarantee the participant stayed at the last known location if the phone did not sense data for more than 30 minutes). <code>FUSED_RESAMPLED_TIME_SINCE_VALID_LOCATION</code> (in minutes, default 720 or 12 hours) stops the last known fused location from being replicated longer that this threshold even if the phone was sensing data continuously (for example, participant A went home at 9pm and their phone was sensing data without gaps until 11am the next morning, the last known location will only be replicated until 9am). If you have suggestions to modify or improve this resampling, let us know.</p>
</div> </div>
<h2 id="barnett-provider">BARNETT provider<a class="headerlink" href="#barnett-provider" title="Permanent link">&para;</a></h2> <h2 id="barnett-provider">BARNETT provider<a class="headerlink" href="#barnett-provider" title="Permanent link">&para;</a></h2>
<p>These features are based on the original open-source implementation by <a href="/citation#barnett-locations">Barnett et al</a> and some features created by <a href="/citation#barnett-locations">Canzian et al</a>.</p> <p>These features are based on the original open-source implementation by <a href="citation#barnett-locations">Barnett et al</a> and some features created by <a href="citation#barnett-locations">Canzian et al</a>.</p>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">Available day segments and platforms</p> <p class="admonition-title">Available day segments and platforms</p>
<ul> <ul>
@ -927,7 +927,7 @@ AWARE Android and iOS clients can collect location coordinates through the phone
</tr> </tr>
<tr> <tr>
<td><code>[TIMEZONE]</code></td> <td><code>[TIMEZONE]</code></td>
<td>Timezone where the location data was collected. By default points to the one defined in the <a href="/setup/configuration#timezone-of-your-study">Initial configuration</a></td> <td>Timezone where the location data was collected. By default points to the one defined in the <a href="setup/configuration#timezone-of-your-study">Initial configuration</a></td>
</tr> </tr>
<tr> <tr>
<td><code>[MINUTES_DATA_USED]</code></td> <td><code>[MINUTES_DATA_USED]</code></td>
@ -1020,14 +1020,14 @@ AWARE Android and iOS clients can collect location coordinates through the phone
<div class="admonition note"> <div class="admonition note">
<p class="admonition-title">Assumptions/Observations</p> <p class="admonition-title">Assumptions/Observations</p>
<p><strong>Barnett's et al features</strong> <p><strong>Barnett's et al features</strong>
These features are based on a Pause-Flight model. A pause is defined as a mobiity trace (location pings) within a certain duration and distance (by default 300 seconds and 60 meters). A flight is any mobility trace between two pauses. Data is resampled and imputed before the features are computed. See <a href="/citation#barnett-locations">Barnett et al</a> for more information. In RAPIDS we only expose two parameters for these features (timezone and accuracy limit). You can change other parameters in <code>src/features/phone_locations/barnett/library/MobilityFeatures.R</code>.</p> These features are based on a Pause-Flight model. A pause is defined as a mobiity trace (location pings) within a certain duration and distance (by default 300 seconds and 60 meters). A flight is any mobility trace between two pauses. Data is resampled and imputed before the features are computed. See <a href="citation#barnett-locations">Barnett et al</a> for more information. In RAPIDS we only expose two parameters for these features (timezone and accuracy limit). You can change other parameters in <code>src/features/phone_locations/barnett/library/MobilityFeatures.R</code>.</p>
<p><strong>Significant Locations</strong> <p><strong>Significant Locations</strong>
Significant locations are determined using K-means clustering on pauses longer than 10 minutes. The number of clusters (K) is increased until no two clusters are within 400 meters from each other. After this, pauses within a certain range of a cluster (200 meters by default) will count as a visit to that significant location. This description was adapted from the Supplementary Materials of <a href="/citation#barnett-locations">Barnett et al</a>.</p> Significant locations are determined using K-means clustering on pauses longer than 10 minutes. The number of clusters (K) is increased until no two clusters are within 400 meters from each other. After this, pauses within a certain range of a cluster (200 meters by default) will count as a visit to that significant location. This description was adapted from the Supplementary Materials of <a href="citation#barnett-locations">Barnett et al</a>.</p>
<p><strong>The Circadian Calculation</strong> <p><strong>The Circadian Calculation</strong>
For a detailed description of how this is calculated, see <a href="/citation#barnett-locations">Canzian et al</a>.</p> For a detailed description of how this is calculated, see <a href="citation#barnett-locations">Canzian et al</a>.</p>
</div> </div>
<h2 id="doryab-provider">DORYAB provider<a class="headerlink" href="#doryab-provider" title="Permanent link">&para;</a></h2> <h2 id="doryab-provider">DORYAB provider<a class="headerlink" href="#doryab-provider" title="Permanent link">&para;</a></h2>
<p>These features are based on the original implementation by <a href="/citation#doryab-locations">Doryab et al.</a>.</p> <p>These features are based on the original implementation by <a href="citation#doryab-locations">Doryab et al.</a>.</p>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">Available day segments and platforms</p> <p class="admonition-title">Available day segments and platforms</p>
<ul> <ul>
@ -1125,7 +1125,7 @@ For a detailed description of how this is calculated, see <a href="/citation#bar
<tr> <tr>
<td>circadianmovement</td> <td>circadianmovement</td>
<td>-</td> <td>-</td>
<td>"It encodes the extent to which a person&rsquo;s location patterns follow a 24-hour circadian cycle." <a href="/citation#doryab-locations">Doryab et al.</a>.</td> <td>"It encodes the extent to which a person&rsquo;s location patterns follow a 24-hour circadian cycle." <a href="citation#doryab-locations">Doryab et al.</a>.</td>
</tr> </tr>
<tr> <tr>
<td>numberofsignificantplaces</td> <td>numberofsignificantplaces</td>
@ -1204,7 +1204,7 @@ For a detailed description of how this is calculated, see <a href="/citation#bar
<p><strong>Significant Locations Identified</strong> <p><strong>Significant Locations Identified</strong>
Significant locations are determined using DBSCAN clustering on locations that a patient visit over the course of the period of data collection.</p> Significant locations are determined using DBSCAN clustering on locations that a patient visit over the course of the period of data collection.</p>
<p><strong>The Circadian Calculation</strong> <p><strong>The Circadian Calculation</strong>
For a detailed description of how this is calculated, see <a href="/citation#doryab-locations">Canzian et al</a>.</p> For a detailed description of how this is calculated, see <a href="citation#doryab-locations">Canzian et al</a>.</p>
</div> </div>

View File

@ -795,13 +795,13 @@
<h1 id="file-structure">File Structure<a class="headerlink" href="#file-structure" title="Permanent link">&para;</a></h1> <h1 id="file-structure">File Structure<a class="headerlink" href="#file-structure" title="Permanent link">&para;</a></h1>
<div class="admonition tip"> <div class="admonition tip">
<p class="admonition-title">Tip</p> <p class="admonition-title">Tip</p>
<p>Read this page if you want to learn more about how RAPIDS is structured. If you want to start using it go to <a href="/setup/installation/">Installation</a> and then to <a href="/setup/configuration/">Initial Configuration</a></p> <p>Read this page if you want to learn more about how RAPIDS is structured. If you want to start using it go to <a href="setup/installation/">Installation</a> and then to <a href="setup/configuration/">Initial Configuration</a></p>
</div> </div>
<p>All paths mentioned in this page are relative to RAPIDS&rsquo; root folder.</p> <p>All paths mentioned in this page are relative to RAPIDS&rsquo; root folder.</p>
<p>If you want to extract the behavioral features that RAPIDS offers, you will only have to create or modify the <a href="/setup/configuration/#database-credentials"><code>.env</code> file</a>, <a href="/setup/configuration/#participant-files">participants files</a>, <a href="/setup/configuration/#day-segments">day segment files</a>, and the <code>config.yaml</code> file. The <code>config.yaml</code> file is the heart of RAPIDS and includes parameters to manage participants, data sources, sensor data, visualizations and more.</p> <p>If you want to extract the behavioral features that RAPIDS offers, you will only have to create or modify the <a href="setup/configuration/#database-credentials"><code>.env</code> file</a>, <a href="setup/configuration/#participant-files">participants files</a>, <a href="setup/configuration/#day-segments">day segment files</a>, and the <code>config.yaml</code> file. The <code>config.yaml</code> file is the heart of RAPIDS and includes parameters to manage participants, data sources, sensor data, visualizations and more.</p>
<p>All data is saved in <code>data/</code>. The <code>data/external/</code> folder stores any data imported or created by the user, <code>data/raw/</code> stores sensor data as imported from your database, <code>data/interim/</code> has intermediate files necessary to compute behavioral features from raw data, and <code>data/processed/</code> has all the final files with the behavioral features in folders per participant and sensor.</p> <p>All data is saved in <code>data/</code>. The <code>data/external/</code> folder stores any data imported or created by the user, <code>data/raw/</code> stores sensor data as imported from your database, <code>data/interim/</code> has intermediate files necessary to compute behavioral features from raw data, and <code>data/processed/</code> has all the final files with the behavioral features in folders per participant and sensor.</p>
<p>All the source code is saved in <code>src/</code>. The <code>src/data/</code> folder stores scripts to download, clean and pre-process sensor data, <code>src/features</code> has scripts to extract behavioral features organized in their respective subfolders , <code>src/models/</code> can host any script to create models or statistical analyses with the behavioral features you extract, and <code>src/visualization/</code> has scripts to create plots of the raw and processed data.</p> <p>All the source code is saved in <code>src/</code>. The <code>src/data/</code> folder stores scripts to download, clean and pre-process sensor data, <code>src/features</code> has scripts to extract behavioral features organized in their respective subfolders , <code>src/models/</code> can host any script to create models or statistical analyses with the behavioral features you extract, and <code>src/visualization/</code> has scripts to create plots of the raw and processed data.</p>
<p>There are other important files and folders but only relevant if you are interested in extending RAPIDS (e.g. virtual env files, docs, tests, Dockerfile, the Snakefile, etc.). In the figure below, we represent the interactions between users and files. After a user modifies <code>config.yaml</code> and <code>.env</code> the <code>Snakefile</code> file will decide what Snakemake rules have to be executed to produce the required output files (behavioral features) and what scripts are in charge of producing such files. In addition, users can add or modifiy files in the <code>data</code> folder (for example to configure the <a href="/setup/configuration/#participant-files">participants files</a> or the <a href="/setup/configuration/#day-segments">day segment files</a>).</p> <p>There are other important files and folders but only relevant if you are interested in extending RAPIDS (e.g. virtual env files, docs, tests, Dockerfile, the Snakefile, etc.). In the figure below, we represent the interactions between users and files. After a user modifies <code>config.yaml</code> and <code>.env</code> the <code>Snakefile</code> file will decide what Snakemake rules have to be executed to produce the required output files (behavioral features) and what scripts are in charge of producing such files. In addition, users can add or modifiy files in the <code>data</code> folder (for example to configure the <a href="setup/configuration/#participant-files">participants files</a> or the <a href="setup/configuration/#day-segments">day segment files</a>).</p>
<figure> <figure>
<img src="/img/files.png" width="600" /> <img src="/img/files.png" width="600" />
<figcaption>Interaction diagram between the user, and important files in RAPIDS</figcaption> <figcaption>Interaction diagram between the user, and important files in RAPIDS</figcaption>

View File

@ -863,13 +863,12 @@
<h1 id="welcome-to-rapids-documentation">Welcome to RAPIDS documentation<a class="headerlink" href="#welcome-to-rapids-documentation" title="Permanent link">&para;</a></h1> <h1 id="welcome-to-rapids-documentation">Welcome to RAPIDS documentation<a class="headerlink" href="#welcome-to-rapids-documentation" title="Permanent link">&para;</a></h1>
<p>Test v1.0</p>
<p>Reproducible Analysis Pipeline for Data Streams (RAPIDS) allows you to process smartphone and wearable data to extract <strong>behavioral features</strong> (a.k.a. digital biomarkers/phenotypes).</p> <p>Reproducible Analysis Pipeline for Data Streams (RAPIDS) allows you to process smartphone and wearable data to extract <strong>behavioral features</strong> (a.k.a. digital biomarkers/phenotypes).</p>
<p>RAPIDS is open source, documented, modular, tested, and reproducible. At the moment we support smartphone data collected with <a href="awareframework.com/">AWARE</a> and wearable data from Fitbit devices.</p> <p>RAPIDS is open source, documented, modular, tested, and reproducible. At the moment we support smartphone data collected with <a href="awareframework.com/">AWARE</a> and wearable data from Fitbit devices.</p>
<p><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 15a2 2 0 01-2 2 2 2 0 01-2-2 2 2 0 012-2h2v2m1 0a2 2 0 012-2 2 2 0 012 2v5a2 2 0 01-2 2 2 2 0 01-2-2v-5m2-8a2 2 0 01-2-2 2 2 0 012-2 2 2 0 012 2v2H9m0 1a2 2 0 012 2 2 2 0 01-2 2H4a2 2 0 01-2-2 2 2 0 012-2h5m8 2a2 2 0 012-2 2 2 0 012 2 2 2 0 01-2 2h-2v-2m-1 0a2 2 0 01-2 2 2 2 0 01-2-2V5a2 2 0 012-2 2 2 0 012 2v5m-2 8a2 2 0 012 2 2 2 0 01-2 2 2 2 0 01-2-2v-2h2m0-1a2 2 0 01-2-2 2 2 0 012-2h5a2 2 0 012 2 2 2 0 01-2 2h-5z"/></svg></span> Questions or feedback can be posted on #rapids in AWARE Framework's <a href="http://awareframework.com:3000/">slack</a>. </p> <p><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 15a2 2 0 01-2 2 2 2 0 01-2-2 2 2 0 012-2h2v2m1 0a2 2 0 012-2 2 2 0 012 2v5a2 2 0 01-2 2 2 2 0 01-2-2v-5m2-8a2 2 0 01-2-2 2 2 0 012-2 2 2 0 012 2v2H9m0 1a2 2 0 012 2 2 2 0 01-2 2H4a2 2 0 01-2-2 2 2 0 012-2h5m8 2a2 2 0 012-2 2 2 0 012 2 2 2 0 01-2 2h-2v-2m-1 0a2 2 0 01-2 2 2 2 0 01-2-2V5a2 2 0 012-2 2 2 0 012 2v5m-2 8a2 2 0 012 2 2 2 0 01-2 2 2 2 0 01-2-2v-2h2m0-1a2 2 0 01-2-2 2 2 0 012-2h5a2 2 0 012 2 2 2 0 01-2 2h-5z"/></svg></span> Questions or feedback can be posted on #rapids in AWARE Framework's <a href="http://awareframework.com:3000/">slack</a>. </p>
<p><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A10 10 0 002 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0012 2z"/></svg></span> Bugs should be reported on <a href="https://github.com/carissalow/rapids/issues">Github</a>. </p> <p><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A10 10 0 002 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0012 2z"/></svg></span> Bugs should be reported on <a href="https://github.com/carissalow/rapids/issues">Github</a>. </p>
<p><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M139.61 35.5a12 12 0 00-17 0L58.93 98.81l-22.7-22.12a12 12 0 00-17 0L3.53 92.41a12 12 0 000 17l47.59 47.4a12.78 12.78 0 0017.61 0l15.59-15.62L156.52 69a12.09 12.09 0 00.09-17zm0 159.19a12 12 0 00-17 0l-63.68 63.72-22.7-22.1a12 12 0 00-17 0L3.53 252a12 12 0 000 17L51 316.5a12.77 12.77 0 0017.6 0l15.7-15.69 72.2-72.22a12 12 0 00.09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 000-96zm432 16H208a16 16 0 00-16 16v32a16 16 0 0016 16h288a16 16 0 0016-16v-32a16 16 0 00-16-16zm0-320H208a16 16 0 00-16 16v32a16 16 0 0016 16h288a16 16 0 0016-16V80a16 16 0 00-16-16zm0 160H208a16 16 0 00-16 16v32a16 16 0 0016 16h288a16 16 0 0016-16v-32a16 16 0 00-16-16z"/></svg></span> Join our discussions on our algorithms and assumptions for feature <a href="https://github.com/carissalow/rapids/issues?q=is%3Aissue+is%3Aopen+label%3Adiscussion">processing</a>.</p> <p><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M139.61 35.5a12 12 0 00-17 0L58.93 98.81l-22.7-22.12a12 12 0 00-17 0L3.53 92.41a12 12 0 000 17l47.59 47.4a12.78 12.78 0 0017.61 0l15.59-15.62L156.52 69a12.09 12.09 0 00.09-17zm0 159.19a12 12 0 00-17 0l-63.68 63.72-22.7-22.1a12 12 0 00-17 0L3.53 252a12 12 0 000 17L51 316.5a12.77 12.77 0 0017.6 0l15.7-15.69 72.2-72.22a12 12 0 00.09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 000-96zm432 16H208a16 16 0 00-16 16v32a16 16 0 0016 16h288a16 16 0 0016-16v-32a16 16 0 00-16-16zm0-320H208a16 16 0 00-16 16v32a16 16 0 0016 16h288a16 16 0 0016-16V80a16 16 0 00-16-16zm0 160H208a16 16 0 00-16 16v32a16 16 0 0016 16h288a16 16 0 0016-16v-32a16 16 0 00-16-16z"/></svg></span> Join our discussions on our algorithms and assumptions for feature <a href="https://github.com/carissalow/rapids/issues?q=is%3Aissue+is%3Aopen+label%3Adiscussion">processing</a>.</p>
<p><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"/></svg></span> Ready to start? Go to <a href="setup/installation/">Installation</a> and then to <a href="/setup/configuration/">Initial Configuration</a></p> <p><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"/></svg></span> Ready to start? Go to <a href="setup/installation/">Installation</a> and then to <a href="setup/configuration/">Initial Configuration</a></p>
<h2 id="how-does-it-work">How does it work?<a class="headerlink" href="#how-does-it-work" title="Permanent link">&para;</a></h2> <h2 id="how-does-it-work">How does it work?<a class="headerlink" href="#how-does-it-work" title="Permanent link">&para;</a></h2>
<p>RAPIDS is formed by R and Python scripts orchestrated by <a href="https://snakemake.readthedocs.io/en/stable/">Snakemake</a>. We suggest you read Snakemake&rsquo;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.</p> <p>RAPIDS is formed by R and Python scripts orchestrated by <a href="https://snakemake.readthedocs.io/en/stable/">Snakemake</a>. We suggest you read Snakemake&rsquo;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.</p>
<h2 id="what-are-the-benefits-of-using-rapids">What are the benefits of using RAPIDS?<a class="headerlink" href="#what-are-the-benefits-of-using-rapids" title="Permanent link">&para;</a></h2> <h2 id="what-are-the-benefits-of-using-rapids">What are the benefits of using RAPIDS?<a class="headerlink" href="#what-are-the-benefits-of-using-rapids" title="Permanent link">&para;</a></h2>

File diff suppressed because one or more lines are too long

View File

@ -1022,7 +1022,7 @@
<li>Modify your <a href="#device-data-source-configuration">device data source configuration</a></li> <li>Modify your <a href="#device-data-source-configuration">device data source configuration</a></li>
<li>Select what <a href="#sensor-and-features-to-process">sensors and features</a> you want to process</li> <li>Select what <a href="#sensor-and-features-to-process">sensors and features</a> you want to process</li>
</ol> </ol>
<p>When you are done with this initial configuration, go to <a href="/setup/execution">executing RAPIDS</a>.</p> <p>When you are done with this initial configuration, go to <a href="setup/execution">executing RAPIDS</a>.</p>
<div class="admonition hint"> <div class="admonition hint">
<p class="admonition-title">Hint</p> <p class="admonition-title">Hint</p>
<p>Every time you see <code>config["KEY"]</code> or <code>[KEY]</code> in these docs we are referring to the corresponding key in the <code>config.yaml</code> file.</p> <p>Every time you see <code>config["KEY"]</code> or <code>[KEY]</code> in these docs we are referring to the corresponding key in the <code>config.yaml</code> file.</p>

View File

@ -793,7 +793,7 @@
<h1 id="execution">Execution<a class="headerlink" href="#execution" title="Permanent link">&para;</a></h1> <h1 id="execution">Execution<a class="headerlink" href="#execution" title="Permanent link">&para;</a></h1>
<p>After you have <a href="/setup/installation">installed</a> and <a href="/setup/configuration">configured</a> RAPIDS, use the following command to execute it.</p> <p>After you have <a href="setup/installation">installed</a> and <a href="setup/configuration">configured</a> RAPIDS, use the following command to execute it.</p>
<div class="highlight"><pre><span></span><code>./rapids -j1 <div class="highlight"><pre><span></span><code>./rapids -j1
</code></pre></div> </code></pre></div>
<div class="admonition info"> <div class="admonition info">
@ -824,7 +824,7 @@
</div> </div>
<div class="admonition done"> <div class="admonition done">
<p class="admonition-title">Ready to extract behavioral features</p> <p class="admonition-title">Ready to extract behavioral features</p>
<p>If you are ready to extract features head over to the <a href="/features/feature-introduction/">Behavioral Features Introduction</a></p> <p>If you are ready to extract features head over to the <a href="features/feature-introduction/">Behavioral Features Introduction</a></p>
</div> </div>

Binary file not shown.

View File

@ -795,9 +795,9 @@
<h1 id="minimal-working-example">Minimal Working Example<a class="headerlink" href="#minimal-working-example" title="Permanent link">&para;</a></h1> <h1 id="minimal-working-example">Minimal Working Example<a class="headerlink" href="#minimal-working-example" title="Permanent link">&para;</a></h1>
<p>This is a quick guide for creating and running a simple pipeline to extract missing, outgoing, and incoming call features for <code>daily</code> and <code>night</code> epochs of one participant monitored on the US East coast.</p> <p>This is a quick guide for creating and running a simple pipeline to extract missing, outgoing, and incoming call features for <code>daily</code> and <code>night</code> epochs of one participant monitored on the US East coast.</p>
<ol> <ol>
<li>Install RAPIDS and make sure your <code>conda</code> environment is active (see <a href="/setup/installation">Installation</a>)</li> <li>Install RAPIDS and make sure your <code>conda</code> environment is active (see <a href="setup/installation">Installation</a>)</li>
<li> <li>
<p>For the <a href="/setup/configuration">Initial Configuration</a> steps do the following and use the example as a guide:</p> <p>For the <a href="setup/configuration">Initial Configuration</a> steps do the following and use the example as a guide:</p>
<div class="admonition info"> <div class="admonition info">
<p class="admonition-title">Things to change on each configuration step</p> <p class="admonition-title">Things to change on each configuration step</p>
<p>1. Setup your database connection credentials in <code>.env</code>. We assume your credentials group is called <code>MY_GROUP</code>.</p> <p>1. Setup your database connection credentials in <code>.env</code>. We assume your credentials group is called <code>MY_GROUP</code>.</p>