def test_pdbfix_KC1D_HUMAN_D0_4KB8_D(): set_loglevel('debug') template_pdb_gz_filepath = get_installed_resource_filename(os.path.join('tests', 'resources', 'KC1D_HUMAN_D0_4KB8_D.pdb.gz')) template_pdb_filepath = os.path.join(ensembler.core.default_project_dirnames.templates_structures_resolved, 'KC1D_HUMAN_D0_4KB8_D.pdb') with ensembler.utils.enter_temp_dir(): ensembler.utils.create_dir(ensembler.core.default_project_dirnames.templates_structures_resolved) ensembler.utils.create_dir(ensembler.core.default_project_dirnames.templates_structures_modeled_loops) with gzip.open(template_pdb_gz_filepath) as template_pdb_gz_file: with open(template_pdb_filepath, 'w') as template_pdb_file: contents = template_pdb_gz_file.read() if type(contents) == bytes: contents = contents.decode('utf-8') template_pdb_file.write(contents) template = Mock() template.id = 'KC1D_HUMAN_D0_4KB8_D' template.seq = 'LRVGNRYRLGRKIGSGSFGDIYLGTDIAAGEEVAIKLECVKTKHPQLHIESKIYKMMQGGVGIPTIRWCGAEGDYNVMVMELLGPSLEDLFNFCSRKFSLKTVLLLADQMISRIEYIHSKNFIHRDVKPDNFLMGLGKKGNLVYIIDFGLAKKYRDARTHQHIPYRENKNLTGTARYASINTHLGIEQSRRDDLESLGYVLMYFNLGSLPWQGLKAATKRQKYERISEKKMSTPIEVLCKGYPSEFATYLNFCRSLRFDDKPDYSYLRQLFRNLFHRQGFSYDYVFDWNMLKFGASRAADDAERERRDREERLRH' missing_residues = pdbfix_template(template) assert (0, 278) not in missing_residues assert missing_residues == { (0, 14): ['SER', 'GLY', 'SER', 'PHE', 'GLY'], (0, 34): ['VAL', 'LYS', 'THR', 'LYS', 'HIS'], (0, 147): ['ARG', 'THR', 'HIS'], }
def test_loopmodel_KC1D_HUMAN_D0_4HNF_A(): with integrationtest_context(set_up_project_stage='templates_resolved'): template = Mock() template.id = 'KC1D_HUMAN_D0_4HNF_A' template.seq = 'YRLGRKIGSGSFGDIYLGTDIAAGEEVAIKLECVKTKHPQLHIESKIYKMMQGGVGIPTIRWCGAEGDYNVMVMELLGPSLEDLFNFCSRKFSLKTVLLLADQMISRIEYIHSKNFIHRDVKPDNFLMGLGKKGNLVYIIDFGLAKKYRDARTHQHIPYRENKNLTGTARYASINTHLGIEQSRRDDLESLGYVLMYFNLGSLPWQGLKAATKRQKYERISEKKMSTPIEVLCKGYPSEFATYLNFCRSLRFDDKPDYSYLRQLFRNLF' missing_residues = pdbfix_template(template) loopmodel_template(template, missing_residues) assert os.path.exists(os.path.join('templates', 'structures-modeled-loops', 'KC1D_HUMAN_D0_4HNF_A.pdb'))
def test_loopmodel_KC1D_HUMAN_D0_3UZP_A(): """ No missing residues """ with integrationtest_context(set_up_project_stage='templates_resolved'): template = Mock() template.id = 'KC1D_HUMAN_D0_3UZP_A' template.seq = 'YRLGRKIGSGSFGDIYLGTDIAAGEEVAIKLECVKTKHPQLHIESKIYKMMQGGVGIPTIRWCGAEGDYNVMVMELLGPSLEDLFNFCSRKFSLKTVLLLADQMISRIEYIHSKNFIHRDVKPDNFLMGLGKKGNLVYIIDFGLAKKYRDARTHQHIPYRENKNLTGTARYASINTHLGIEQSRRDDLESLGYVLMYFNLGSLPWQGLKAATKRQKYERISEKKMSTPIEVLCKGYPSEFATYLNFCRSLRFDDKPDYSYLRQLFRNLF' missing_residues = pdbfix_template(template) loopmodel_template(template, missing_residues) assert not os.path.exists(os.path.join(ensembler.core.default_project_dirnames.templates_structures_modeled_loops, 'KC1D_HUMAN_D0_3UZP_A.pdb')) log = yaml.load(open(os.path.join(ensembler.core.default_project_dirnames.templates_structures_modeled_loops, 'KC1D_HUMAN_D0_3UZP_A-loopmodel-log.yaml'))) assert log['no_missing_residues'] == True
def test_pdbfix_ABL1_HUMAN_D0_2E2B_B(): template_pdb_gz_filepath = get_installed_resource_filename(os.path.join('resources', 'ABL1_HUMAN_D0_2E2B_B.pdb.gz')) template_pdb_filepath = os.path.join(ensembler.core.default_project_dirnames.templates_structures_resolved, 'ABL1_HUMAN_D0_2E2B_B.pdb') with ensembler.utils.enter_temp_dir(): ensembler.utils.create_dir(ensembler.core.default_project_dirnames.templates_structures_resolved) ensembler.utils.create_dir(ensembler.core.default_project_dirnames.templates_structures_modeled_loops) with gzip.open(template_pdb_gz_filepath) as template_pdb_gz_file: with open(template_pdb_filepath, 'w') as template_pdb_file: contents = template_pdb_gz_file.read() if type(contents) == bytes: contents = contents.decode('utf-8') template_pdb_file.write(contents) template = Mock() template.id = 'ABL1_HUMAN_D0_2E2B_B' template.seq = 'ITMKHKLGGGQYGEVYEGVWKKYSLTVAVKTLKEDTMEVEEFLKEAAVMKEIKHPNLVQLLGVCTREPPFYIITEFMTYGNLLDYLRECNRQEVNAVVLLYMATQISSAMEYLEKKNFIHRDLAARNCLVGENHLVKVADFGLSRLMTGDTYTAHAGAKFPIKWTAPESLAYNKFSIKSDVWAFGVLLWEIATYGMSPYPGIDLSQVYELLEKDYRMERPEGCPEKVYELMRACWQWNPSDRPSFAEIHQAFETMFQESSISDEVEKELGKQ' missing_residues = pdbfix_template(template) assert (0, 271) not in missing_residues assert missing_residues == { (0, 32): ['LYS', 'GLU', 'ASP', 'THR', 'MET'], (0, 139): ['ARG', 'LEU', 'MET', 'THR', 'GLY', 'ASP'], }
def test_pdbfix_ABL1_HUMAN_D0_2E2B_B(): set_loglevel('debug') template_pdb_gz_filepath = get_installed_resource_filename(os.path.join('tests', 'resources', 'ABL1_HUMAN_D0_2E2B_B.pdb.gz')) template_pdb_filepath = os.path.join(ensembler.core.default_project_dirnames.templates_structures_resolved, 'ABL1_HUMAN_D0_2E2B_B.pdb') with ensembler.utils.enter_temp_dir(): ensembler.utils.create_dir(ensembler.core.default_project_dirnames.templates_structures_resolved) ensembler.utils.create_dir(ensembler.core.default_project_dirnames.templates_structures_modeled_loops) with gzip.open(template_pdb_gz_filepath) as template_pdb_gz_file: with open(template_pdb_filepath, 'w') as template_pdb_file: contents = template_pdb_gz_file.read() if type(contents) == bytes: contents = contents.decode('utf-8') template_pdb_file.write(contents) template = Mock() template.id = 'ABL1_HUMAN_D0_2E2B_B' template.seq = 'ITMKHKLGGGQYGEVYEGVWKKYSLTVAVKTLKEDTMEVEEFLKEAAVMKEIKHPNLVQLLGVCTREPPFYIITEFMTYGNLLDYLRECNRQEVNAVVLLYMATQISSAMEYLEKKNFIHRDLAARNCLVGENHLVKVADFGLSRLMTGDTYTAHAGAKFPIKWTAPESLAYNKFSIKSDVWAFGVLLWEIATYGMSPYPGIDLSQVYELLEKDYRMERPEGCPEKVYELMRACWQWNPSDRPSFAEIHQAFETMFQESSISDEVEKELGKQ' missing_residues = pdbfix_template(template) assert (0, 271) not in missing_residues assert missing_residues == { (0, 32): ['LYS', 'GLU', 'ASP', 'THR', 'MET'], (0, 139): ['ARG', 'LEU', 'MET', 'THR', 'GLY', 'ASP'], }