Exemple #1
0
 def test_linear_mixed_effects_taxa(self):
     linear_mixed_effects(
         output_dir=self.temp_dir.name, table=self.table_ecam_fp,
         metadata=self.md_ecam_fp, state_column='month',
         group_categories='delivery,diet,antiexposedall',
         individual_id_column='studyid',
         metric='e2c3ff4f647112723741aa72087f1bfa')
Exemple #2
0
 def test_linear_mixed_effects_singular_matrix_error(self):
     with self.assertRaisesRegex(ValueError, "singular matrix error"):
         linear_mixed_effects(
             output_dir=self.temp_dir.name, table=None,
             metadata=self.md_ecam_fp, state_column='month',
             group_categories='diet,diet_3',
             individual_id_column='studyid', metric='observed_otus')
Exemple #3
0
 def test_linear_mixed_effects_missing_metric(self):
     with self.assertRaisesRegex(
             ValueError, 'Must specify either a metric or a formula'):
         linear_mixed_effects(
             output_dir=self.temp_dir.name, table=None,
             metadata=self.md_ecam_fp, state_column='month',
             individual_id_column='studyid')
Exemple #4
0
 def test_linear_mixed_effects_dodge_patsy_error_ix0_is_digit(self):
     linear_mixed_effects(
         output_dir=self.temp_dir.name, table=self.table_ecam_fp,
         metadata=self.md_ecam_fp, state_column='month',
         group_columns='delivery',
         individual_id_column='studyid',
         metric='74923f4bbde849e27fc4eda25d757e2a')
Exemple #5
0
 def test_linear_mixed_effects(self):
     linear_mixed_effects(output_dir=self.temp_dir.name,
                          table=None,
                          metadata=self.md_ecam_fp,
                          state_column='month',
                          group_categories='delivery,diet,antiexposedall',
                          individual_id_column='studyid',
                          metric='observed_otus')
Exemple #6
0
 def test_linear_mixed_effects_formula_missing_tilde(self):
     with self.assertRaisesRegex(ValueError,
                                 'metric ~ independent'):
         linear_mixed_effects(
             output_dir=self.temp_dir.name, table=None,
             metadata=self.md_ecam_fp, state_column='month',
             individual_id_column='studyid',
             formula='delivery * diet * antiexposedall')
Exemple #7
0
 def test_linear_mixed_effects_formula_missing_state_column(self):
     with self.assertRaisesRegex(ValueError,
                                 'must contain the "state_column"'):
         linear_mixed_effects(
             output_dir=self.temp_dir.name, table=None,
             metadata=self.md_ecam_fp, state_column='month',
             individual_id_column='studyid',
             formula='observed_otus ~ delivery * diet * antiexposedall')
Exemple #8
0
 def test_linear_mixed_effects_dodge_patsy_error_spacey_metrics(self):
     peanuts_ugly_md = qiime2.Metadata(
         self.md_ecam_fp.to_dataframe().rename(
             columns={'observed_otus': 'observed otus'}))
     linear_mixed_effects(
         output_dir=self.temp_dir.name,
         metadata=peanuts_ugly_md, state_column='month',
         group_columns='delivery',
         individual_id_column='studyid',
         metric='observed otus')
Exemple #9
0
 def test_linear_mixed_effects_no_group_categories(self):
     linear_mixed_effects(
         output_dir=self.temp_dir.name, table=None,
         metadata=self.md_ecam_fp, state_column='month',
         individual_id_column='studyid', metric='observed_otus')
     obs = pd.read_csv(
         os.path.join(self.temp_dir.name, 'model_results.tsv'),
         sep='\t', index_col=0)
     exp = pd.read_csv(
         self.get_data_path('linear_mixed_effects_no_group_categories.tsv'),
         sep='\t', index_col=0)
     pdt.assert_frame_equal(obs, exp)
Exemple #10
0
 def test_linear_mixed_effects_interaction_depth_operator(self):
     formula = 'observed_otus~(month+delivery+diet)**2'
     linear_mixed_effects(
         output_dir=self.temp_dir.name, table=None,
         metadata=self.md_ecam_fp, state_column='month',
         individual_id_column='studyid', formula=formula)
     obs = pd.read_csv(
         os.path.join(self.temp_dir.name, 'model_results.tsv'),
         sep='\t', index_col=0)
     exp = pd.read_csv(
         self.get_data_path('linear_mixed_effects_formula_depth.tsv'),
         sep='\t', index_col=0)
     pdt.assert_frame_equal(obs, exp)
Exemple #11
0
 def test_linear_mixed_effects_complex_formula(self):
     formula = 'observed_otus~month*delivery+diet+month:diet-month:delivery'
     linear_mixed_effects(
         output_dir=self.temp_dir.name, table=None,
         metadata=self.md_ecam_fp, state_column='month',
         individual_id_column='studyid', formula=formula)
     obs = pd.read_csv(
         os.path.join(self.temp_dir.name, 'model_results.tsv'),
         sep='\t', index_col=0)
     exp = pd.read_csv(
         self.get_data_path('linear_mixed_effects_complex_formula.tsv'),
         sep='\t', index_col=0)
     pdt.assert_frame_equal(obs, exp)
Exemple #12
0
 def test_linear_mixed_effects_taxa(self):
     linear_mixed_effects(
         output_dir=self.temp_dir.name, table=self.table_ecam_fp,
         metadata=self.md_ecam_fp, state_column='month',
         group_categories='delivery,diet,antiexposedall',
         individual_id_column='studyid',
         metric='e2c3ff4f647112723741aa72087f1bfa')
     obs = pd.read_csv(
         os.path.join(self.temp_dir.name, 'model_results.tsv'),
         sep='\t', index_col=0)
     exp = pd.read_csv(
         self.get_data_path('linear_mixed_effects_taxa.tsv'),
         sep='\t', index_col=0)
     pdt.assert_frame_equal(obs, exp)
Exemple #13
0
 def test_linear_mixed_effects_with_multiple_random_effects(self):
     linear_mixed_effects(
         output_dir=self.temp_dir.name, table=None,
         metadata=self.md_ecam_fp, state_column='month',
         group_columns='delivery,diet,antiexposedall',
         random_effects='month,studyid',
         individual_id_column='studyid', metric='observed_otus')
     obs = pd.read_csv(
         os.path.join(self.temp_dir.name, 'model_results.tsv'),
         sep='\t', index_col=0)
     exp = pd.read_csv(self.get_data_path(
         'linear_mixed_effects_with_multiple_random_effects.tsv'),
         sep='\t', index_col=0)
     pdt.assert_frame_equal(obs, exp)