Deployed 2b1f3f2 to 0.3 with MkDocs 1.1.2 and mike 0.5.5

gh-pages
github-actions 2020-12-21 21:32:44 +00:00
parent bcf8226377
commit b15ab2e80c
30 changed files with 374 additions and 198 deletions

View File

@ -1025,8 +1025,15 @@
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#030" class="md-nav__link">
0.3.0
<a href="#v031" class="md-nav__link">
v0.3.1
</a>
</li>
<li class="md-nav__item">
<a href="#v030" class="md-nav__link">
v0.3.0
</a>
</li>
@ -1137,8 +1144,15 @@
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#030" class="md-nav__link">
0.3.0
<a href="#v031" class="md-nav__link">
v0.3.1
</a>
</li>
<li class="md-nav__item">
<a href="#v030" class="md-nav__link">
v0.3.0
</a>
</li>
@ -1217,7 +1231,15 @@
<h1 id="change-log">Change Log<a class="headerlink" href="#change-log" title="Permanent link">&para;</a></h1>
<h2 id="030">0.3.0<a class="headerlink" href="#030" title="Permanent link">&para;</a></h2>
<h2 id="v031">v0.3.1<a class="headerlink" href="#v031" title="Permanent link">&para;</a></h2>
<ul>
<li>Update installation docs for RAPIDS&rsquo; docker container</li>
<li>Fix example analysis use of accelerometer data in a plot</li>
<li>Update FAQ</li>
<li>Update minimal example documentation</li>
<li>Minor doc updates</li>
</ul>
<h2 id="v030">v0.3.0<a class="headerlink" href="#v030" title="Permanent link">&para;</a></h2>
<ul>
<li>Update R and Python virtual environments</li>
<li>Add GH actions CI support for tests and docker</li>

View File

@ -1087,6 +1087,13 @@
Embedded nul in string
</a>
</li>
<li class="md-nav__item">
<a href="#there-is-no-package-called-rmariadb" class="md-nav__link">
There is no package called RMariaDB
</a>
</li>
</ul>
@ -1253,6 +1260,13 @@
Embedded nul in string
</a>
</li>
<li class="md-nav__item">
<a href="#there-is-no-package-called-rmariadb" class="md-nav__link">
There is no package called RMariaDB
</a>
</li>
</ul>
@ -1449,16 +1463,24 @@ ClobberError: This transaction has incompatible packages due to a shared path.
<details class="done" open="open"><summary>Solution</summary><p>This problem is due to the way <code>RMariaDB</code> handles a mismatch between data types in R and MySQL (see <a href="https://github.com/r-dbi/RMariaDB/issues/121">this issue</a>). Since it seems this problem won&rsquo;t be handled by <code>RMariaDB</code>, you have two options:</p>
<ol>
<li>If it&rsquo;s only a few rows that are causing this problem, remove the the null character from the conflictive table cell.</li>
<li>If it&rsquo;s not feasible to modify your data you can try swapping <code>RMariaDB</code> with <code>RMySQL</code>. Just have in mind you might have problems connecting to modern MySQL servers running in Liunx:<ul>
<li>If it&rsquo;s not feasible to modify your data you can try swapping <code>RMariaDB</code> with <code>RMySQL</code>. Just have in mind you might have problems connecting to modern MySQL servers running in Linux:<ul>
<li>Add <code>RMySQL</code> to the renv environment by running the following command in a terminal open on RAPIDS root folder
<div class="highlight"><pre><span></span><code>R -e <span class="s1">&#39;renv::install(&quot;RMySQL&quot;)&#39;</span>
</code></pre></div></li>
<li>Go to <code>src/data/download_phone_data.R</code> and replace <code>library(RMariaDB)</code> with <code>library(RMySQL)</code></li>
<li>Go to <code>src/data/download_phone_data.R</code> or <code>src/data/download_fitbit_data.R</code> and replace <code>library(RMariaDB)</code> with <code>library(RMySQL)</code></li>
<li>In the same file replace <code>dbEngine &lt;- dbConnect(MariaDB(), default.file = "./.env", group = group)</code> with <code>dbEngine &lt;- dbConnect(MySQL(), default.file = "./.env", group = group)</code></li>
</ul>
</li>
</ol>
</details>
<h2 id="there-is-no-package-called-rmariadb">There is no package called <code>RMariaDB</code><a class="headerlink" href="#there-is-no-package-called-rmariadb" title="Permanent link">&para;</a></h2>
<details class="failure" open="open"><summary>Problem</summary><p>You get the following error when executing RAPIDS:
<div class="highlight"><pre><span></span><code>Error in library<span class="o">(</span>RMariaDB<span class="o">)</span> : there is no package called <span class="s1">&#39;RMariaDB&#39;</span>
Execution halted
</code></pre></div></p>
</details>
<details class="done" open="open"><summary>Solution</summary><p>In RAPIDS v0.1.0 we replaced <code>RMySQL</code> R package with <code>RMariaDB</code>, this error means your R virtual environment is out of date, to update it run <code>snakemake -j1 renv_restore</code></p>
</details>

View File

@ -1149,6 +1149,7 @@
</table>
</div>
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">PLAIN_TEXT</label><div class="tabbed-content">
<p>All columns are mandatory, however, all except <code>device_id</code> and <code>local_date_time</code> can be empty if you don&rsquo;t have that data. Just have in mind that some features will be empty if some of these columns are empty.</p>
<table>
<thead>
<tr>

View File

