Model
Key randomization functions in model.
assay_performed(params)
Number of days between collection and assay being performed.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
params
|
AssayParams
|
assay parameters |
required |
Returns:
Type | Description |
---|---|
timedelta
|
Number of days. |
Source code in src/snailz/model.py
30 31 32 33 34 35 36 37 38 39 |
|
assay_reading(params, specimen, treatment, performed)
Calculate individual assay reading.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
params
|
AssayParams
|
assay parameters |
required |
specimen
|
object
|
specimen being assayed |
required |
treatment
|
str
|
"C" for control or "S" for sample |
required |
performed
|
date
|
date assay performed |
required |
Returns:
Type | Description |
---|---|
float
|
Reading value. |
Source code in src/snailz/model.py
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 |
|
assay_specimens(params, specimens)
Generate list of specimens to be assayed.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
params
|
AssayParams
|
assay parameters |
required |
specimens
|
BaseModel
|
all available specimens |
required |
Returns:
Type | Description |
---|---|
list
|
List of specimens (possibly containing duplicates). |
Source code in src/snailz/model.py
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
|
days_to_next_survey(params)
Choose the number of days between surveys.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
params
|
SurveyParams
|
specimen generation parameters |
required |
Returns:
Type | Description |
---|---|
timedelta
|
Days to the next survey. |
Source code in src/snailz/model.py
92 93 94 95 96 97 98 99 100 101 |
|
image_noise(params, array, img_size)
Add noise effects to numpy array before conversion to image.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
params
|
AssayParams
|
assay parameters |
required |
array
|
ndarray
|
pristine numpy array |
required |
img_size
|
int
|
size of the image |
required |
Returns:
Type | Description |
---|---|
ndarray
|
Distorted numpy array. |
Source code in src/snailz/model.py
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 |
|
image_blur(img)
Apply Gaussian blur to an image.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
img
|
Image
|
image to blur |
required |
Returns:
Type | Description |
---|---|
Image
|
Blurred image. |
Source code in src/snailz/model.py
131 132 133 134 135 136 137 138 139 140 |
|
machine_brightness(params)
Choose relative brightness of this machine's camera.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
params
|
MachineParams
|
machine parameters |
required |
Returns:
Type | Description |
---|---|
float
|
Brightness level in that range. |
Source code in src/snailz/model.py
143 144 145 146 147 148 149 150 151 152 153 |
|
mutation_loci(params)
Make a list of mutable loci positions.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
params
|
SpecimenParams
|
specimen generation parameters |
required |
Returns:
Type | Description |
---|---|
list[int]
|
Randomly selected positions that can be mutated. |
Source code in src/snailz/model.py
156 157 158 159 160 161 162 163 164 165 166 167 |
|
specimen_adjust_mass(survey, max_pollution, specimen)
Adjust mass of specimen depending on pollution levels.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
survey
|
Survey
|
survey that specimen is taken from |
required |
max_pollution
|
float
|
maximum pollution level seen across all surveys |
required |
specimen
|
Specimen
|
specimen to adjust |
required |
Source code in src/snailz/model.py
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
|
specimen_collection_date(survey)
Choose a collection date for a specimen.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
survey
|
BaseModel
|
survey that specimen belongs to |
required |
Returns:
Type | Description |
---|---|
date
|
Date specimen was collected. |
Source code in src/snailz/model.py
187 188 189 190 191 192 193 194 195 196 197 198 |
|
specimen_genome(params, specimens)
Generate genome for a particular specimen.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
specimens
|
BaseModel
|
all specimens |
required |
Returns:
Type | Description |
---|---|
tuple[int, str]
|
Random genome produced by mutating reference genome. |
Source code in src/snailz/model.py
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 |
|
specimen_initial_mass(params, species, collected, is_mutant)
Generate mass of a specimen.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
params
|
SpecimenParams
|
specimen generation parameters |
required |
collected
|
date
|
specimen collection date |
required |
is_mutant
|
bool
|
whether this specimen is a mutant |
required |
Returns:
Type | Description |
---|---|
float
|
Random mass. |
Source code in src/snailz/model.py
221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 |
|
specimens_num_per_survey(params, survey)
Number of specimens per survey.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
params
|
SpecimenParams
|
specimen generation parameters |
required |
survey
|
Survey
|
particular survey |
required |
Returns:
Type | Description |
---|---|
int
|
Number of specimens. |
Source code in src/snailz/model.py
250 251 252 253 254 255 256 257 258 259 260 |
|
specimens_place(survey, specimens)
Place specimens in grid.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
survey
|
Survey
|
survey from which specimens taken |
required |
specimens
|
Sequence[Specimen]
|
to place |
required |
Source code in src/snailz/model.py
263 264 265 266 267 268 269 270 |
|
specimen_reference_genome(params)
Make a random reference genome.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
params
|
SpecimenParams
|
SpecimenParams with length attribute |
required |
Returns:
Type | Description |
---|---|
str
|
A randomly generated genome string of the specified length |
Source code in src/snailz/model.py
273 274 275 276 277 278 279 280 281 282 |
|
survey_initialize_grid(size)
Initialize values in survey grid.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
size
|
int
|
size of survey grid |
required |
Returns:
Type | Description |
---|---|
Grid[int]
|
Initialized grid. |
Source code in src/snailz/model.py
285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 |
|