Example #1
0
 def setUp(self):
     self.strings_to_sort = ['name1', 'name11', 'name10', 'name2', 'name21']
     self.correct_order_of_strings = ['name1', 'name2', 'name10', 'name11', 'name21']
     self.filenames_to_sort = ['20190718_beans_01_s1.nt' + str(i) + '.mda' for i in range(1, 64)]
     self.file_sorter = FileSorter()
     self.sorted_strings = self.file_sorter.sort_filenames(self.strings_to_sort)
     self.sorted_filenames = self.file_sorter.sort_filenames(self.filenames_to_sort)
Example #2
0
 def get_all_epochs(self, date: str) -> list:
     all_datasets = []
     directories = os.listdir(self.data_path + '/' + self.animal_name +
                              '/preprocessing/' + date)
     FileSorter.sort_filenames(directories)
     for directory in directories:
         if directory.startswith(date):
             dataset_name = (directory.split('_')[2] + '_' +
                             directory.split('_')[3]).split('.')[0]
             if not dataset_name in all_datasets:
                 all_datasets.append(dataset_name)
     return all_datasets
Example #3
0
 def get_probes_from_directory(path: str):
     probes = []
     files = FileSorter.sort_filenames(os.listdir(path))
     for probe_file in files:
         if fnmatch.fnmatch(probe_file, "probe*.yml"):
             probes.append(path + '/' + probe_file)
     return probes
Example #4
0
 def __extract_experiments(self, data_path, animal_name, dates):
     preprocessing_path = data_path + animal_name + '/preprocessing'
     if not dates:
         dates = FileSorter.sort_filenames(os.listdir(preprocessing_path))
     return {
         date: self.__extract_datasets(preprocessing_path + '/' + date)
         for date in dates
     }
Example #5
0
class TestFilenameSorter(TestCase):
    def setUp(self):
        self.strings_to_sort = ['name1', 'name11', 'name10', 'name2', 'name21']
        self.correct_order_of_strings = ['name1', 'name2', 'name10', 'name11', 'name21']
        self.filenames_to_sort = ['20190718_beans_01_s1.nt' + str(i) + '.mda' for i in range(1, 64)]
        self.file_sorter = FileSorter()
        self.sorted_strings = self.file_sorter.sort_filenames(self.strings_to_sort)
        self.sorted_filenames = self.file_sorter.sort_filenames(self.filenames_to_sort)

    def test_string_sorting(self):
        self.assertEqual(self.sorted_strings, self.correct_order_of_strings)

    def test_filename_sorting(self):
        self.assertEqual(self.sorted_filenames[1], '20190718_beans_01_s1.nt2.mda')
        self.assertEqual(self.sorted_filenames[9], '20190718_beans_01_s1.nt10.mda')
        self.assertEqual(self.sorted_filenames[18], '20190718_beans_01_s1.nt19.mda')
        self.assertEqual(self.sorted_filenames[19], '20190718_beans_01_s1.nt20.mda')
Example #6
0
 def __extract_experiments(self, data_path, animal_name, dates):
     preprocessing_path = os.path.join(data_path, animal_name,
                                       'preprocessing')
     if not dates:
         dates = FileSorter.sort_filenames(os.listdir(preprocessing_path))
     return {
         date:
         self.__extract_datasets(os.path.join(preprocessing_path, date))
         for date in dates
     }
Example #7
0
    def __extract_datasets(date_path):
        existing_datasets = set()
        datasets = {}
        directories = FileSorter.sort_filenames(os.listdir(date_path))

        for directory in directories:
            dir_split = directory.split('_')
            if dir_split[0].isdigit():
                dir_last_part = dir_split.pop().split('.')
                dataset_name = dir_split.pop() + '_' + dir_last_part[0]
                if not (dataset_name in existing_datasets):
                    datasets[dataset_name] = Dataset(dataset_name)
                    existing_datasets.add(dataset_name)
                for dataset in datasets.values():
                    if dataset_name == dataset.name:
                        dataset.add_data_to_dataset(
                            date_path + '/' + directory + '/',
                            dir_last_part.pop())
        return datasets
Example #8
0
 def get_all_data_from_dataset(self, data_type):
     directories = os.listdir(self.data[data_type])
     FileSorter.sort_filenames(directories)
     return directories