@ -1149,6 +1149,7 @@
</table>
</div>
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">PLAIN_TEXT</label><div class="tabbed-content">
<p>All columns are mandatory, however, all except <code>device_id</code> and <code>local_date_time</code> can be empty if you don&rsquo;t have that data. Just have in mind that some features will be empty if some of these columns are empty.</p>
<table>
<thead>
<tr>

View File

@ -1149,6 +1149,7 @@
</table>
</div>
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">PLAIN_TEXT</label><div class="tabbed-content">
<p>All columns are mandatory, however, all except <code>device_id</code> and <code>local_date_time</code> can be empty if you don&rsquo;t have that data. Just have in mind that some features will be empty if some of these columns are empty.</p>
<table>
<thead>
<tr>
@ -1273,6 +1274,7 @@
</table>
</div>
<input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><label for="__tabbed_2_2">PLAIN_TEXT</label><div class="tabbed-content">
<p>All columns are mandatory, however, all except <code>device_id</code> and <code>local_date_time</code> can be empty if you don&rsquo;t have that data. Just have in mind that some features will be empty if some of these columns are empty.</p>
<table>
<thead>
<tr>

View File

@ -1149,6 +1149,7 @@
</table>
</div>
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">PLAIN_TEXT</label><div class="tabbed-content">
<p>All columns are mandatory.</p>
<table>
<thead>
<tr>

View File

@ -1149,6 +1149,7 @@
</table>
</div>
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">PLAIN_TEXT</label><div class="tabbed-content">
<p>All columns are mandatory.</p>
<table>
<thead>
<tr>

View File

@ -0,0 +1,9 @@
"_id","timestamp","device_id","call_type","call_duration","trace"
1,1587663260695,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",2,14,"d5e84f8af01b2728021d4f43f53a163c0c90000c"
2,1587739118007,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",3,0,"47c125dc7bd163b8612cdea13724a814917b6e93"
5,1587746544891,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",2,95,"9cc793ffd6e88b1d850ce540b5d7e000ef5650d4"
6,1587911379859,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",2,63,"51fb9344e988049a3fec774c7ca622358bf80264"
7,1587992647361,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",3,0,"2a862a7730cfdfaf103a9487afe3e02935fd6e02"
8,1588020039448,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",1,11,"a2c53f6a086d98622c06107780980cf1bb4e37bd"
11,1588176189024,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",2,65,"56589df8c830c70e330b644921ed38e08d8fd1f3"
12,1588197745079,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",3,0,"cab458018a8ed3b626515e794c70b6f415318adc"
1 _id timestamp device_id call_type call_duration trace
2 1 1587663260695 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 2 14 d5e84f8af01b2728021d4f43f53a163c0c90000c
3 2 1587739118007 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 3 0 47c125dc7bd163b8612cdea13724a814917b6e93
4 5 1587746544891 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 2 95 9cc793ffd6e88b1d850ce540b5d7e000ef5650d4
5 6 1587911379859 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 2 63 51fb9344e988049a3fec774c7ca622358bf80264
6 7 1587992647361 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 3 0 2a862a7730cfdfaf103a9487afe3e02935fd6e02
7 8 1588020039448 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 1 11 a2c53f6a086d98622c06107780980cf1bb4e37bd
8 11 1588176189024 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 2 65 56589df8c830c70e330b644921ed38e08d8fd1f3
9 12 1588197745079 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 3 0 cab458018a8ed3b626515e794c70b6f415318adc

File diff suppressed because one or more lines are too long

View File

@ -1310,10 +1310,14 @@
</code></pre></div>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>The label <code>MY_GROUP</code> is arbitrary but it has to match the following <code>config.yaml</code> key:</p>
<p>The label <code>MY_GROUP</code> is arbitrary but it has to match the following <code>config.yaml</code> key:
<div class="highlight"><pre><span></span><code><span class="nt">DATABASE_GROUP</span><span class="p">:</span> <span class="nl">&amp;database_group</span>
<span class="l l-Scalar l-Scalar-Plain">MY_GROUP</span>
</code></pre></div>
</code></pre></div></p>
</div>
<div class="admonition hint">
<p class="admonition-title">Hint<p>If you are using RAPIDS&rsquo; docker container and Docker-for-mac or Docker-for-Windows 18.03+, connect to your MySQL database using the host <code>host.docker.internal</code> instead of <code>127.0.0.1</code></p>
</p>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>

View File

@ -1069,13 +1069,13 @@
</li>
<li>
<p>Pull our RAPIDS container
<div class="highlight"><pre><span></span><code>docker pull agamk/rapids:latest<span class="sb">`</span>
<div class="highlight"><pre><span></span><code>docker pull moshiresearch/rapids:latest<span class="sb">`</span>
</code></pre></div></p>
</li>
<li>
<p>Run RAPIDS' container (after this step is done you should see a
prompt in the main RAPIDS folder with its python environment active)</p>
<div class="highlight"><pre><span></span><code>docker run -it agamk/rapids:latest
<div class="highlight"><pre><span></span><code>docker run -it moshiresearch/rapids:latest
</code></pre></div>
</li>
<li>
@ -1100,8 +1100,8 @@
<li>Install the <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers">Remote - Containers extension</a></li>
<li>Go to the <code>Remote Explorer</code> panel on the left hand sidebar</li>
<li>On the top right dropdown menu choose <code>Containers</code></li>
<li>Double click on the <code>agamk/rapids</code> container in the<code>CONTAINERS</code> tree</li>
<li>A new VS Code session should open on RAPIDS main folder insidethe container.</li>
<li>Double click on the <code>moshiresearch/rapids</code> container in the<code>CONTAINERS</code> tree</li>
<li>A new VS Code session should open on RAPIDS main folder inside the container.</li>
</ul>
</li>
</ul>

