def __init__(self, dae_config): super(PhenoDb, self).__init__() assert dae_config configs = GPFConfigParser.load_directory_configs( dae_config.phenotype_data.dir, pheno_conf_schema ) self.config = { config.phenotype_data.name: config.phenotype_data for config in configs if config.phenotype_data and config.phenotype_data.enabled } self.pheno_cache = {}
def test_config_parser_load_directory(conf_schema_basic, fixtures_dir): configs = GPFConfigParser.load_directory_configs( os.path.join(fixtures_dir, "sample_conf_directory"), conf_schema_basic ) print(configs) assert len(configs) == 4 configs = sorted(configs, key=lambda x: x.id) assert configs[0].id == "1" assert configs[0].name == "conf1" assert configs[1].id == "2" assert configs[1].name == "conf2" assert configs[2].id == "3" assert configs[2].name == "conf3" assert configs[3].id == "4" assert configs[3].name == "conf4"
def _load_study_configs(self): default_config_filename = None if self.dae_config.default_study_config and \ self.dae_config.default_study_config.conf_file: default_config_filename = \ self.dae_config.default_study_config.conf_file study_configs = GPFConfigParser.load_directory_configs( self.dae_config.studies_db.dir, study_config_schema, default_config_filename=default_config_filename, ) genotype_study_configs = {} for study_config in study_configs: assert study_config.id is not None, study_config if study_config.enabled is False: continue genotype_study_configs[study_config.id] = \ study_config return genotype_study_configs
def _load_group_configs(self): default_config_filename = None if self.dae_config.default_study_config and \ self.dae_config.default_study_config.conf_file: default_config_filename = \ self.dae_config.default_study_config.conf_file group_configs = GPFConfigParser.load_directory_configs( self.dae_config.datasets_db.dir, study_config_schema, default_config_filename=default_config_filename, ) genotype_group_configs = {} for group_config in group_configs: assert group_config.id is not None, group_config if group_config.enabled is False: continue genotype_group_configs[group_config.id] = \ group_config return genotype_group_configs
def fake_pheno_config(fake_dae_conf): return GPFConfigParser.load_directory_configs( fake_dae_conf.phenotype_data.dir, pheno_conf_schema)