def test_get_data_from_3zt9_via_AddSequenceToMmcif_get_best_match(self): self.test_files.one_sequence() expected_result = self.test_files.sample_seq['pdb|3zt9|A'] entity_dict = self.test_files.observed_seq mm = AddSequenceToMmcif(input_mmcif=self.test_files.cif, output_mmcif='output.cif', fasta_file=self.test_files.fasta) mm.process_input_sequences() best_seq, best_score = mm.get_best_match( mmcif_sequence=entity_dict['1']['sequence']) self.assertTrue(best_seq == expected_result) self.assertTrue(best_score > 0)
def test_missing_fasta_file(self): mm = AddSequenceToMmcif(input_mmcif='input.cif', output_mmcif='output.cif', fasta_file='missing_file.fasta') data = mm.process_input_sequences() self.assertEqual(data, dict()) self.assertTrue(len(data.keys()) == 0)
def test_invalid_fasta_file(self): mm = AddSequenceToMmcif( input_mmcif='input.cif', output_mmcif='output.cif', fasta_file=self.test_files.TEST_INVALID_FASTA_ONE_SEQUENCE) data = mm.process_input_sequences() self.assertEqual(data, dict()) self.assertTrue(len(data.keys()) == 0)
def test_process_fasta_five_chains(self): self.test_files.five_sequences() expected_result = self.test_files.sample_seq mm = AddSequenceToMmcif(input_mmcif='input.cif', output_mmcif='output.cif', fasta_file=self.test_files.fasta) data = mm.process_input_sequences() self.assertTrue(len(data.keys()) == 5) for key in data: self.assertTrue(key in expected_result) self.assertTrue(data[key] == expected_result[key])
def test_process_sequence_two_chains(self): sequence = 'MEKLEVGIYTRAREGEIACGDACLVKRVEGVIFLAVGDGIGHGPEAARAAEIAIASMESSMNTGLVNIFQLCHRELRGTRGAVAALCRVDRRQGLWQAAIVGNIHVKILSAKGIITPLATPGILGYNYPHQLLIAKGSYQEGDLFLIHSDGIQEGAVPLALLANYRLTAEELVRLIGEKYGRRDDDVAVIVAR' chains = 'A,B' mm = AddSequenceToMmcif(input_mmcif='input.cif', output_mmcif='output.cif', input_chainids=chains, input_sequence=sequence) data = mm.process_input_sequences() self.assertTrue(len(data.keys()) == 2) for key in data: self.assertTrue(key in chains.split(',')) self.assertTrue(data[key] == sequence)