View File

@ -1,171 +1,171 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>

Binary file not shown.

View File

@ -1195,7 +1195,7 @@
<ol>
<li><a href="../../setup/installation">Install</a> RAPIDS</li>
<li>Configure the <a href="../../setup/configuration/#database-credentials">user credentials</a> of a local or remote MySQL server with writing permissions in your <code>.env</code> file. The config file where you need to modify the <code>DATABASE_GROUP</code> is at <code>example_profile/example_config.yaml</code>.</li>
<li>Unzip the <a href="https://osf.io/skqfv/files/">test database</a> to <code>data/external/rapids_example.sql</code> and run:
<li><em>Skip this step if you are using RAPIDS docker container</em>. Unzip the <a href="https://osf.io/skqfv/files/">test database</a> to <code>data/external/rapids_example.sql</code> and run:
<div class="highlight"><pre><span></span><code>./rapids -j1 restore_sql_file --profile example_profile
</code></pre></div></li>
<li>Create the participant files for this example by running:

View File

@ -1061,69 +1061,94 @@
<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 <code>call</code> features for <code>daily</code> (<code>00:00:00</code> to <code>23:59:59</code>) and <code>night</code> (<code>00:00:00</code> to <code>05:59:59</code>) epochs of every day of data of one participant monitored on the US East coast with an Android smartphone.</p>
<div class="admonition hint">
<p class="admonition-title">Hint</p>
<p>If you don&rsquo;t have <code>call</code> data that you can use to try this example you can restore this <a href="../../img/calls.csv">CSV file</a> as a table in a MySQL database.</p>
</div>
<ol>
<li>Install RAPIDS and make sure your <code>conda</code> environment is active (see <a href="../../setup/installation">Installation</a>)</li>
<li>
<p>Make the changes listed below for the corresponding <a href="../../setup/configuration">Configuration</a> step (we provide an example of what the relevant sections in your <code>config.yml</code> will look like after you are done)</p>
<details class="info"><summary>Things to change on each configuration step</summary><p>1. Setup your database connection credentials in <code>.env</code>. We assume your credentials group is called <code>MY_GROUP</code>.</p>
<p>2. <code>America/New_York</code> should be the default timezone</p>
<p>3. Create a participant file <code>p01.yaml</code> based on one of your participants and add <code>p01</code> to <code>[PIDS]</code> in <code>config.yaml</code>. The following would be the content of your <code>p01.yaml</code> participant file:
<details class="info"><summary>Required configuration changes</summary><ol>
<li>
<p><strong>Add your <a href="../../setup/configuration#database-credentials">database credentials</a>.</strong> </p>
<p>Setup your database connection credentials in <code>.env</code>, we assume your credentials group in the <code>.env</code> file is called <code>MY_GROUP</code>.</p>
</li>
<li>
<p><strong>Choose the <a href="../../setup/configuration#timezone-of-your-study">timezone of your study</a>.</strong> </p>
<p>Since this example is processing data collected on the US East cost, <code>America/New_York</code> should be the configured timezone, change this according to your data.</p>
</li>
<li>
<p><strong>Create your <a href="../../setup/configuration#participant-files">participants files</a>.</strong></p>
<p>Since we are processing data from a single participant, you only need to create a single participant file called <code>p01.yaml</code>. This participant file only has a <code>PHONE</code> section because this hypothetical participant was only monitored with an smartphone. You also need to add <code>p01</code> to <code>[PIDS]</code> in <code>config.yaml</code>. The following would be the content of your <code>p01.yaml</code> participant file:
<div class="highlight"><pre><span></span><code><span class="nt">PHONE</span><span class="p">:</span>
<span class="nt">DEVICE_IDS</span><span class="p">:</span> <span class="p p-Indicator">[</span><span class="nv">aaaaaaaa-1111-bbbb-2222-cccccccccccc</span><span class="p p-Indicator">]</span> <span class="c1"># your participant&#39;s AWARE device id</span>
<span class="nt">DEVICE_IDS</span><span class="p">:</span> <span class="p p-Indicator">[</span><span class="nv">a748ee1a-1d0b-4ae9-9074-279a2b6ba524</span><span class="p p-Indicator">]</span> <span class="c1"># the participant&#39;s AWARE device id</span>
<span class="nt">PLATFORMS</span><span class="p">:</span> <span class="p p-Indicator">[</span><span class="nv">android</span><span class="p p-Indicator">]</span> <span class="c1"># or ios</span>
<span class="nt">LABEL</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">MyTestP01</span> <span class="c1"># any string</span>
<span class="nt">START_DATE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">2020-01-01</span> <span class="c1"># this can also be empty</span>
<span class="nt">END_DATE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">2021-01-01</span> <span class="c1"># this can also be empty</span>
</code></pre></div></p>
<p>4. <code>[TIME_SEGMENTS][TYPE]</code> should be the default <code>PERIODIC</code>. Change <code>[TIME_SEGMENTS][FILE]</code> with the path of a file containing the following lines:
</li>
<li>
<p><strong>Select what <a href="../../setup/configuration#time-segments">time segments</a> you want to extract features on.</strong> </p>
<p><code>[TIME_SEGMENTS][TYPE]</code> should be the default <code>PERIODIC</code>. Change <code>[TIME_SEGMENTS][FILE]</code> with the path (for example <code>data/external/timesegments_periodic.csv</code>) of a file containing the following lines:
<div class="highlight"><pre><span></span><code>label,start_time,length,repeats_on,repeats_value
daily,00:00:00,23H 59M 59S,every_day,0
night,00:00:00,5H 59M 59S,every_day,0
</code></pre></div></p>
<p>5. If you collected data with AWARE you won&rsquo;t need to modify the attributes of <code>[DEVICE_DATA][PHONE]</code></p>
<p>6. Set <code>[PHONE_CALLS][PROVIDERS][RAPIDS][COMPUTE]</code> to <code>True</code></p>
</li>
<li>
<p><strong>Modify your <a href="../../setup/configuration#device-data-source-configuration">device data source configuration</a></strong></p>
<p>In this example we do not need to modify this section because we are using smartphone data collected with AWARE stored on a MySQL database.</p>
</li>
<li>
<p><strong>Select what <a href="../../setup/configuration#sensor-and-features-to-process">sensors and features</a> you want to process.</strong> </p>
<p>Set <code>[PHONE_CALLS][PROVIDERS][RAPIDS][COMPUTE]</code> to <code>True</code> in the <code>config.yaml</code> file.</p>
</li>
</ol>
</details>
<details class="example"><summary>Example of the <code>config.yaml</code> sections after the changes outlined above</summary><div class="highlight"><pre><span></span><code>PIDS: [p01]
<details class="example"><summary>Example of the <code>config.yaml</code> sections after the changes outlined above</summary><p>Highlighted lines are related to the configuration steps above.
<div class="highlight"><pre><span></span><code><span class="hll"><span class="nt">PIDS</span><span class="p">:</span> <span class="p p-Indicator">[</span><span class="nv">p01</span><span class="p p-Indicator">]</span>
</span>
<span class="nt">TIMEZONE</span><span class="p">:</span> <span class="nl">&amp;timezone</span>
<span class="hll"><span class="l l-Scalar l-Scalar-Plain">America/New_York</span>
</span>
<span class="nt">DATABASE_GROUP</span><span class="p">:</span> <span class="nl">&amp;database_group</span>
<span class="hll"><span class="l l-Scalar l-Scalar-Plain">MY_GROUP</span>
</span>
<span class="c1"># ... other irrelevant sections</span>
TIMEZONE: &amp;timezone
America/New_York
<span class="nt">TIME_SEGMENTS</span><span class="p">:</span> <span class="nl">&amp;time_segments</span>
<span class="hll"> <span class="nt">TYPE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">PERIODIC</span>
</span><span class="hll"> <span class="nt">FILE</span><span class="p">:</span> <span class="s">&quot;data/external/timesegments_periodic.csv&quot;</span> <span class="c1"># make sure the three lines specified above are in the file</span>
</span> <span class="nt">INCLUDE_PAST_PERIODIC_SEGMENTS</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">FALSE</span>
DATABASE_GROUP: &amp;database_group
MY_GROUP
# ... other irrelevant sections
TIME_SEGMENTS: &amp;time_segments
TYPE: PERIODIC
FILE: &quot;data/external/timesegments_periodic.csv&quot; # make sure the three lines specified above are in the file
INCLUDE_PAST_PERIODIC_SEGMENTS: FALSE
# No need to change this if you collected AWARE data on a database and your credentials are grouped under `MY_GROUP` in `.env`
DEVICE_DATA:
PHONE:
SOURCE:
TYPE: DATABASE
DATABASE_GROUP: *database_group
DEVICE_ID_COLUMN: device_id # column name
TIMEZONE:
TYPE: SINGLE # SINGLE or MULTIPLE
VALUE: *timezone
<span class="c1"># No need to change this if you collected AWARE data on a database and your credentials are grouped under `MY_GROUP` in `.env`</span>
<span class="nt">DEVICE_DATA</span><span class="p">:</span>
<span class="nt">PHONE</span><span class="p">:</span>
<span class="nt">SOURCE</span><span class="p">:</span>
<span class="nt">TYPE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">DATABASE</span>
<span class="nt">DATABASE_GROUP</span><span class="p">:</span> <span class="nv">*database_group</span>
<span class="nt">DEVICE_ID_COLUMN</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">device_id</span> <span class="c1"># column name</span>
<span class="nt">TIMEZONE</span><span class="p">:</span>
<span class="nt">TYPE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">SINGLE</span> <span class="c1"># SINGLE or MULTIPLE</span>
<span class="nt">VALUE</span><span class="p">:</span> <span class="nv">*timezone</span>
############## PHONE ###########################################################
################################################################################
<span class="c1">############## PHONE ###########################################################</span>
<span class="c1">################################################################################</span>
# ... other irrelevant sections
<span class="c1"># ... other irrelevant sections</span>
# Communication call features config, TYPES and FEATURES keys need to match
PHONE_CALLS:
TABLE: calls # change if your calls table has a different name
PROVIDERS:
RAPIDS:
COMPUTE: True # set this to True!
CALL_TYPES: ...
</code></pre></div>
<span class="c1"># Communication call features config, TYPES and FEATURES keys need to match</span>
<span class="nt">PHONE_CALLS</span><span class="p">:</span>
<span class="nt">TABLE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">calls</span> <span class="c1"># change if your calls table has a different name</span>
<span class="nt">PROVIDERS</span><span class="p">:</span>
<span class="nt">RAPIDS</span><span class="p">:</span>
<span class="hll"> <span class="nt">COMPUTE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">True</span> <span class="c1"># set this to True!</span>
</span> <span class="nt">CALL_TYPES</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">...</span>
</code></pre></div></p>
</details>
</li>
<li>

