@@ -14,66 +14,59 @@ def get_data_orientation(wildcards):
1414
1515def get_umap_sample_paths (wildcards ):
1616 return [annot .loc [wildcards .sample ,'data' ],
17- os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,'{}' .format (wildcards .sample ),'UMAP' ,'UMAP_{}_' .format (wildcards .metric )+ '{}' .format (max (config ["umap" ]["n_neighbors" ]))+ '_graph.pickle' )]
17+ os .path .join (result_path ,'{}' .format (wildcards .sample ),'UMAP' ,'UMAP_{}_' .format (wildcards .metric )+ '{}' .format (max (config ["umap" ]["n_neighbors" ]))+ '_graph.pickle' )]
1818
1919def get_dimred_paths (wildcards ):
2020 path_dict = {}
2121
2222 if wildcards .method == "PCA" :
23- path_dict ['dimred_data' ] = os .path .join (config ["result_path" ],'unsupervised_analysis' ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_data_small.csv' .format (wildcards = wildcards ))
24- path_dict ['dimred_axes' ] = os .path .join (config ["result_path" ],'unsupervised_analysis' ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_axes.csv' .format (wildcards = wildcards ))
25- path_dict ['dimred_var' ] = os .path .join (config ["result_path" ],'unsupervised_analysis' ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_var.csv' .format (wildcards = wildcards ))
26- path_dict ['dimred_loadings' ] = os .path .join (config ["result_path" ],'unsupervised_analysis' ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_loadings_small.csv' .format (wildcards = wildcards ))
27- # return {
28- # 'dimred_data': os.path.join(config["result_path"],'unsupervised_analysis',wildcards.sample,'PCA','PCA_{wildcards.parameters}_data_small.csv'.format(wildcards=wildcards)),
29- # 'dimred_axes': os.path.join(config["result_path"],'unsupervised_analysis',wildcards.sample,'PCA','PCA_{wildcards.parameters}_axes.csv'.format(wildcards=wildcards)),
30- # 'dimred_var': os.path.join(config["result_path"],'unsupervised_analysis',wildcards.sample,'PCA','PCA_{wildcards.parameters}_var.csv'.format(wildcards=wildcards)),
31- # 'dimred_loadings': os.path.join(config["result_path"],'unsupervised_analysis',wildcards.sample,'PCA','PCA_{wildcards.parameters}_loadings_small.csv'.format(wildcards=wildcards)),
32- # 'metadata': annot.loc[wildcards.sample,"metadata"],
33- # 'metadata_features': os.path.join(config["result_path"],'unsupervised_analysis',wildcards.sample,'metadata_features.csv')
34- # }
23+ path_dict ['dimred_data' ] = os .path .join (result_path ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_data_small.csv' .format (wildcards = wildcards ))
24+ path_dict ['dimred_axes' ] = os .path .join (result_path ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_axes.csv' .format (wildcards = wildcards ))
25+ path_dict ['dimred_var' ] = os .path .join (result_path ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_var.csv' .format (wildcards = wildcards ))
26+ path_dict ['dimred_loadings' ] = os .path .join (result_path ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_loadings_small.csv' .format (wildcards = wildcards ))
3527 else :
36- path_dict ['dimred_data' ] = os .path .join (config ["result_path" ],'unsupervised_analysis' ,wildcards .sample ,wildcards .method ,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_data.csv' .format (wildcards = wildcards ))
37- path_dict ['dimred_axes' ] = os .path .join (config ["result_path" ],'unsupervised_analysis' ,wildcards .sample ,wildcards .method ,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_axes.csv' .format (wildcards = wildcards ))
38- # return {
39- # 'dimred_data': os.path.join(config["result_path"],'unsupervised_analysis',wildcards.sample,wildcards.method,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_data.csv'.format(wildcards=wildcards)),
40- # 'dimred_axes': os.path.join(config["result_path"],'unsupervised_analysis',wildcards.sample,wildcards.method,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_axes.csv'.format(wildcards=wildcards)),
41- # 'metadata': annot.loc[wildcards.sample,"metadata"],
42- # 'metadata_features': os.path.join(config["result_path"],'unsupervised_analysis',wildcards.sample,'metadata_features.csv')
43- # }
28+ path_dict ['dimred_data' ] = os .path .join (result_path ,wildcards .sample ,wildcards .method ,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_data.csv' .format (wildcards = wildcards ))
29+ path_dict ['dimred_axes' ] = os .path .join (result_path ,wildcards .sample ,wildcards .method ,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_axes.csv' .format (wildcards = wildcards ))
4430
4531 # add metadata
4632 path_dict ['metadata' ] = annot .loc [wildcards .sample ,"metadata" ]
4733 # add features
48- path_dict ['metadata_features' ] = os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'metadata_features.csv' )
34+ path_dict ['metadata_features' ] = os .path .join (result_path ,wildcards .sample ,'metadata_features.csv' )
4935 # add clustering results
5036 if len (cluster_methods ) > 0 :
51- path_dict ['metadata_clusterings' ] = os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'metadata_clusterings.csv' )
37+ path_dict ['metadata_clusterings' ] = os .path .join (result_path ,wildcards .sample ,'metadata_clusterings.csv' )
5238
5339 return path_dict
5440
5541def get_dimred_features_paths (wildcards ):
5642
5743 if wildcards .method == "PCA" :
5844 return {
59- 'dimred_data' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_data_small.csv' .format (wildcards = wildcards )),
60- 'dimred_axes' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_axes.csv' .format (wildcards = wildcards )),
61- 'metadata' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'metadata_features.csv' )
45+ 'dimred_data' : os .path .join (result_path ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_data_small.csv' .format (wildcards = wildcards )),
46+ 'dimred_axes' : os .path .join (result_path ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_axes.csv' .format (wildcards = wildcards )),
47+ 'metadata' : os .path .join (result_path ,wildcards .sample ,'metadata_features.csv' )
6248 }
6349 else :
6450 return {
65- 'dimred_data' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,wildcards .method ,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_data.csv' .format (wildcards = wildcards )),
66- 'dimred_axes' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,wildcards .method ,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_axes.csv' .format (wildcards = wildcards )),
67- 'metadata' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'metadata_features.csv' )
51+ 'dimred_data' : os .path .join (result_path ,wildcards .sample ,wildcards .method ,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_data.csv' .format (wildcards = wildcards )),
52+ 'dimred_axes' : os .path .join (result_path ,wildcards .sample ,wildcards .method ,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_axes.csv' .format (wildcards = wildcards )),
53+ 'metadata' : os .path .join (result_path ,wildcards .sample ,'metadata_features.csv' )
6854 }
6955
56+ ########## HEATMAPS ##########
57+ def get_heatmap_paths (wildcards ):
58+ return {'data' : annot .loc [wildcards .sample ,'data' ],
59+ 'metadata' : annot .loc [wildcards .sample ,"metadata" ],
60+ 'observations_distance' : os .path .join (result_path ,wildcards .sample ,'Heatmap' ,'DistanceMatrix_{wildcards.metric}_observations.csv' .format (wildcards = wildcards )),
61+ 'features_distance' : os .path .join (result_path ,wildcards .sample ,'Heatmap' ,'DistanceMatrix_{wildcards.metric}_features.csv' .format (wildcards = wildcards )),
62+ }
7063
7164########## CLUSTERING ##########
7265
7366# get paths for clustification
7467def get_clustification_paths (wildcards ):
7568 return [annot .loc [wildcards .sample ,'data' ],
76- os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'{}' .format (config ["clustification" ]["method" ]),'{}_clusterings.csv' .format (config ["clustification" ]["method" ]))
69+ os .path .join (result_path ,wildcards .sample ,'{}' .format (config ["clustification" ]["method" ]),'{}_clusterings.csv' .format (config ["clustification" ]["method" ]))
7770 ]
7871
7972# get all clustering results of one method to be aggregated into {method}/{method}_clusterings.csv
@@ -90,33 +83,31 @@ def get_clustering_paths(wildcards):
9083 else :
9184 leiden_parameters .append ("{}_NA" .format (partition_type ))
9285
93- path_list = path_list + expand (os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'Leiden' ,'Leiden_{metric}_{n_neighbors}_{leiden_parameters}_clustering.csv' ),
86+ path_list = path_list + expand (os .path .join (result_path ,wildcards .sample ,'Leiden' ,'Leiden_{metric}_{n_neighbors}_{leiden_parameters}_clustering.csv' ),
9487 metric = config ["leiden" ]["metrics" ],
9588 n_neighbors = config ["leiden" ]["n_neighbors" ],
9689 leiden_parameters = leiden_parameters ,
97- # partition_type=config["leiden"]["partition_types"],
98- # resolution=config["leiden"]["resolutions"]
9990 )
10091 return path_list
10192
10293# get all aggregated clustering results across methods to be aggregated into {sample}/metadata_clusterings.csv
10394def get_aggregated_clustering_paths (wildcards ):
104- return expand (os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'{method}' ,'{method}_clusterings.csv' ), method = cluster_methods )
95+ return expand (os .path .join (result_path ,wildcards .sample ,'{method}' ,'{method}_clusterings.csv' ), method = cluster_methods )
10596
10697# get the aggregated clustering results across methods for visualization
10798def get_metadata_clustering_paths (wildcards ):
10899
109100 if wildcards .method == "PCA" :
110101 return {
111- 'dimred_data' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_data_small.csv' .format (wildcards = wildcards )),
112- 'dimred_axes' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_axes.csv' .format (wildcards = wildcards )),
113- 'metadata' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'metadata_clusterings.csv' )
102+ 'dimred_data' : os .path .join (result_path ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_data_small.csv' .format (wildcards = wildcards )),
103+ 'dimred_axes' : os .path .join (result_path ,wildcards .sample ,'PCA' ,'PCA_{wildcards.parameters}_axes.csv' .format (wildcards = wildcards )),
104+ 'metadata' : os .path .join (result_path ,wildcards .sample ,'metadata_clusterings.csv' )
114105 }
115106 else :
116107 return {
117- 'dimred_data' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,wildcards .method ,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_data.csv' .format (wildcards = wildcards )),
118- 'dimred_axes' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,wildcards .method ,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_axes.csv' .format (wildcards = wildcards )),
119- 'metadata' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'metadata_clusterings.csv' )
108+ 'dimred_data' : os .path .join (result_path ,wildcards .sample ,wildcards .method ,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_data.csv' .format (wildcards = wildcards )),
109+ 'dimred_axes' : os .path .join (result_path ,wildcards .sample ,wildcards .method ,'{wildcards.method}_{wildcards.parameters}_{wildcards.n_components}_axes.csv' .format (wildcards = wildcards )),
110+ 'metadata' : os .path .join (result_path ,wildcards .sample ,'metadata_clusterings.csv' )
120111 }
121112
122113########## CLUSTER VALIDATION ##########
@@ -126,36 +117,36 @@ def get_clustree_paths(wildcards):
126117
127118 if wildcards .content == "features" :
128119 return {
129- 'metadata_clustering' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample , "metadata_clusterings.csv" ),
130- 'metadata' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample ,'metadata_features.csv' )
120+ 'metadata_clustering' : os .path .join (result_path ,wildcards .sample , "metadata_clusterings.csv" ),
121+ 'metadata' : os .path .join (result_path ,wildcards .sample ,'metadata_features.csv' )
131122 }
132123 else :
133124 return {
134- 'metadata_clustering' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample , "metadata_clusterings.csv" ),
125+ 'metadata_clustering' : os .path .join (result_path ,wildcards .sample , "metadata_clusterings.csv" ),
135126 'metadata' : annot .loc [wildcards .sample ,"metadata" ]
136127 }
137128
138129# get paths to determine external cluster indices
139130def get_external_validation_paths (wildcards ):
140- return {'clusterings' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample , "metadata_clusterings.csv" ),
131+ return {'clusterings' : os .path .join (result_path ,wildcards .sample , "metadata_clusterings.csv" ),
141132 'metadata' : annot .loc [wildcards .sample ,"metadata" ]
142133 }
143134
144135# get paths to determine internal cluster indices
145136def get_internal_validation_paths (wildcards ):
146137 return {#'data': annot.loc[wildcards.sample,'data'],
147138 'metadata' : annot .loc [wildcards .sample ,"metadata" ],
148- 'clusterings' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample , "metadata_clusterings.csv" ),
149- 'pca' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' , wildcards .sample ,'PCA' ,'PCA_default_data .csv' ),
150- 'pca_var' : os .path .join (config [ " result_path" ], 'unsupervised_analysis' , wildcards .sample ,'PCA' ,'PCA_default_var .csv' )
139+ 'clusterings' : os .path .join (result_path ,wildcards .sample , "metadata_clusterings.csv" ),
140+ 'pca' : os .path .join (result_path , wildcards .sample ,'PCA' ,'PCA_{}_{}_data .csv' . format ( config [ "pca" ][ "svd_solver" ], config [ "pca" ][ "n_components" ]) ),
141+ 'pca_var' : os .path .join (result_path , wildcards .sample ,'PCA' ,'PCA_{}_{}_var .csv' . format ( config [ "pca" ][ "svd_solver" ], config [ "pca" ][ "n_components" ]) )
151142 }
152143
153144# for plotting heatmaps of cluster indices
154145def get_validation_paths (wildcards ):
155146 if wildcards .type == "external" :
156147 return {
157- idx : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample , "cluster_validation" , "external_index_{}.csv" .format (idx )) for idx in indices_external
148+ idx : os .path .join (result_path ,wildcards .sample , "cluster_validation" , "external_index_{}.csv" .format (idx )) for idx in indices_external
158149 }
159150 else :
160- return {"ranked_internal_indices" : os .path .join (config [ " result_path" ], 'unsupervised_analysis' ,wildcards .sample , "cluster_validation" , "internal_indices_ranked.csv" )}
151+ return {"ranked_internal_indices" : os .path .join (result_path ,wildcards .sample , "cluster_validation" , "internal_indices_ranked.csv" )}
161152
0 commit comments