示例#1
0
    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)
示例#2
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)
示例#3
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)
示例#4
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])
示例#5
0
    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)