View File

@ -1025,8 +1025,15 @@
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#030" class="md-nav__link">
0.3.0
<a href="#v031" class="md-nav__link">
v0.3.1
</a>
</li>
<li class="md-nav__item">
<a href="#v030" class="md-nav__link">
v0.3.0
</a>
</li>
@ -1137,8 +1144,15 @@
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#030" class="md-nav__link">
0.3.0
<a href="#v031" class="md-nav__link">
v0.3.1
</a>
</li>
<li class="md-nav__item">
<a href="#v030" class="md-nav__link">
v0.3.0
</a>
</li>
@ -1217,7 +1231,15 @@
<h1 id="change-log">Change Log<a class="headerlink" href="#change-log" title="Permanent link">&para;</a></h1>
<h2 id="030">0.3.0<a class="headerlink" href="#030" title="Permanent link">&para;</a></h2>
<h2 id="v031">v0.3.1<a class="headerlink" href="#v031" title="Permanent link">&para;</a></h2>
<ul>
<li>Update installation docs for RAPIDS&rsquo; docker container</li>
<li>Fix example analysis use of accelerometer data in a plot</li>
<li>Update FAQ</li>
<li>Update minimal example documentation</li>
<li>Minor doc updates</li>
</ul>
<h2 id="v030">v0.3.0<a class="headerlink" href="#v030" title="Permanent link">&para;</a></h2>
<ul>
<li>Update R and Python virtual environments</li>
<li>Add GH actions CI support for tests and docker</li>

