11import filecmp
2+ import pickle
23from pathlib import Path
34
45import pandas as pd
56
67import spras .analysis .ml as ml
8+ from spras .dataset import Dataset
79from spras .evaluation import Evaluation
810
911INPUT_DIR = 'test/evaluate/input/'
@@ -17,10 +19,24 @@ class TestEvaluate:
1719 @classmethod
1820 def setup_class (cls ):
1921 """
20- Create the expected output directory
22+ Create the expected output directory and pickled toy dataset file
2123 """
2224 Path (OUT_DIR ).mkdir (parents = True , exist_ok = True )
2325
26+ out_dataset = Path (OUT_DIR , 'data.pickle' )
27+ out_dataset .unlink (missing_ok = True )
28+
29+ dataset = Dataset ({
30+ "label" : 'toy' ,
31+ "edge_files" : ["input-interactome.txt" ],
32+ "node_files" : ["input-nodes.txt" ],
33+ "data_dir" : INPUT_DIR ,
34+ "other_files" : []
35+ })
36+
37+ with open (out_dataset , "wb" ) as f :
38+ pickle .dump (dataset , f )
39+
2440 def test_precision_recall_pca_chosen_pathway (self ):
2541 output_file = Path (OUT_DIR + "test-pr-per-pathway-pca-chosen.txt" )
2642 output_file .unlink (missing_ok = True )
@@ -63,7 +79,7 @@ def test_node_ensemble(self):
6379 out_path_file = Path (OUT_DIR + 'node-ensemble.csv' )
6480 out_path_file .unlink (missing_ok = True )
6581 ensemble_network = [INPUT_DIR + 'ensemble-network.tsv' ]
66- input_network = INPUT_DIR + 'data.pickle'
82+ input_network = OUT_DIR + 'data.pickle'
6783 node_ensemble_dict = Evaluation .edge_frequency_node_ensemble (GS_NODE_TABLE , ensemble_network , input_network )
6884 node_ensemble_dict ['ensemble' ].to_csv (out_path_file , sep = '\t ' , index = False )
6985 assert filecmp .cmp (out_path_file , EXPECT_DIR + 'expected-node-ensemble.csv' , shallow = False )
@@ -72,7 +88,7 @@ def test_empty_node_ensemble(self):
7288 out_path_file = Path (OUT_DIR + 'empty-node-ensemble.csv' )
7389 out_path_file .unlink (missing_ok = True )
7490 empty_ensemble_network = [INPUT_DIR + 'empty-ensemble-network.tsv' ]
75- input_network = INPUT_DIR + 'data.pickle'
91+ input_network = OUT_DIR + 'data.pickle'
7692 node_ensemble_dict = Evaluation .edge_frequency_node_ensemble (GS_NODE_TABLE , empty_ensemble_network ,
7793 input_network )
7894 node_ensemble_dict ['empty' ].to_csv (out_path_file , sep = '\t ' , index = False )
@@ -84,7 +100,7 @@ def test_multiple_node_ensemble(self):
84100 out_path_empty_file = Path (OUT_DIR + 'empty-node-ensemble.csv' )
85101 out_path_empty_file .unlink (missing_ok = True )
86102 ensemble_networks = [INPUT_DIR + 'ensemble-network.tsv' , INPUT_DIR + 'empty-ensemble-network.tsv' ]
87- input_network = INPUT_DIR + 'data.pickle'
103+ input_network = OUT_DIR + 'data.pickle'
88104 node_ensemble_dict = Evaluation .edge_frequency_node_ensemble (GS_NODE_TABLE , ensemble_networks , input_network )
89105 node_ensemble_dict ['ensemble' ].to_csv (out_path_file , sep = '\t ' , index = False )
90106 assert filecmp .cmp (out_path_file , EXPECT_DIR + 'expected-node-ensemble.csv' , shallow = False )
0 commit comments