Example #1
0
def _read_data(
        candidate_file, json_file, patients_data, patient_id,
        mhc_database: MhcDatabase) -> Tuple[List[Neoantigen], List[Patient]]:
    # parse patient data
    patients = ModelConverter.parse_patients_file(patients_data, mhc_database)
    # parse the neoantigen candidate data
    if candidate_file is not None:
        neoantigens = ModelConverter.parse_candidate_file(
            candidate_file, patient_id)
    else:
        neoantigens = ModelConverter.parse_neoantigens_json_file(json_file)

    return neoantigens, patients
 def test_json_neoantigens2model(self):
     neoantigens_file = pkg_resources.resource_filename(
         neofox.tests.__name__, "resources/test_data_json.json"
     )
     neoantigens = ModelConverter.parse_neoantigens_json_file(neoantigens_file)
     self.assertEqual(5, len(neoantigens))
     for n in neoantigens:
         self.assertTrue(isinstance(n, Neoantigen))
         self.assertNotEmpty(n.mutation)
         self.assertNotEmpty(n.patient_identifier)
         self.assertNotEmpty(n.rna_expression)
         self.assertNotEmpty(n.rna_variant_allele_frequency)
         self.assertNotEmpty(n.dna_variant_allele_frequency)
         self.assertTrue(isinstance(n.mutation, Mutation))
         self.assertNotEmpty(n.mutation.position)