def setUp(self):
     current_working_dir = os.getcwd()  # Should be this package.
     input_folder = current_working_dir + "/SampleClassifierDataFolder"
     argument_processing_service = ArgumentProcessingService(input_folder)
     arguments = argument_processing_service.handleInputFolder()
     data_formatting_service = DataFormattingService(arguments)
     self.arguments = data_formatting_service.formatData()
Exemplo n.º 2
0
def handleInputFolderProcessing(input_folder):
    argument_processing_service = ArgumentProcessingService(input_folder)
    processed_arguments = argument_processing_service.handleInputFolder()
    if not processed_arguments:
        log.error("Exiting program, invalid data sent in target folder.")
        return None
    return processed_arguments
 def formatRandomizedDataForIndividualCombo(self, is_classifier, algorithm,
                                            hyperparams, input_folder):
     random_data_generator = RandomizedDataGenerator(
         RandomizedDataGenerator.GENERATED_DATA_FOLDER)
     random_data_generator.generateRandomizedFiles(
         3, 1000, 150, is_classifier, self.INDIVIDUAL_MONTE_CARLO_PERMS, .8,
         algorithm, hyperparams)
     argument_processing_service = ArgumentProcessingService(input_folder)
     return argument_processing_service.handleInputFolder()
 def testInputTextFileCorrectlyParsed(self):
     input_folder = self.current_working_dir + "/SampleClassifierDataFolder"
     argument_processing_service = ArgumentProcessingService(input_folder)
     arguments = argument_processing_service.handleInputFolder()
     assert arguments is not None
     assert len(arguments) == 3
     assert (len(arguments.get(argument_processing_service.RESULTS)) + 1) == \
            len(arguments.get(argument_processing_service.FEATURES).keys())
     assert arguments.get(argument_processing_service.IS_CLASSIFIER)
Exemplo n.º 5
0
 def runMLAnalysis(self, is_classifier):
     random_data_generator = RandomizedDataGenerator(
         RandomizedDataGenerator.GENERATED_DATA_FOLDER)
     random_data_generator.generateRandomizedFiles(3, 1000, 150,
                                                   is_classifier, 10, .8)
     input_folder = self.current_working_dir + "/" + RandomizedDataGenerator.GENERATED_DATA_FOLDER
     argument_processing_service = ArgumentProcessingService(input_folder)
     ml_service = MachineLearningService(
         argument_processing_service.handleInputFolder())
     return ml_service.analyze(input_folder)
 def testTrimmingExistingFeatures(self):
     input_folder = self.current_working_dir + "/SampleClassifierDataFolder"
     argument_processing_service = ArgumentProcessingService(input_folder)
     inputs = argument_processing_service.handleInputFolder()
     ml_service = MachineLearningService(inputs)
     gene_list_combos = ml_service.determineGeneListCombos()
     trainer = RandomForestTrainer(True)
     trimmed_combos = ml_service.fetchValidGeneListCombos(
         input_folder, gene_list_combos, trainer)
     assert len(trimmed_combos) == (len(gene_list_combos) - 1)
 def processArguments(self, is_classifier, analyze_all, num_features):
     random_data_generator = RandomizedDataGenerator(
         RandomizedDataGenerator.GENERATED_DATA_FOLDER)
     random_data_generator.generateRandomizedFiles(5,
                                                   50,
                                                   num_features,
                                                   is_classifier,
                                                   10,
                                                   .8,
                                                   analyze_all=analyze_all)
     input_folder = self.current_working_dir + "/" + RandomizedDataGenerator.GENERATED_DATA_FOLDER
     argument_processing_service = ArgumentProcessingService(input_folder)
     arguments = argument_processing_service.handleInputFolder()
     return arguments
 def formatRandomizedData(self, is_classifier, analyze_all,
                          use_static_features):
     random_data_generator = RandomizedDataGenerator(
         RandomizedDataGenerator.GENERATED_DATA_FOLDER)
     random_data_generator.generateRandomizedFiles(
         3,
         1000,
         150,
         is_classifier,
         self.MONTE_CARLO_PERMS,
         .8,
         analyze_all=analyze_all,
         use_static_features=use_static_features)
     input_folder = self.current_working_dir + "/" + RandomizedDataGenerator.GENERATED_DATA_FOLDER
     argument_processing_service = ArgumentProcessingService(input_folder)
     argument_processing_service.log.setLevel(logging.DEBUG)
     return argument_processing_service.handleInputFolder()
    def formatRandomizedData(self, is_classifier, num_cell_lines):
        randomized_data_path = self.current_working_dir + "/" + RandomizedDataGenerator.GENERATED_DATA_FOLDER
        processed_arguments = {}
        for i in range(self.NUM_DRUGS):
            drug_name = self.DRUG_DIRECTORY + SafeCastUtil.safeCast(i + 1, str)
            drug_path = randomized_data_path + "/" + drug_name
            if drug_name not in os.listdir(randomized_data_path):
                os.mkdir(drug_path)
            random_data_generator = RandomizedDataGenerator(drug_path)
            random_data_generator.generateRandomizedFiles(3, num_cell_lines, 150, is_classifier, 2, .8,
                                                          use_static_features=True)
            argument_processing_service = ArgumentProcessingService(drug_path)
            processed_args = argument_processing_service.handleInputFolder()
            processed_args.recs_config.viability_acceptance = 0.1
            processed_arguments[drug_name] = processed_args
            ml_service = MachineLearningService(processed_args)
            combos = [ml_service.generateFeatureSetString(combo) for combo in ml_service.determineGeneListCombos()]
            self.setupDrugData(combos, ml_service, drug_path)

        return processed_arguments
 def instantiateDataFormattingService(self, input_folder):
     argument_processing_service = ArgumentProcessingService(input_folder)
     arguments = argument_processing_service.handleInputFolder()
     self.data_formatting_service = DataFormattingService(arguments)