@@ -139,35 +139,43 @@ def load_drug_fingerprint_features(data_path: str, dataset_name: str, default_ra
139139def get_multiomics_feature_dataset (
140140 data_path : str ,
141141 dataset_name : str ,
142- gene_list : str | None = "drug_target_genes_all_drugs" ,
142+ gene_lists : dict | None = None ,
143143 omics : list [str ] | None = None ,
144144) -> FeatureDataset :
145145 """
146146 Get multiomics feature dataset for the given list of OMICs.
147147
148148 :param data_path: path to the data, e.g., data/
149149 :param dataset_name: name of the dataset, e.g., GDSC2
150- :param gene_list: list of genes to include, e.g., landmark_genes
150+ :param gene_lists: dictionary of names of lists of genes to include, for each omics type,
151+ e.g., {"gene_expression": "landmark_genes"}, if None, all features are not reduced
151152 :param omics: list of omics to include, e.g., ["gene_expression", "methylation"]
152153 :returns: FeatureDataset with the multiomics features
153154 :raises ValueError: if no omics features are found
154155 """
155156 if omics is None :
156157 omics = ["gene_expression" , "methylation" , "mutations" , "copy_number_variation_gistic" , "proteomics" ]
158+
159+ if gene_lists is None :
160+ gene_lists = {o : None for o in omics }
161+
162+ if not np .all ([k in omics for k in gene_lists .keys ()]):
163+ raise ValueError ("Gene lists must be provided for all omics types." )
164+
157165 feature_dataset = None
158166 for omic in omics :
159167 if feature_dataset is None :
160168 feature_dataset = load_and_reduce_gene_features (
161169 feature_type = omic ,
162- gene_list = None if omic == "methylation" else gene_list ,
170+ gene_list = gene_lists [ omic ] ,
163171 data_path = data_path ,
164172 dataset_name = dataset_name ,
165173 )
166174 else :
167175 feature_dataset .add_features (
168176 load_and_reduce_gene_features (
169177 feature_type = omic ,
170- gene_list = None if omic == "methylation" else gene_list ,
178+ gene_list = gene_lists [ omic ] ,
171179 data_path = data_path ,
172180 dataset_name = dataset_name ,
173181 )
0 commit comments