survival 1.1.19__cp314-cp314-manylinux_2_39_x86_64.whl → 1.1.32__cp314-cp314-manylinux_2_39_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of survival might be problematic. Click here for more details.

survival/__init__.py CHANGED
@@ -1,5 +1,15 @@
1
- from .survival import *
2
-
3
- __doc__ = survival.__doc__
4
- if hasattr(survival, "__all__"):
5
- __all__ = survival.__all__
1
+ from survival._survival import * # noqa: F401, F403
2
+ from survival.sklearn_compat import ( # noqa: F401
3
+ AFTEstimator,
4
+ CoxPHEstimator,
5
+ GradientBoostSurvivalEstimator,
6
+ StreamingAFTEstimator,
7
+ StreamingCoxPHEstimator,
8
+ StreamingGradientBoostSurvivalEstimator,
9
+ StreamingMixin,
10
+ StreamingSurvivalForestEstimator,
11
+ SurvivalForestEstimator,
12
+ iter_chunks,
13
+ predict_large_dataset,
14
+ survival_curves_to_disk,
15
+ )
survival/_survival.pyi ADDED
@@ -0,0 +1,660 @@
1
+ from typing import Any
2
+
3
+ class GBSurvLoss:
4
+ AFT: GBSurvLoss
5
+ CoxPH: GBSurvLoss
6
+ Huber: GBSurvLoss
7
+ SquaredError: GBSurvLoss
8
+
9
+ class SplitRule:
10
+ Conservation: SplitRule
11
+ Hellinger: SplitRule
12
+ LogRank: SplitRule
13
+ LogRankScore: SplitRule
14
+
15
+ class DistributionType:
16
+ ExtremeValue: DistributionType
17
+ Weibull: DistributionType
18
+ Gaussian: DistributionType
19
+ Logistic: DistributionType
20
+ LogNormal: DistributionType
21
+ LogLogistic: DistributionType
22
+
23
+ class DimType:
24
+ Age: DimType
25
+ Continuous: DimType
26
+ Factor: DimType
27
+ Year: DimType
28
+
29
+ class ReliabilityScale:
30
+ ClogLog: ReliabilityScale
31
+ Cumhaz: ReliabilityScale
32
+ LogLogistic: ReliabilityScale
33
+ Probit: ReliabilityScale
34
+ Surv: ReliabilityScale
35
+
36
+ class GradientBoostSurvivalConfig:
37
+ n_estimators: int
38
+ learning_rate: float
39
+ max_depth: int
40
+ min_samples_split: int
41
+ min_samples_leaf: int
42
+ subsample: float
43
+ max_features: int | None
44
+ seed: int | None
45
+ loss: GBSurvLoss
46
+ dropout_rate: float
47
+
48
+ def __init__(
49
+ self,
50
+ n_estimators: int = 100,
51
+ learning_rate: float = 0.1,
52
+ max_depth: int = 3,
53
+ min_samples_split: int = 10,
54
+ min_samples_leaf: int = 5,
55
+ subsample: float = 1.0,
56
+ max_features: int | None = None,
57
+ seed: int | None = None,
58
+ loss: GBSurvLoss | None = None,
59
+ dropout_rate: float = 0.0,
60
+ ) -> None: ...
61
+
62
+ class GradientBoostSurvival:
63
+ @property
64
+ def n_estimators(self) -> int: ...
65
+ @property
66
+ def learning_rate(self) -> float: ...
67
+ @property
68
+ def unique_times(self) -> list[float]: ...
69
+ @property
70
+ def feature_importance(self) -> list[float]: ...
71
+ @property
72
+ def baseline_hazard(self) -> list[float]: ...
73
+ @property
74
+ def train_loss(self) -> list[float]: ...
75
+ @staticmethod
76
+ def fit(
77
+ x: list[float],
78
+ n: int,
79
+ p: int,
80
+ time: list[float],
81
+ status: list[int],
82
+ config: GradientBoostSurvivalConfig,
83
+ ) -> GradientBoostSurvival: ...
84
+ def predict_risk(self, x_new: list[float], n_new: int) -> list[float]: ...
85
+ def predict_survival(self, x_new: list[float], n_new: int) -> list[list[float]]: ...
86
+ def predict_cumulative_hazard(self, x_new: list[float], n_new: int) -> list[list[float]]: ...
87
+ def predict_survival_time(
88
+ self, x_new: list[float], n_new: int, percentile: float = 0.5
89
+ ) -> list[float | None]: ...
90
+ def predict_median_survival_time(
91
+ self, x_new: list[float], n_new: int
92
+ ) -> list[float | None]: ...
93
+
94
+ class SurvivalForestConfig:
95
+ n_trees: int
96
+ max_depth: int | None
97
+ min_node_size: int
98
+ mtry: int | None
99
+ sample_fraction: float
100
+ seed: int | None
101
+ oob_error: bool
102
+ split_rule: SplitRule
103
+ n_random_splits: int
104
+
105
+ def __init__(
106
+ self,
107
+ n_trees: int = 500,
108
+ max_depth: int | None = None,
109
+ min_node_size: int = 15,
110
+ mtry: int | None = None,
111
+ sample_fraction: float = 0.632,
112
+ seed: int | None = None,
113
+ oob_error: bool = True,
114
+ split_rule: SplitRule | None = None,
115
+ n_random_splits: int = 10,
116
+ ) -> None: ...
117
+
118
+ class SurvivalForest:
119
+ @property
120
+ def n_trees(self) -> int: ...
121
+ @property
122
+ def unique_times(self) -> list[float]: ...
123
+ @property
124
+ def variable_importance(self) -> list[float]: ...
125
+ @property
126
+ def oob_error(self) -> float | None: ...
127
+ @staticmethod
128
+ def fit(
129
+ x: list[float],
130
+ n: int,
131
+ p: int,
132
+ time: list[float],
133
+ status: list[int],
134
+ config: SurvivalForestConfig,
135
+ ) -> SurvivalForest: ...
136
+ def predict_risk(self, x_new: list[float], n_new: int) -> list[float]: ...
137
+ def predict_survival(self, x_new: list[float], n_new: int) -> list[list[float]]: ...
138
+ def predict_cumulative_hazard(self, x_new: list[float], n_new: int) -> list[list[float]]: ...
139
+ def predict_survival_time(
140
+ self, x_new: list[float], n_new: int, percentile: float = 0.5
141
+ ) -> list[float | None]: ...
142
+ def predict_median_survival_time(
143
+ self, x_new: list[float], n_new: int
144
+ ) -> list[float | None]: ...
145
+
146
+ class Subject:
147
+ def __init__(
148
+ self,
149
+ covariates: list[float],
150
+ time: float,
151
+ status: int,
152
+ weight: float = 1.0,
153
+ ) -> None: ...
154
+
155
+ class CoxPHModel:
156
+ @property
157
+ def coefficients(self) -> list[float]: ...
158
+ @property
159
+ def std_errors(self) -> list[float]: ...
160
+ @property
161
+ def vcov(self) -> list[list[float]]: ...
162
+ @property
163
+ def log_likelihood(self) -> float: ...
164
+ @property
165
+ def n_observations(self) -> int: ...
166
+ @property
167
+ def n_events(self) -> int: ...
168
+ @property
169
+ def event_times(self) -> list[float]: ...
170
+ @property
171
+ def baseline_hazard(self) -> list[float]: ...
172
+ @property
173
+ def censoring(self) -> list[int]: ...
174
+ @staticmethod
175
+ def new_with_data(
176
+ covariates: list[list[float]],
177
+ time: list[float],
178
+ status: list[int],
179
+ ) -> CoxPHModel: ...
180
+ def add_subject(self, subject: Subject) -> None: ...
181
+ def fit(self, n_iters: int = 20) -> None: ...
182
+ def predict(self, covariates: list[list[float]]) -> list[float]: ...
183
+ def predict_survival(self, covariates: list[list[float]]) -> list[list[float]]: ...
184
+ def predicted_survival_time(
185
+ self, covariates: list[list[float]], percentile: float = 0.5
186
+ ) -> list[float | None]: ...
187
+ def survival_curve(
188
+ self, covariates: list[list[float]], times: list[float] | None = None
189
+ ) -> tuple[list[float], list[list[float]]]: ...
190
+ def cumulative_hazard(self, covariates: list[list[float]]) -> list[list[float]]: ...
191
+ def risk_scores(self, covariates: list[list[float]]) -> list[float]: ...
192
+ def hazard_ratios(self) -> list[float]: ...
193
+ def hazard_ratios_with_ci(
194
+ self, confidence_level: float = 0.95
195
+ ) -> list[tuple[float, float, float]]: ...
196
+ def martingale_residuals(self) -> list[float]: ...
197
+ def deviance_residuals(self) -> list[float]: ...
198
+ def dfbeta(self) -> list[list[float]]: ...
199
+ def brier_score(self, time: float) -> float: ...
200
+ def restricted_mean_survival_time(self, tau: float) -> float: ...
201
+ def summary(self) -> str: ...
202
+ def aic(self) -> float: ...
203
+ def bic(self) -> float: ...
204
+ def calculate_baseline_hazard(self) -> None: ...
205
+ def compute_standard_errors(self) -> None: ...
206
+ def compute_fisher_information(self) -> list[list[float]]: ...
207
+
208
+ class SurvFitKMOutput:
209
+ @property
210
+ def time(self) -> list[float]: ...
211
+ @property
212
+ def surv(self) -> list[float]: ...
213
+ @property
214
+ def n_risk(self) -> list[int]: ...
215
+ @property
216
+ def n_event(self) -> list[int]: ...
217
+ @property
218
+ def n_censor(self) -> list[int]: ...
219
+ @property
220
+ def std_err(self) -> list[float]: ...
221
+ @property
222
+ def lower(self) -> list[float]: ...
223
+ @property
224
+ def upper(self) -> list[float]: ...
225
+ @property
226
+ def cumhaz(self) -> list[float]: ...
227
+
228
+ class KaplanMeierConfig:
229
+ def __init__(
230
+ self,
231
+ conf_level: float = 0.95,
232
+ conf_type: str = "log-log",
233
+ se_type: str = "greenwood",
234
+ ) -> None: ...
235
+
236
+ class SurvfitKMOptions:
237
+ def __init__(
238
+ self,
239
+ conf_level: float = 0.95,
240
+ conf_type: str = "log-log",
241
+ se_type: str = "greenwood",
242
+ start_time: float | None = None,
243
+ ) -> None: ...
244
+
245
+ class NelsonAalenResult:
246
+ @property
247
+ def time(self) -> list[float]: ...
248
+ @property
249
+ def cumhaz(self) -> list[float]: ...
250
+ @property
251
+ def variance(self) -> list[float]: ...
252
+ @property
253
+ def lower(self) -> list[float]: ...
254
+ @property
255
+ def upper(self) -> list[float]: ...
256
+ @property
257
+ def n_risk(self) -> list[int]: ...
258
+ @property
259
+ def n_event(self) -> list[int]: ...
260
+
261
+ class LogRankResult:
262
+ @property
263
+ def statistic(self) -> float: ...
264
+ @property
265
+ def p_value(self) -> float: ...
266
+ @property
267
+ def df(self) -> int: ...
268
+ @property
269
+ def observed(self) -> list[float]: ...
270
+ @property
271
+ def expected(self) -> list[float]: ...
272
+ @property
273
+ def var_observed(self) -> list[float]: ...
274
+
275
+ class RMSTResult:
276
+ @property
277
+ def rmst(self) -> float: ...
278
+ @property
279
+ def se(self) -> float: ...
280
+ @property
281
+ def lower(self) -> float: ...
282
+ @property
283
+ def upper(self) -> float: ...
284
+ @property
285
+ def tau(self) -> float: ...
286
+
287
+ class CalibrationResult:
288
+ @property
289
+ def observed(self) -> list[float]: ...
290
+ @property
291
+ def predicted(self) -> list[float]: ...
292
+ @property
293
+ def n_groups(self) -> int: ...
294
+ @property
295
+ def hosmer_lemeshow_stat(self) -> float: ...
296
+ @property
297
+ def hosmer_lemeshow_p(self) -> float: ...
298
+
299
+ class UnoCIndexResult:
300
+ @property
301
+ def c_index(self) -> float: ...
302
+ @property
303
+ def se(self) -> float: ...
304
+ @property
305
+ def lower(self) -> float: ...
306
+ @property
307
+ def upper(self) -> float: ...
308
+ @property
309
+ def n_pairs(self) -> int: ...
310
+ @property
311
+ def n_concordant(self) -> int: ...
312
+
313
+ class SurvivalFit:
314
+ @property
315
+ def coefficients(self) -> list[float]: ...
316
+ @property
317
+ def std_errors(self) -> list[float]: ...
318
+ @property
319
+ def vcov(self) -> list[list[float]]: ...
320
+ @property
321
+ def log_likelihood(self) -> float: ...
322
+ @property
323
+ def scale(self) -> float: ...
324
+ @property
325
+ def distribution(self) -> str: ...
326
+ @property
327
+ def n_observations(self) -> int: ...
328
+ @property
329
+ def n_events(self) -> int: ...
330
+ @property
331
+ def aic(self) -> float: ...
332
+ @property
333
+ def bic(self) -> float: ...
334
+
335
+ class SurvregConfig:
336
+ def __init__(
337
+ self,
338
+ distribution: DistributionType | None = None,
339
+ max_iter: int = 100,
340
+ tol: float = 1e-9,
341
+ ) -> None: ...
342
+
343
+ class BootstrapResult:
344
+ @property
345
+ def estimate(self) -> float: ...
346
+ @property
347
+ def se(self) -> float: ...
348
+ @property
349
+ def lower(self) -> float: ...
350
+ @property
351
+ def upper(self) -> float: ...
352
+ @property
353
+ def bootstrap_estimates(self) -> list[float]: ...
354
+
355
+ class CVResult:
356
+ @property
357
+ def mean_score(self) -> float: ...
358
+ @property
359
+ def std_score(self) -> float: ...
360
+ @property
361
+ def scores(self) -> list[float]: ...
362
+ @property
363
+ def n_folds(self) -> int: ...
364
+
365
+ class TestResult:
366
+ @property
367
+ def statistic(self) -> float: ...
368
+ @property
369
+ def p_value(self) -> float: ...
370
+ @property
371
+ def df(self) -> int: ...
372
+
373
+ class BayesianCoxResult:
374
+ @property
375
+ def coefficients(self) -> list[float]: ...
376
+ @property
377
+ def std_errors(self) -> list[float]: ...
378
+ @property
379
+ def credible_intervals(self) -> list[tuple[float, float]]: ...
380
+ @property
381
+ def effective_sample_size(self) -> list[float]: ...
382
+ @property
383
+ def rhat(self) -> list[float]: ...
384
+
385
+ class ElasticNetCoxResult:
386
+ @property
387
+ def coefficients(self) -> list[float]: ...
388
+ @property
389
+ def intercept(self) -> float: ...
390
+ @property
391
+ def alpha(self) -> float: ...
392
+ @property
393
+ def l1_ratio(self) -> float: ...
394
+ @property
395
+ def n_iter(self) -> int: ...
396
+ @property
397
+ def nonzero_features(self) -> list[int]: ...
398
+
399
+ class MixtureCureResult:
400
+ @property
401
+ def cure_coefficients(self) -> list[float]: ...
402
+ @property
403
+ def survival_coefficients(self) -> list[float]: ...
404
+ @property
405
+ def cure_rate(self) -> float: ...
406
+ @property
407
+ def log_likelihood(self) -> float: ...
408
+
409
+ class JointModelResult:
410
+ @property
411
+ def longitudinal_coefficients(self) -> list[float]: ...
412
+ @property
413
+ def survival_coefficients(self) -> list[float]: ...
414
+ @property
415
+ def association(self) -> float: ...
416
+ @property
417
+ def log_likelihood(self) -> float: ...
418
+
419
+ class IPCWResult:
420
+ @property
421
+ def weights(self) -> list[float]: ...
422
+ @property
423
+ def estimate(self) -> float: ...
424
+ @property
425
+ def se(self) -> float: ...
426
+ @property
427
+ def lower(self) -> float: ...
428
+ @property
429
+ def upper(self) -> float: ...
430
+
431
+ class GComputationResult:
432
+ @property
433
+ def ate(self) -> float: ...
434
+ @property
435
+ def se(self) -> float: ...
436
+ @property
437
+ def lower(self) -> float: ...
438
+ @property
439
+ def upper(self) -> float: ...
440
+ @property
441
+ def survival_treated(self) -> list[float]: ...
442
+ @property
443
+ def survival_control(self) -> list[float]: ...
444
+
445
+ class QALYResult:
446
+ @property
447
+ def qaly(self) -> float: ...
448
+ @property
449
+ def se(self) -> float: ...
450
+ @property
451
+ def lower(self) -> float: ...
452
+ @property
453
+ def upper(self) -> float: ...
454
+
455
+ class RCLLResult:
456
+ @property
457
+ def rcll(self) -> float: ...
458
+ @property
459
+ def se(self) -> float: ...
460
+ @property
461
+ def n_samples(self) -> int: ...
462
+
463
+ def survfitkm(
464
+ time: list[float],
465
+ status: list[int],
466
+ conf_level: float = 0.95,
467
+ ) -> SurvFitKMOutput: ...
468
+ def survfitkm_with_options(
469
+ time: list[float],
470
+ status: list[int],
471
+ options: SurvfitKMOptions,
472
+ ) -> SurvFitKMOutput: ...
473
+ def nelson_aalen_estimator(
474
+ time: list[float],
475
+ status: list[int],
476
+ conf_level: float = 0.95,
477
+ ) -> NelsonAalenResult: ...
478
+ def stratified_kaplan_meier(
479
+ time: list[float],
480
+ status: list[int],
481
+ strata: list[int],
482
+ conf_level: float = 0.95,
483
+ ) -> dict[int, SurvFitKMOutput]: ...
484
+ def logrank_test(
485
+ time: list[float],
486
+ status: list[int],
487
+ group: list[int],
488
+ ) -> LogRankResult: ...
489
+ def fleming_harrington_test(
490
+ time: list[float],
491
+ status: list[int],
492
+ group: list[int],
493
+ rho: float = 0.0,
494
+ gamma: float = 0.0,
495
+ ) -> LogRankResult: ...
496
+ def rmst(
497
+ time: list[float],
498
+ status: list[int],
499
+ tau: float,
500
+ conf_level: float = 0.95,
501
+ ) -> RMSTResult: ...
502
+ def rmst_comparison(
503
+ time: list[float],
504
+ status: list[int],
505
+ group: list[int],
506
+ tau: float,
507
+ conf_level: float = 0.95,
508
+ ) -> dict[str, Any]: ...
509
+ def survreg(
510
+ time: list[float],
511
+ status: list[int],
512
+ x: list[list[float]],
513
+ config: SurvregConfig | None = None,
514
+ ) -> SurvivalFit: ...
515
+ def calibration(
516
+ predicted: list[float],
517
+ time: list[float],
518
+ status: list[int],
519
+ n_groups: int = 10,
520
+ ) -> CalibrationResult: ...
521
+ def uno_c_index(
522
+ time: list[float],
523
+ status: list[int],
524
+ risk_scores: list[float],
525
+ tau: float | None = None,
526
+ ) -> UnoCIndexResult: ...
527
+ def brier(
528
+ time: list[float],
529
+ status: list[int],
530
+ predicted: list[float],
531
+ eval_time: float,
532
+ ) -> float: ...
533
+ def integrated_brier(
534
+ time: list[float],
535
+ status: list[int],
536
+ predicted: list[list[float]],
537
+ eval_times: list[float],
538
+ ) -> float: ...
539
+ def bootstrap_cox_ci(
540
+ time: list[float],
541
+ status: list[int],
542
+ x: list[list[float]],
543
+ n_bootstrap: int = 1000,
544
+ conf_level: float = 0.95,
545
+ ) -> BootstrapResult: ...
546
+ def cv_cox_concordance(
547
+ time: list[float],
548
+ status: list[int],
549
+ x: list[list[float]],
550
+ n_folds: int = 5,
551
+ ) -> CVResult: ...
552
+ def lrt_test(
553
+ log_likelihood_full: float,
554
+ log_likelihood_reduced: float,
555
+ df: int,
556
+ ) -> TestResult: ...
557
+ def bayesian_cox(
558
+ time: list[float],
559
+ status: list[int],
560
+ x: list[list[float]],
561
+ n_samples: int = 1000,
562
+ n_warmup: int = 500,
563
+ prior_scale: float = 1.0,
564
+ ) -> BayesianCoxResult: ...
565
+ def elastic_net_cox(
566
+ time: list[float],
567
+ status: list[int],
568
+ x: list[list[float]],
569
+ alpha: float = 1.0,
570
+ l1_ratio: float = 0.5,
571
+ max_iter: int = 1000,
572
+ ) -> ElasticNetCoxResult: ...
573
+ def mixture_cure_model(
574
+ time: list[float],
575
+ status: list[int],
576
+ x_cure: list[list[float]],
577
+ x_survival: list[list[float]],
578
+ max_iter: int = 100,
579
+ ) -> MixtureCureResult: ...
580
+ def joint_model(
581
+ longitudinal_time: list[float],
582
+ longitudinal_value: list[float],
583
+ subject_id: list[int],
584
+ survival_time: list[float],
585
+ survival_status: list[int],
586
+ x: list[list[float]],
587
+ ) -> JointModelResult: ...
588
+ def ipcw_kaplan_meier(
589
+ time: list[float],
590
+ status: list[int],
591
+ weights: list[float],
592
+ ) -> SurvFitKMOutput: ...
593
+ def g_computation(
594
+ time: list[float],
595
+ status: list[int],
596
+ treatment: list[int],
597
+ x: list[list[float]],
598
+ n_bootstrap: int = 1000,
599
+ ) -> GComputationResult: ...
600
+ def qaly_calculation(
601
+ time: list[float],
602
+ status: list[int],
603
+ utility: list[float],
604
+ tau: float,
605
+ ) -> QALYResult: ...
606
+ def rcll(
607
+ time: list[float],
608
+ status: list[int],
609
+ predicted_survival: list[list[float]],
610
+ eval_times: list[float],
611
+ ) -> RCLLResult: ...
612
+ def gradient_boost_survival(
613
+ x: list[float],
614
+ n: int,
615
+ p: int,
616
+ time: list[float],
617
+ status: list[int],
618
+ config: GradientBoostSurvivalConfig | None = None,
619
+ ) -> GradientBoostSurvival: ...
620
+ def survival_forest(
621
+ x: list[float],
622
+ n: int,
623
+ p: int,
624
+ time: list[float],
625
+ status: list[int],
626
+ config: SurvivalForestConfig | None = None,
627
+ ) -> SurvivalForest: ...
628
+ def load_lung() -> dict[str, list[Any]]: ...
629
+ def load_aml() -> dict[str, list[Any]]: ...
630
+ def load_veteran() -> dict[str, list[Any]]: ...
631
+ def load_ovarian() -> dict[str, list[Any]]: ...
632
+ def load_colon() -> dict[str, list[Any]]: ...
633
+ def load_pbc() -> dict[str, list[Any]]: ...
634
+ def load_cgd() -> dict[str, list[Any]]: ...
635
+ def load_bladder() -> dict[str, list[Any]]: ...
636
+ def load_heart() -> dict[str, list[Any]]: ...
637
+ def load_kidney() -> dict[str, list[Any]]: ...
638
+ def load_rats() -> dict[str, list[Any]]: ...
639
+ def load_stanford2() -> dict[str, list[Any]]: ...
640
+ def load_udca() -> dict[str, list[Any]]: ...
641
+ def load_myeloid() -> dict[str, list[Any]]: ...
642
+ def load_flchain() -> dict[str, list[Any]]: ...
643
+ def load_transplant() -> dict[str, list[Any]]: ...
644
+ def load_mgus() -> dict[str, list[Any]]: ...
645
+ def load_mgus2() -> dict[str, list[Any]]: ...
646
+ def load_diabetic() -> dict[str, list[Any]]: ...
647
+ def load_retinopathy() -> dict[str, list[Any]]: ...
648
+ def load_gbsg() -> dict[str, list[Any]]: ...
649
+ def load_rotterdam() -> dict[str, list[Any]]: ...
650
+ def load_logan() -> dict[str, list[Any]]: ...
651
+ def load_nwtco() -> dict[str, list[Any]]: ...
652
+ def load_solder() -> dict[str, list[Any]]: ...
653
+ def load_tobin() -> dict[str, list[Any]]: ...
654
+ def load_rats2() -> dict[str, list[Any]]: ...
655
+ def load_nafld() -> dict[str, list[Any]]: ...
656
+ def load_cgd0() -> dict[str, list[Any]]: ...
657
+ def load_pbcseq() -> dict[str, list[Any]]: ...
658
+ def load_hoel() -> dict[str, list[Any]]: ...
659
+ def load_myeloma() -> dict[str, list[Any]]: ...
660
+ def load_rhdnase() -> dict[str, list[Any]]: ...