View File

@ -1087,6 +1087,13 @@
Embedded nul in string
</a>
</li>
<li class="md-nav__item">
<a href="#there-is-no-package-called-rmariadb" class="md-nav__link">
There is no package called RMariaDB
</a>
</li>
</ul>
@ -1253,6 +1260,13 @@
Embedded nul in string
</a>
</li>
<li class="md-nav__item">
<a href="#there-is-no-package-called-rmariadb" class="md-nav__link">
There is no package called RMariaDB
</a>
</li>
</ul>
@ -1449,16 +1463,24 @@ ClobberError: This transaction has incompatible packages due to a shared path.
<details class="done" open="open"><summary>Solution</summary><p>This problem is due to the way <code>RMariaDB</code> handles a mismatch between data types in R and MySQL (see <a href="https://github.com/r-dbi/RMariaDB/issues/121">this issue</a>). Since it seems this problem won&rsquo;t be handled by <code>RMariaDB</code>, you have two options:</p>
<ol>
<li>If it&rsquo;s only a few rows that are causing this problem, remove the the null character from the conflictive table cell.</li>
<li>If it&rsquo;s not feasible to modify your data you can try swapping <code>RMariaDB</code> with <code>RMySQL</code>. Just have in mind you might have problems connecting to modern MySQL servers running in Liunx:<ul>
<li>If it&rsquo;s not feasible to modify your data you can try swapping <code>RMariaDB</code> with <code>RMySQL</code>. Just have in mind you might have problems connecting to modern MySQL servers running in Linux:<ul>
<li>Add <code>RMySQL</code> to the renv environment by running the following command in a terminal open on RAPIDS root folder
<div class="highlight"><pre><span></span><code>R -e <span class="s1">&#39;renv::install(&quot;RMySQL&quot;)&#39;</span>
</code></pre></div></li>
<li>Go to <code>src/data/download_phone_data.R</code> and replace <code>library(RMariaDB)</code> with <code>library(RMySQL)</code></li>
<li>Go to <code>src/data/download_phone_data.R</code> or <code>src/data/download_fitbit_data.R</code> and replace <code>library(RMariaDB)</code> with <code>library(RMySQL)</code></li>
<li>In the same file replace <code>dbEngine &lt;- dbConnect(MariaDB(), default.file = "./.env", group = group)</code> with <code>dbEngine &lt;- dbConnect(MySQL(), default.file = "./.env", group = group)</code></li>
</ul>
</li>
</ol>
</details>
<h2 id="there-is-no-package-called-rmariadb">There is no package called <code>RMariaDB</code><a class="headerlink" href="#there-is-no-package-called-rmariadb" title="Permanent link">&para;</a></h2>
<details class="failure" open="open"><summary>Problem</summary><p>You get the following error when executing RAPIDS:
<div class="highlight"><pre><span></span><code>Error in library<span class="o">(</span>RMariaDB<span class="o">)</span> : there is no package called <span class="s1">&#39;RMariaDB&#39;</span>
Execution halted
</code></pre></div></p>
</details>
<details class="done" open="open"><summary>Solution</summary><p>In RAPIDS v0.1.0 we replaced <code>RMySQL</code> R package with <code>RMariaDB</code>, this error means your R virtual environment is out of date, to update it run <code>snakemake -j1 renv_restore</code></p>
</details>

View File

@ -1149,6 +1149,7 @@
</table>
</div>
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">PLAIN_TEXT</label><div class="tabbed-content">
<p>All columns are mandatory, however, all except <code>device_id</code> and <code>local_date_time</code> can be empty if you don&rsquo;t have that data. Just have in mind that some features will be empty if some of these columns are empty.</p>
<table>
<thead>
<tr>

View File

@ -1149,6 +1149,7 @@
</table>
</div>
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">PLAIN_TEXT</label><div class="tabbed-content">
<p>All columns are mandatory, however, all except <code>device_id</code> and <code>local_date_time</code> can be empty if you don&rsquo;t have that data. Just have in mind that some features will be empty if some of these columns are empty.</p>
<table>
<thead>
<tr>

View File

