-
Notifications
You must be signed in to change notification settings - Fork 0
/
_Github_synthpops_synthpops_read_write_py.html
202 lines (202 loc) · 42.6 KB
/
_Github_synthpops_synthpops_read_write_py.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
<title>Coverage for D:\Github\synthpops\synthpops\read_write.py: 92%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.hotkeys.js"></script>
<script type="text/javascript" src="jquery.isonscreen.js"></script>
<script type="text/javascript" src="coverage_html.js"></script>
<script type="text/javascript">
jQuery(document).ready(coverage.pyfile_ready);
</script>
</head>
<body class="pyfile">
<div id="header">
<div class="content">
<h1>Coverage for <b>D:\Github\synthpops\synthpops\read_write.py</b> :
<span class="pc_cov">92%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
52 statements
<button type="button" class="run shortkey_r button_toggle_run" title="Toggle lines run">48 run</button>
<button type="button" class="mis show_mis shortkey_m button_toggle_mis" title="Toggle lines missing">4 missing</button>
<button type="button" class="exc show_exc shortkey_x button_toggle_exc" title="Toggle lines excluded">0 excluded</button>
</h2>
</div>
</div>
<div class="help_panel">
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
<p class="legend">Hot-keys on this page</p>
<div>
<p class="keyhelp">
<span class="key">r</span>
<span class="key">m</span>
<span class="key">x</span>
<span class="key">p</span> toggle line displays
</p>
<p class="keyhelp">
<span class="key">j</span>
<span class="key">k</span> next/prev highlighted chunk
</p>
<p class="keyhelp">
<span class="key">0</span> (zero) top of page
</p>
<p class="keyhelp">
<span class="key">1</span> (one) first highlighted chunk
</p>
</div>
</div>
<div id="source">
<p id="t1" class="pln"><span class="n"><a href="#t1">1</a></span><span class="t"><span class="str">"""</span> </span><span class="r"></span></p>
<p id="t2" class="pln"><span class="n"><a href="#t2">2</a></span><span class="t"><span class="str">This module contains reading and writing functions for contact networks and populations</span> </span><span class="r"></span></p>
<p id="t3" class="pln"><span class="n"><a href="#t3">3</a></span><span class="t"><span class="str">"""</span> </span><span class="r"></span></p>
<p id="t4" class="pln"><span class="n"><a href="#t4">4</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t5" class="run"><span class="n"><a href="#t5">5</a></span><span class="t"><span class="key">import</span> <span class="nam">os</span> </span><span class="r"></span></p>
<p id="t6" class="pln"><span class="n"><a href="#t6">6</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t7" class="run"><span class="n"><a href="#t7">7</a></span><span class="t"><span class="key">import</span> <span class="nam">sciris</span> <span class="key">as</span> <span class="nam">sc</span> </span><span class="r"></span></p>
<p id="t8" class="run"><span class="n"><a href="#t8">8</a></span><span class="t"><span class="key">import</span> <span class="nam">numpy</span> <span class="key">as</span> <span class="nam">np</span> </span><span class="r"></span></p>
<p id="t9" class="run"><span class="n"><a href="#t9">9</a></span><span class="t"><span class="key">import</span> <span class="nam">pandas</span> <span class="key">as</span> <span class="nam">pd</span> </span><span class="r"></span></p>
<p id="t10" class="pln"><span class="n"><a href="#t10">10</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t11" class="run"><span class="n"><a href="#t11">11</a></span><span class="t"><span class="key">from</span> <span class="op">.</span> <span class="key">import</span> <span class="nam">base</span> <span class="key">as</span> <span class="nam">spb</span> </span><span class="r"></span></p>
<p id="t12" class="pln"><span class="n"><a href="#t12">12</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t13" class="pln"><span class="n"><a href="#t13">13</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t14" class="run"><span class="n"><a href="#t14">14</a></span><span class="t"><span class="key">def</span> <span class="nam">write_age_by_uid_dic</span><span class="op">(</span><span class="nam">datadir</span><span class="op">,</span> <span class="nam">location</span><span class="op">,</span> <span class="nam">state_location</span><span class="op">,</span> <span class="nam">country_location</span><span class="op">,</span> <span class="nam">folder_name</span><span class="op">,</span> <span class="nam">age_by_uid_dic</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t15" class="pln"><span class="n"><a href="#t15">15</a></span><span class="t"> <span class="str">"""</span> </span><span class="r"></span></p>
<p id="t16" class="pln"><span class="n"><a href="#t16">16</a></span><span class="t"><span class="str"> Write the dictionary of ID mapping to age for each individual in the population.</span> </span><span class="r"></span></p>
<p id="t17" class="pln"><span class="n"><a href="#t17">17</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t18" class="pln"><span class="n"><a href="#t18">18</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
<p id="t19" class="pln"><span class="n"><a href="#t19">19</a></span><span class="t"><span class="str"> datadir (string) : The file path to the data directory.</span> </span><span class="r"></span></p>
<p id="t20" class="pln"><span class="n"><a href="#t20">20</a></span><span class="t"><span class="str"> location (string) : The name of the location.</span> </span><span class="r"></span></p>
<p id="t21" class="pln"><span class="n"><a href="#t21">21</a></span><span class="t"><span class="str"> state_location (string) : The name of the state the location is in.</span> </span><span class="r"></span></p>
<p id="t22" class="pln"><span class="n"><a href="#t22">22</a></span><span class="t"><span class="str"> country_location (string) : The name of the country the location is in.</span> </span><span class="r"></span></p>
<p id="t23" class="pln"><span class="n"><a href="#t23">23</a></span><span class="t"><span class="str"> age_by_uid_dic (dict) : A dictionary mapping ID to age for each individual in the population.</span> </span><span class="r"></span></p>
<p id="t24" class="pln"><span class="n"><a href="#t24">24</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t25" class="pln"><span class="n"><a href="#t25">25</a></span><span class="t"><span class="str"> Returns:</span> </span><span class="r"></span></p>
<p id="t26" class="pln"><span class="n"><a href="#t26">26</a></span><span class="t"><span class="str"> None</span> </span><span class="r"></span></p>
<p id="t27" class="pln"><span class="n"><a href="#t27">27</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
<p id="t28" class="pln"><span class="n"><a href="#t28">28</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t29" class="run"><span class="n"><a href="#t29">29</a></span><span class="t"> <span class="nam">file_path</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">datadir</span><span class="op">,</span> <span class="str">'demographics'</span><span class="op">,</span> <span class="str">'contact_matrices_152_countries'</span><span class="op">,</span> <span class="nam">country_location</span><span class="op">,</span> <span class="nam">state_location</span><span class="op">,</span> <span class="nam">folder_name</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t30" class="run"><span class="n"><a href="#t30">30</a></span><span class="t"> <span class="nam">os</span><span class="op">.</span><span class="nam">makedirs</span><span class="op">(</span><span class="nam">file_path</span><span class="op">,</span> <span class="nam">exist_ok</span><span class="op">=</span><span class="key">True</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t31" class="pln"><span class="n"><a href="#t31">31</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t32" class="run"><span class="n"><a href="#t32">32</a></span><span class="t"> <span class="nam">age_by_uid_path</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">file_path</span><span class="op">,</span> <span class="nam">location</span> <span class="op">+</span> <span class="str">'_'</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">len</span><span class="op">(</span><span class="nam">age_by_uid_dic</span><span class="op">)</span><span class="op">)</span> <span class="op">+</span> <span class="str">'_age_by_uid.dat'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t33" class="pln"><span class="n"><a href="#t33">33</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t34" class="run"><span class="n"><a href="#t34">34</a></span><span class="t"> <span class="nam">f_age_uid</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">age_by_uid_path</span><span class="op">,</span> <span class="str">'w'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t35" class="pln"><span class="n"><a href="#t35">35</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t36" class="run"><span class="n"><a href="#t36">36</a></span><span class="t"> <span class="nam">uids</span> <span class="op">=</span> <span class="nam">sorted</span><span class="op">(</span><span class="nam">age_by_uid_dic</span><span class="op">.</span><span class="nam">keys</span><span class="op">(</span><span class="op">)</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t37" class="run"><span class="n"><a href="#t37">37</a></span><span class="t"> <span class="key">for</span> <span class="nam">uid</span> <span class="key">in</span> <span class="nam">uids</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t38" class="run"><span class="n"><a href="#t38">38</a></span><span class="t"> <span class="nam">f_age_uid</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">str</span><span class="op">(</span><span class="nam">uid</span><span class="op">)</span> <span class="op">+</span> <span class="str">' '</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">age_by_uid_dic</span><span class="op">[</span><span class="nam">uid</span><span class="op">]</span><span class="op">)</span> <span class="op">+</span> <span class="str">'\n'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t39" class="run"><span class="n"><a href="#t39">39</a></span><span class="t"> <span class="nam">f_age_uid</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t40" class="pln"><span class="n"><a href="#t40">40</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t41" class="pln"><span class="n"><a href="#t41">41</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t42" class="run"><span class="n"><a href="#t42">42</a></span><span class="t"><span class="key">def</span> <span class="nam">read_in_age_by_uid</span><span class="op">(</span><span class="nam">datadir</span><span class="op">,</span> <span class="nam">location</span><span class="op">,</span> <span class="nam">state_location</span><span class="op">,</span> <span class="nam">country_location</span><span class="op">,</span> <span class="nam">folder_name</span><span class="op">,</span> <span class="nam">n</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t43" class="pln"><span class="n"><a href="#t43">43</a></span><span class="t"> <span class="str">"""</span> </span><span class="r"></span></p>
<p id="t44" class="pln"><span class="n"><a href="#t44">44</a></span><span class="t"><span class="str"> Read dictionary of ID mapping to ages for all individuals from file.</span> </span><span class="r"></span></p>
<p id="t45" class="pln"><span class="n"><a href="#t45">45</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t46" class="pln"><span class="n"><a href="#t46">46</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
<p id="t47" class="pln"><span class="n"><a href="#t47">47</a></span><span class="t"><span class="str"> datadir (string) : The file path to the data directory.</span> </span><span class="r"></span></p>
<p id="t48" class="pln"><span class="n"><a href="#t48">48</a></span><span class="t"><span class="str"> location (string) : The name of the location.</span> </span><span class="r"></span></p>
<p id="t49" class="pln"><span class="n"><a href="#t49">49</a></span><span class="t"><span class="str"> state_location (string) : The name of the state the location is in.</span> </span><span class="r"></span></p>
<p id="t50" class="pln"><span class="n"><a href="#t50">50</a></span><span class="t"><span class="str"> country_location (string) : The name of the country the location is in.</span> </span><span class="r"></span></p>
<p id="t51" class="pln"><span class="n"><a href="#t51">51</a></span><span class="t"><span class="str"> folder_name (string) : The name of the folder the location is in, e.g. 'contact_networks'</span> </span><span class="r"></span></p>
<p id="t52" class="pln"><span class="n"><a href="#t52">52</a></span><span class="t"><span class="str"> n (int) : The number of people in the population.</span> </span><span class="r"></span></p>
<p id="t53" class="pln"><span class="n"><a href="#t53">53</a></span><span class="t"><span class="str"> Returns:</span> </span><span class="r"></span></p>
<p id="t54" class="pln"><span class="n"><a href="#t54">54</a></span><span class="t"><span class="str"> A dictionary mapping ID to age for all individuals in the population.</span> </span><span class="r"></span></p>
<p id="t55" class="pln"><span class="n"><a href="#t55">55</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t56" class="pln"><span class="n"><a href="#t56">56</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
<p id="t57" class="run"><span class="n"><a href="#t57">57</a></span><span class="t"> <span class="nam">file_path</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">datadir</span><span class="op">,</span> <span class="str">'demographics'</span><span class="op">,</span> <span class="str">'contact_matrices_152_countries'</span><span class="op">,</span> <span class="nam">country_location</span><span class="op">,</span> <span class="nam">state_location</span><span class="op">,</span> <span class="nam">folder_name</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t58" class="run"><span class="n"><a href="#t58">58</a></span><span class="t"> <span class="nam">age_by_uid_path</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">file_path</span><span class="op">,</span> <span class="nam">location</span> <span class="op">+</span> <span class="str">'_'</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">n</span><span class="op">)</span> <span class="op">+</span> <span class="str">'_age_by_uid.dat'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t59" class="run"><span class="n"><a href="#t59">59</a></span><span class="t"> <span class="nam">df</span> <span class="op">=</span> <span class="nam">pd</span><span class="op">.</span><span class="nam">read_csv</span><span class="op">(</span><span class="nam">age_by_uid_path</span><span class="op">,</span> <span class="nam">header</span><span class="op">=</span><span class="key">None</span><span class="op">,</span> <span class="nam">delimiter</span><span class="op">=</span><span class="str">' '</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t60" class="run"><span class="n"><a href="#t60">60</a></span><span class="t"> <span class="key">try</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t61" class="run"><span class="n"><a href="#t61">61</a></span><span class="t"> <span class="key">return</span> <span class="nam">dict</span><span class="op">(</span><span class="nam">zip</span><span class="op">(</span><span class="nam">df</span><span class="op">.</span><span class="nam">iloc</span><span class="op">[</span><span class="op">:</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span><span class="op">.</span><span class="nam">values</span><span class="op">.</span><span class="nam">astype</span><span class="op">(</span><span class="nam">int</span><span class="op">)</span><span class="op">,</span> <span class="nam">df</span><span class="op">.</span><span class="nam">iloc</span><span class="op">[</span><span class="op">:</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span><span class="op">.</span><span class="nam">values</span><span class="op">.</span><span class="nam">astype</span><span class="op">(</span><span class="nam">int</span><span class="op">)</span><span class="op">)</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t62" class="mis show_mis"><span class="n"><a href="#t62">62</a></span><span class="t"> <span class="key">except</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t63" class="mis show_mis"><span class="n"><a href="#t63">63</a></span><span class="t"> <span class="key">return</span> <span class="nam">dict</span><span class="op">(</span><span class="nam">zip</span><span class="op">(</span><span class="nam">df</span><span class="op">.</span><span class="nam">iloc</span><span class="op">[</span><span class="op">:</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span><span class="op">.</span><span class="nam">values</span><span class="op">,</span> <span class="nam">df</span><span class="op">.</span><span class="nam">iloc</span><span class="op">[</span><span class="op">:</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span><span class="op">.</span><span class="nam">values</span><span class="op">.</span><span class="nam">astype</span><span class="op">(</span><span class="nam">int</span><span class="op">)</span><span class="op">)</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t64" class="pln"><span class="n"><a href="#t64">64</a></span><span class="t"> <span class="com"># return sc.objdict(zip(df.iloc[:, 0].values, df.iloc[:, 1].values.astype(int)))</span> </span><span class="r"></span></p>
<p id="t65" class="pln"><span class="n"><a href="#t65">65</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t66" class="pln"><span class="n"><a href="#t66">66</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t67" class="run"><span class="n"><a href="#t67">67</a></span><span class="t"><span class="key">def</span> <span class="nam">write_groups_by_age_and_uid</span><span class="op">(</span><span class="nam">datadir</span><span class="op">,</span> <span class="nam">location</span><span class="op">,</span> <span class="nam">state_location</span><span class="op">,</span> <span class="nam">country_location</span><span class="op">,</span> <span class="nam">age_by_uid_dic</span><span class="op">,</span> <span class="nam">folder_name</span><span class="op">,</span> <span class="nam">group_type</span><span class="op">,</span> <span class="nam">groups_by_uids</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t68" class="pln"><span class="n"><a href="#t68">68</a></span><span class="t"> <span class="str">"""</span> </span><span class="r"></span></p>
<p id="t69" class="pln"><span class="n"><a href="#t69">69</a></span><span class="t"><span class="str"> Write groups to file with both ID and their ages.</span> </span><span class="r"></span></p>
<p id="t70" class="pln"><span class="n"><a href="#t70">70</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t71" class="pln"><span class="n"><a href="#t71">71</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
<p id="t72" class="pln"><span class="n"><a href="#t72">72</a></span><span class="t"><span class="str"> datadir (string) : The file path to the data directory.</span> </span><span class="r"></span></p>
<p id="t73" class="pln"><span class="n"><a href="#t73">73</a></span><span class="t"><span class="str"> location (string) : The name of the location.</span> </span><span class="r"></span></p>
<p id="t74" class="pln"><span class="n"><a href="#t74">74</a></span><span class="t"><span class="str"> state_location (string) : The name of the state of the location is in.</span> </span><span class="r"></span></p>
<p id="t75" class="pln"><span class="n"><a href="#t75">75</a></span><span class="t"><span class="str"> country_location (string) : The name of the country the location is in.</span> </span><span class="r"></span></p>
<p id="t76" class="pln"><span class="n"><a href="#t76">76</a></span><span class="t"><span class="str"> age_by_uid_dic (dict) : A dictionary mapping ID to age for each individual in the population.</span> </span><span class="r"></span></p>
<p id="t77" class="pln"><span class="n"><a href="#t77">77</a></span><span class="t"><span class="str"> groups_by_uids (list) : The list of lists, where each sublist represents a household and the IDs of the household members.</span> </span><span class="r"></span></p>
<p id="t78" class="pln"><span class="n"><a href="#t78">78</a></span><span class="t"><span class="str"> group_type (string) : The name of the group type.</span> </span><span class="r"></span></p>
<p id="t79" class="pln"><span class="n"><a href="#t79">79</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t80" class="pln"><span class="n"><a href="#t80">80</a></span><span class="t"><span class="str"> Returns:</span> </span><span class="r"></span></p>
<p id="t81" class="pln"><span class="n"><a href="#t81">81</a></span><span class="t"><span class="str"> None</span> </span><span class="r"></span></p>
<p id="t82" class="pln"><span class="n"><a href="#t82">82</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
<p id="t83" class="pln"><span class="n"><a href="#t83">83</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t84" class="run"><span class="n"><a href="#t84">84</a></span><span class="t"> <span class="nam">file_path</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">datadir</span><span class="op">,</span> <span class="str">'demographics'</span><span class="op">,</span> <span class="str">'contact_matrices_152_countries'</span><span class="op">,</span> <span class="nam">country_location</span><span class="op">,</span> <span class="nam">state_location</span><span class="op">,</span> <span class="nam">folder_name</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t85" class="run"><span class="n"><a href="#t85">85</a></span><span class="t"> <span class="nam">os</span><span class="op">.</span><span class="nam">makedirs</span><span class="op">(</span><span class="nam">file_path</span><span class="op">,</span> <span class="nam">exist_ok</span><span class="op">=</span><span class="key">True</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t86" class="pln"><span class="n"><a href="#t86">86</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t87" class="run"><span class="n"><a href="#t87">87</a></span><span class="t"> <span class="nam">groups_by_age_path</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">file_path</span><span class="op">,</span> <span class="nam">location</span> <span class="op">+</span> <span class="str">'_'</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">len</span><span class="op">(</span><span class="nam">age_by_uid_dic</span><span class="op">)</span><span class="op">)</span> <span class="op">+</span> <span class="str">'_synthetic_'</span> <span class="op">+</span> <span class="nam">group_type</span> <span class="op">+</span> <span class="str">'_with_ages.dat'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t88" class="run"><span class="n"><a href="#t88">88</a></span><span class="t"> <span class="nam">groups_by_uid_path</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">file_path</span><span class="op">,</span> <span class="nam">location</span> <span class="op">+</span> <span class="str">'_'</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">len</span><span class="op">(</span><span class="nam">age_by_uid_dic</span><span class="op">)</span><span class="op">)</span> <span class="op">+</span> <span class="str">'_synthetic_'</span> <span class="op">+</span> <span class="nam">group_type</span> <span class="op">+</span> <span class="str">'_with_uids.dat'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t89" class="pln"><span class="n"><a href="#t89">89</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t90" class="run"><span class="n"><a href="#t90">90</a></span><span class="t"> <span class="nam">fg_age</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">groups_by_age_path</span><span class="op">,</span> <span class="str">'w'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t91" class="run"><span class="n"><a href="#t91">91</a></span><span class="t"> <span class="nam">fg_uid</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">groups_by_uid_path</span><span class="op">,</span> <span class="str">'w'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t92" class="pln"><span class="n"><a href="#t92">92</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t93" class="run"><span class="n"><a href="#t93">93</a></span><span class="t"> <span class="key">for</span> <span class="nam">n</span><span class="op">,</span> <span class="nam">ids</span> <span class="key">in</span> <span class="nam">enumerate</span><span class="op">(</span><span class="nam">groups_by_uids</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t94" class="pln"><span class="n"><a href="#t94">94</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t95" class="run"><span class="n"><a href="#t95">95</a></span><span class="t"> <span class="nam">group</span> <span class="op">=</span> <span class="nam">groups_by_uids</span><span class="op">[</span><span class="nam">n</span><span class="op">]</span> </span><span class="r"></span></p>
<p id="t96" class="pln"><span class="n"><a href="#t96">96</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t97" class="run"><span class="n"><a href="#t97">97</a></span><span class="t"> <span class="key">for</span> <span class="nam">uid</span> <span class="key">in</span> <span class="nam">group</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t98" class="pln"><span class="n"><a href="#t98">98</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t99" class="run"><span class="n"><a href="#t99">99</a></span><span class="t"> <span class="nam">fg_age</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">str</span><span class="op">(</span><span class="nam">int</span><span class="op">(</span><span class="nam">age_by_uid_dic</span><span class="op">[</span><span class="nam">uid</span><span class="op">]</span><span class="op">)</span><span class="op">)</span> <span class="op">+</span> <span class="str">' '</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t100" class="run"><span class="n"><a href="#t100">100</a></span><span class="t"> <span class="nam">fg_uid</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">str</span><span class="op">(</span><span class="nam">uid</span><span class="op">)</span> <span class="op">+</span> <span class="str">' '</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t101" class="run"><span class="n"><a href="#t101">101</a></span><span class="t"> <span class="nam">fg_age</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="str">'\n'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t102" class="run"><span class="n"><a href="#t102">102</a></span><span class="t"> <span class="nam">fg_uid</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="str">'\n'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t103" class="run"><span class="n"><a href="#t103">103</a></span><span class="t"> <span class="nam">fg_age</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t104" class="run"><span class="n"><a href="#t104">104</a></span><span class="t"> <span class="nam">fg_uid</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t105" class="pln"><span class="n"><a href="#t105">105</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t106" class="pln"><span class="n"><a href="#t106">106</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t107" class="run"><span class="n"><a href="#t107">107</a></span><span class="t"><span class="key">def</span> <span class="nam">read_setting_groups</span><span class="op">(</span><span class="nam">datadir</span><span class="op">,</span> <span class="nam">location</span><span class="op">,</span> <span class="nam">state_location</span><span class="op">,</span> <span class="nam">country_location</span><span class="op">,</span> <span class="nam">setting</span><span class="op">,</span> <span class="nam">folder_name</span><span class="op">,</span> <span class="nam">n</span><span class="op">,</span> <span class="nam">with_ages</span><span class="op">=</span><span class="key">False</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t108" class="pln"><span class="n"><a href="#t108">108</a></span><span class="t"> <span class="str">"""</span> </span><span class="r"></span></p>
<p id="t109" class="pln"><span class="n"><a href="#t109">109</a></span><span class="t"><span class="str"> Read in groups of people interacting in different social settings from file.</span> </span><span class="r"></span></p>
<p id="t110" class="pln"><span class="n"><a href="#t110">110</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t111" class="pln"><span class="n"><a href="#t111">111</a></span><span class="t"><span class="str"> Args:</span> </span><span class="r"></span></p>
<p id="t112" class="pln"><span class="n"><a href="#t112">112</a></span><span class="t"><span class="str"> datadir (string) : The file path to the data directory.</span> </span><span class="r"></span></p>
<p id="t113" class="pln"><span class="n"><a href="#t113">113</a></span><span class="t"><span class="str"> location (string) : The name of the location.</span> </span><span class="r"></span></p>
<p id="t114" class="pln"><span class="n"><a href="#t114">114</a></span><span class="t"><span class="str"> state_location (string) : The name of the state the location is in.</span> </span><span class="r"></span></p>
<p id="t115" class="pln"><span class="n"><a href="#t115">115</a></span><span class="t"><span class="str"> country_location (string) : The name of the country the location is in.</span> </span><span class="r"></span></p>
<p id="t116" class="pln"><span class="n"><a href="#t116">116</a></span><span class="t"><span class="str"> n (int) : The number of people in the population.</span> </span><span class="r"></span></p>
<p id="t117" class="pln"><span class="n"><a href="#t117">117</a></span><span class="t"><span class="str"> setting (string): The name of the physical contact setting: H for households, S for schools, W for workplaces, C for community or other.</span> </span><span class="r"></span></p>
<p id="t118" class="pln"><span class="n"><a href="#t118">118</a></span><span class="t"><span class="str"> with_ages (bool): If True, read in the ages of each individual in the group; otherwise, read in their IDs.</span> </span><span class="r"></span></p>
<p id="t119" class="pln"><span class="n"><a href="#t119">119</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t120" class="pln"><span class="n"><a href="#t120">120</a></span><span class="t"><span class="str"> Returns:</span> </span><span class="r"></span></p>
<p id="t121" class="pln"><span class="n"><a href="#t121">121</a></span><span class="t"><span class="str"> A list of lists where each sublist represents of group of individuals in the same group and thus are contacts of each other.</span> </span><span class="r"></span></p>
<p id="t122" class="pln"><span class="n"><a href="#t122">122</a></span><span class="t"><span class="str"> """</span> </span><span class="r"></span></p>
<p id="t123" class="run"><span class="n"><a href="#t123">123</a></span><span class="t"> <span class="key">if</span> <span class="nam">with_ages</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t124" class="run"><span class="n"><a href="#t124">124</a></span><span class="t"> <span class="nam">file_path</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">datadir</span><span class="op">,</span> <span class="str">'demographics'</span><span class="op">,</span> <span class="str">'contact_matrices_152_countries'</span><span class="op">,</span> <span class="nam">country_location</span><span class="op">,</span> <span class="nam">state_location</span><span class="op">,</span> <span class="nam">folder_name</span><span class="op">,</span> <span class="nam">location</span> <span class="op">+</span> <span class="str">'_'</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">n</span><span class="op">)</span> <span class="op">+</span> <span class="str">'_synthetic_'</span> <span class="op">+</span> <span class="nam">setting</span> <span class="op">+</span> <span class="str">'_with_ages.dat'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t125" class="pln"><span class="n"><a href="#t125">125</a></span><span class="t"> <span class="key">else</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t126" class="run"><span class="n"><a href="#t126">126</a></span><span class="t"> <span class="nam">file_path</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">datadir</span><span class="op">,</span> <span class="str">'demographics'</span><span class="op">,</span> <span class="str">'contact_matrices_152_countries'</span><span class="op">,</span> <span class="nam">country_location</span><span class="op">,</span> <span class="nam">state_location</span><span class="op">,</span> <span class="nam">folder_name</span><span class="op">,</span> <span class="nam">location</span> <span class="op">+</span> <span class="str">'_'</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">n</span><span class="op">)</span> <span class="op">+</span> <span class="str">'_synthetic_'</span> <span class="op">+</span> <span class="nam">setting</span> <span class="op">+</span> <span class="str">'_with_uids.dat'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t127" class="run"><span class="n"><a href="#t127">127</a></span><span class="t"> <span class="nam">groups</span> <span class="op">=</span> <span class="op">[</span><span class="op">]</span> </span><span class="r"></span></p>
<p id="t128" class="run"><span class="n"><a href="#t128">128</a></span><span class="t"> <span class="nam">foo</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">file_path</span><span class="op">,</span> <span class="str">'r'</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t129" class="run"><span class="n"><a href="#t129">129</a></span><span class="t"> <span class="key">for</span> <span class="nam">c</span><span class="op">,</span> <span class="nam">line</span> <span class="key">in</span> <span class="nam">enumerate</span><span class="op">(</span><span class="nam">foo</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t130" class="run"><span class="n"><a href="#t130">130</a></span><span class="t"> <span class="nam">group</span> <span class="op">=</span> <span class="nam">line</span><span class="op">.</span><span class="nam">strip</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="str">' '</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t131" class="pln"><span class="n"><a href="#t131">131</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t132" class="run"><span class="n"><a href="#t132">132</a></span><span class="t"> <span class="key">try</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t133" class="run"><span class="n"><a href="#t133">133</a></span><span class="t"> <span class="nam">group</span> <span class="op">=</span> <span class="op">[</span><span class="nam">int</span><span class="op">(</span><span class="nam">float</span><span class="op">(</span><span class="nam">i</span><span class="op">)</span><span class="op">)</span> <span class="key">for</span> <span class="nam">i</span> <span class="key">in</span> <span class="nam">group</span><span class="op">]</span> </span><span class="r"></span></p>
<p id="t134" class="mis show_mis"><span class="n"><a href="#t134">134</a></span><span class="t"> <span class="key">except</span><span class="op">:</span> </span><span class="r"></span></p>
<p id="t135" class="mis show_mis"><span class="n"><a href="#t135">135</a></span><span class="t"> <span class="nam">group</span> <span class="op">=</span> <span class="op">[</span><span class="nam">i</span> <span class="key">for</span> <span class="nam">i</span> <span class="key">in</span> <span class="nam">group</span><span class="op">]</span> </span><span class="r"></span></p>
<p id="t136" class="pln"><span class="n"><a href="#t136">136</a></span><span class="t"> </span><span class="r"></span></p>
<p id="t137" class="run"><span class="n"><a href="#t137">137</a></span><span class="t"> <span class="nam">groups</span><span class="op">.</span><span class="nam">append</span><span class="op">(</span><span class="nam">group</span><span class="op">)</span> </span><span class="r"></span></p>
<p id="t138" class="run"><span class="n"><a href="#t138">138</a></span><span class="t"> <span class="key">return</span> <span class="nam">groups</span> </span><span class="r"></span></p>
</div>
<div id="footer">
<div class="content">
<p>
<a class="nav" href="index.html">« index</a> <a class="nav" href="https://coverage.readthedocs.io">coverage.py v5.2</a>,
created at 2020-07-15 10:13
</p>
</div>
</div>
</body>
</html>