@ -1149,6 +1149,7 @@
</table>
</div>
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">PLAIN_TEXT</label><div class="tabbed-content">
<p>All columns are mandatory, however, all except <code>device_id</code> and <code>local_date_time</code> can be empty if you don&rsquo;t have that data. Just have in mind that some features will be empty if some of these columns are empty.</p>
<table>
<thead>
<tr>
@ -1273,6 +1274,7 @@
</table>
</div>
<input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><label for="__tabbed_2_2">PLAIN_TEXT</label><div class="tabbed-content">
<p>All columns are mandatory, however, all except <code>device_id</code> and <code>local_date_time</code> can be empty if you don&rsquo;t have that data. Just have in mind that some features will be empty if some of these columns are empty.</p>
<table>
<thead>
<tr>

View File

@ -1149,6 +1149,7 @@
</table>
</div>
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">PLAIN_TEXT</label><div class="tabbed-content">
<p>All columns are mandatory.</p>
<table>
<thead>
<tr>

View File

@ -1149,6 +1149,7 @@
</table>
</div>
<input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><label for="__tabbed_1_2">PLAIN_TEXT</label><div class="tabbed-content">
<p>All columns are mandatory.</p>
<table>
<thead>
<tr>

View File

@ -0,0 +1,9 @@
"_id","timestamp","device_id","call_type","call_duration","trace"
1,1587663260695,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",2,14,"d5e84f8af01b2728021d4f43f53a163c0c90000c"
2,1587739118007,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",3,0,"47c125dc7bd163b8612cdea13724a814917b6e93"
5,1587746544891,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",2,95,"9cc793ffd6e88b1d850ce540b5d7e000ef5650d4"
6,1587911379859,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",2,63,"51fb9344e988049a3fec774c7ca622358bf80264"
7,1587992647361,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",3,0,"2a862a7730cfdfaf103a9487afe3e02935fd6e02"
8,1588020039448,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",1,11,"a2c53f6a086d98622c06107780980cf1bb4e37bd"
11,1588176189024,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",2,65,"56589df8c830c70e330b644921ed38e08d8fd1f3"
12,1588197745079,"a748ee1a-1d0b-4ae9-9074-279a2b6ba524",3,0,"cab458018a8ed3b626515e794c70b6f415318adc"
1 _id timestamp device_id call_type call_duration trace
2 1 1587663260695 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 2 14 d5e84f8af01b2728021d4f43f53a163c0c90000c
3 2 1587739118007 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 3 0 47c125dc7bd163b8612cdea13724a814917b6e93
4 5 1587746544891 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 2 95 9cc793ffd6e88b1d850ce540b5d7e000ef5650d4
5 6 1587911379859 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 2 63 51fb9344e988049a3fec774c7ca622358bf80264
6 7 1587992647361 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 3 0 2a862a7730cfdfaf103a9487afe3e02935fd6e02
7 8 1588020039448 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 1 11 a2c53f6a086d98622c06107780980cf1bb4e37bd
8 11 1588176189024 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 2 65 56589df8c830c70e330b644921ed38e08d8fd1f3
9 12 1588197745079 a748ee1a-1d0b-4ae9-9074-279a2b6ba524 3 0 cab458018a8ed3b626515e794c70b6f415318adc

File diff suppressed because one or more lines are too long

View File

@ -1310,10 +1310,14 @@
</code></pre></div>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>The label <code>MY_GROUP</code> is arbitrary but it has to match the following <code>config.yaml</code> key:</p>
<p>The label <code>MY_GROUP</code> is arbitrary but it has to match the following <code>config.yaml</code> key:
<div class="highlight"><pre><span></span><code><span class="nt">DATABASE_GROUP</span><span class="p">:</span> <span class="nl">&amp;database_group</span>
<span class="l l-Scalar l-Scalar-Plain">MY_GROUP</span>
</code></pre></div>
</code></pre></div></p>
</div>
<div class="admonition hint">
<p class="admonition-title">Hint<p>If you are using RAPIDS&rsquo; docker container and Docker-for-mac or Docker-for-Windows 18.03+, connect to your MySQL database using the host <code>host.docker.internal</code> instead of <code>127.0.0.1</code></p>
</p>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>

View File

@ -1069,13 +1069,13 @@
</li>
<li>
<p>Pull our RAPIDS container
<div class="highlight"><pre><span></span><code>docker pull agamk/rapids:latest<span class="sb">`</span>
<div class="highlight"><pre><span></span><code>docker pull moshiresearch/rapids:latest<span class="sb">`</span>
</code></pre></div></p>
</li>
<li>
<p>Run RAPIDS' container (after this step is done you should see a
prompt in the main RAPIDS folder with its python environment active)</p>
<div class="highlight"><pre><span></span><code>docker run -it agamk/rapids:latest
<div class="highlight"><pre><span></span><code>docker run -it moshiresearch/rapids:latest
</code></pre></div>
</li>
<li>
@ -1100,8 +1100,8 @@
<li>Install the <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers">Remote - Containers extension</a></li>
<li>Go to the <code>Remote Explorer</code> panel on the left hand sidebar</li>
<li>On the top right dropdown menu choose <code>Containers</code></li>
<li>Double click on the <code>agamk/rapids</code> container in the<code>CONTAINERS</code> tree</li>
<li>A new VS Code session should open on RAPIDS main folder insidethe container.</li>
<li>Double click on the <code>moshiresearch/rapids</code> container in the<code>CONTAINERS</code> tree</li>
<li>A new VS Code session should open on RAPIDS main folder inside the container.</li>
</ul>
</li>
</ul>

View File

@ -1,171 +1,171 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url><url>
<loc>None</loc>
<lastmod>2020-12-20</lastmod>
<lastmod>2020-12-21</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>

Binary file not shown.

View File

@ -1195,7 +1195,7 @@
<ol>
<li><a href="../../setup/installation">Install</a> RAPIDS</li>
<li>Configure the <a href="../../setup/configuration/#database-credentials">user credentials</a> of a local or remote MySQL server with writing permissions in your <code>.env</code> file. The config file where you need to modify the <code>DATABASE_GROUP</code> is at <code>example_profile/example_config.yaml</code>.</li>
<li>Unzip the <a href="https://osf.io/skqfv/files/">test database</a> to <code>data/external/rapids_example.sql</code> and run:
<li><em>Skip this step if you are using RAPIDS docker container</em>. Unzip the <a href="https://osf.io/skqfv/files/">test database</a> to <code>data/external/rapids_example.sql</code> and run:
<div class="highlight"><pre><span></span><code>./rapids -j1 restore_sql_file --profile example_profile
</code></pre></div></li>
<li>Create the participant files for this example by running:

View File

@ -1061,69 +1061,94 @@
<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 <code>call</code> features for <code>daily</code> (<code>00:00:00</code> to <code>23:59:59</code>) and <code>night</code> (<code>00:00:00</code> to <code>05:59:59</code>) epochs of every day of data of one participant monitored on the US East coast with an Android smartphone.</p>
<div class="admonition hint">
<p class="admonition-title">Hint</p>
<p>If you don&rsquo;t have <code>call</code> data that you can use to try this example you can restore this <a href="../../img/calls.csv">CSV file</a> as a table in a MySQL database.</p>
</div>
<ol>
<li>Install RAPIDS and make sure your <code>conda</code> environment is active (see <a href="../../setup/installation">Installation</a>)</li>
<li>
<p>Make the changes listed below for the corresponding <a href="../../setup/configuration">Configuration</a> step (we provide an example of what the relevant sections in your <code>config.yml</code> will look like after you are done)</p>
<details class="info"><summary>Things to change on each configuration step</summary><p>1. Setup your database connection credentials in <code>.env</code>. We assume your credentials group is called <code>MY_GROUP</code>.</p>
<p>2. <code>America/New_York</code> should be the default timezone</p>
<p>3. Create a participant file <code>p01.yaml</code> based on one of your participants and add <code>p01</code> to <code>[PIDS]</code> in <code>config.yaml</code>. The following would be the content of your <code>p01.yaml</code> participant file:
<details class="info"><summary>Required configuration changes</summary><ol>
<li>
<p><strong>Add your <a href="../../setup/configuration#database-credentials">database credentials</a>.</strong> </p>
<p>Setup your database connection credentials in <code>.env</code>, we assume your credentials group in the <code>.env</code> file is called <code>MY_GROUP</code>.</p>
</li>
<li>
<p><strong>Choose the <a href="../../setup/configuration#timezone-of-your-study">timezone of your study</a>.</strong> </p>
<p>Since this example is processing data collected on the US East cost, <code>America/New_York</code> should be the configured timezone, change this according to your data.</p>
</li>
<li>
<p><strong>Create your <a href="../../setup/configuration#participant-files">participants files</a>.</strong></p>
<p>Since we are processing data from a single participant, you only need to create a single participant file called <code>p01.yaml</code>. This participant file only has a <code>PHONE</code> section because this hypothetical participant was only monitored with an smartphone. You also need to add <code>p01</code> to <code>[PIDS]</code> in <code>config.yaml</code>. The following would be the content of your <code>p01.yaml</code> participant file:
<div class="highlight"><pre><span></span><code><span class="nt">PHONE</span><span class="p">:</span>
<span class="nt">DEVICE_IDS</span><span class="p">:</span> <span class="p p-Indicator">[</span><span class="nv">aaaaaaaa-1111-bbbb-2222-cccccccccccc</span><span class="p p-Indicator">]</span> <span class="c1"># your participant&#39;s AWARE device id</span>
<span class="nt">DEVICE_IDS</span><span class="p">:</span> <span class="p p-Indicator">[</span><span class="nv">a748ee1a-1d0b-4ae9-9074-279a2b6ba524</span><span class="p p-Indicator">]</span> <span class="c1"># the participant&#39;s AWARE device id</span>
<span class="nt">PLATFORMS</span><span class="p">:</span> <span class="p p-Indicator">[</span><span class="nv">android</span><span class="p p-Indicator">]</span> <span class="c1"># or ios</span>
<span class="nt">LABEL</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">MyTestP01</span> <span class="c1"># any string</span>
<span class="nt">START_DATE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">2020-01-01</span> <span class="c1"># this can also be empty</span>
<span class="nt">END_DATE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">2021-01-01</span> <span class="c1"># this can also be empty</span>
</code></pre></div></p>
<p>4. <code>[TIME_SEGMENTS][TYPE]</code> should be the default <code>PERIODIC</code>. Change <code>[TIME_SEGMENTS][FILE]</code> with the path of a file containing the following lines:
</li>
<li>
<p><strong>Select what <a href="../../setup/configuration#time-segments">time segments</a> you want to extract features on.</strong> </p>
<p><code>[TIME_SEGMENTS][TYPE]</code> should be the default <code>PERIODIC</code>. Change <code>[TIME_SEGMENTS][FILE]</code> with the path (for example <code>data/external/timesegments_periodic.csv</code>) of a file containing the following lines:
<div class="highlight"><pre><span></span><code>label,start_time,length,repeats_on,repeats_value
daily,00:00:00,23H 59M 59S,every_day,0
night,00:00:00,5H 59M 59S,every_day,0
</code></pre></div></p>
<p>5. If you collected data with AWARE you won&rsquo;t need to modify the attributes of <code>[DEVICE_DATA][PHONE]</code></p>
<p>6. Set <code>[PHONE_CALLS][PROVIDERS][RAPIDS][COMPUTE]</code> to <code>True</code></p>
</li>
<li>
<p><strong>Modify your <a href="../../setup/configuration#device-data-source-configuration">device data source configuration</a></strong></p>
<p>In this example we do not need to modify this section because we are using smartphone data collected with AWARE stored on a MySQL database.</p>
</li>
<li>
<p><strong>Select what <a href="../../setup/configuration#sensor-and-features-to-process">sensors and features</a> you want to process.</strong> </p>
<p>Set <code>[PHONE_CALLS][PROVIDERS][RAPIDS][COMPUTE]</code> to <code>True</code> in the <code>config.yaml</code> file.</p>
</li>
</ol>
</details>
<details class="example"><summary>Example of the <code>config.yaml</code> sections after the changes outlined above</summary><div class="highlight"><pre><span></span><code>PIDS: [p01]
<details class="example"><summary>Example of the <code>config.yaml</code> sections after the changes outlined above</summary><p>Highlighted lines are related to the configuration steps above.
<div class="highlight"><pre><span></span><code><span class="hll"><span class="nt">PIDS</span><span class="p">:</span> <span class="p p-Indicator">[</span><span class="nv">p01</span><span class="p p-Indicator">]</span>
</span>
<span class="nt">TIMEZONE</span><span class="p">:</span> <span class="nl">&amp;timezone</span>
<span class="hll"><span class="l l-Scalar l-Scalar-Plain">America/New_York</span>
</span>
<span class="nt">DATABASE_GROUP</span><span class="p">:</span> <span class="nl">&amp;database_group</span>
<span class="hll"><span class="l l-Scalar l-Scalar-Plain">MY_GROUP</span>
</span>
<span class="c1"># ... other irrelevant sections</span>
TIMEZONE: &amp;timezone
America/New_York
<span class="nt">TIME_SEGMENTS</span><span class="p">:</span> <span class="nl">&amp;time_segments</span>
<span class="hll"> <span class="nt">TYPE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">PERIODIC</span>
</span><span class="hll"> <span class="nt">FILE</span><span class="p">:</span> <span class="s">&quot;data/external/timesegments_periodic.csv&quot;</span> <span class="c1"># make sure the three lines specified above are in the file</span>
</span> <span class="nt">INCLUDE_PAST_PERIODIC_SEGMENTS</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">FALSE</span>
DATABASE_GROUP: &amp;database_group
MY_GROUP
# ... other irrelevant sections
TIME_SEGMENTS: &amp;time_segments
TYPE: PERIODIC
FILE: &quot;data/external/timesegments_periodic.csv&quot; # make sure the three lines specified above are in the file
INCLUDE_PAST_PERIODIC_SEGMENTS: FALSE
# No need to change this if you collected AWARE data on a database and your credentials are grouped under `MY_GROUP` in `.env`
DEVICE_DATA:
PHONE:
SOURCE:
TYPE: DATABASE
DATABASE_GROUP: *database_group
DEVICE_ID_COLUMN: device_id # column name
TIMEZONE:
TYPE: SINGLE # SINGLE or MULTIPLE
VALUE: *timezone
<span class="c1"># No need to change this if you collected AWARE data on a database and your credentials are grouped under `MY_GROUP` in `.env`</span>
<span class="nt">DEVICE_DATA</span><span class="p">:</span>
<span class="nt">PHONE</span><span class="p">:</span>
<span class="nt">SOURCE</span><span class="p">:</span>
<span class="nt">TYPE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">DATABASE</span>
<span class="nt">DATABASE_GROUP</span><span class="p">:</span> <span class="nv">*database_group</span>
<span class="nt">DEVICE_ID_COLUMN</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">device_id</span> <span class="c1"># column name</span>
<span class="nt">TIMEZONE</span><span class="p">:</span>
<span class="nt">TYPE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">SINGLE</span> <span class="c1"># SINGLE or MULTIPLE</span>
<span class="nt">VALUE</span><span class="p">:</span> <span class="nv">*timezone</span>
############## PHONE ###########################################################
################################################################################
<span class="c1">############## PHONE ###########################################################</span>
<span class="c1">################################################################################</span>
# ... other irrelevant sections
<span class="c1"># ... other irrelevant sections</span>
# Communication call features config, TYPES and FEATURES keys need to match
PHONE_CALLS:
TABLE: calls # change if your calls table has a different name
PROVIDERS:
RAPIDS:
COMPUTE: True # set this to True!
CALL_TYPES: ...
</code></pre></div>
<span class="c1"># Communication call features config, TYPES and FEATURES keys need to match</span>
<span class="nt">PHONE_CALLS</span><span class="p">:</span>
<span class="nt">TABLE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">calls</span> <span class="c1"># change if your calls table has a different name</span>
<span class="nt">PROVIDERS</span><span class="p">:</span>
<span class="nt">RAPIDS</span><span class="p">:</span>
<span class="hll"> <span class="nt">COMPUTE</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">True</span> <span class="c1"># set this to True!</span>
</span> <span class="nt">CALL_TYPES</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">...</span>
</code></pre></div></p>
</details>
</li>
<li>