def attempt_symlink_structure_files(pdbid, project_structures_dir, structure_dirs, structure_type='pdb'): project_structure_filepath = os.path.join(project_structures_dir, structure_type, pdbid + structure_type_file_extension_mapper[structure_type]) for structure_dir in structure_dirs: structure_filepath = os.path.join(structure_dir, pdbid + structure_type_file_extension_mapper[structure_type]) if os.path.exists(structure_filepath): if file_exists_and_not_empty(structure_filepath) > 0: if os.path.exists(project_structure_filepath): os.remove(project_structure_filepath) os.symlink(structure_filepath, project_structure_filepath) break
def get_pdb_and_sifts_files(pdbid, structure_dirs=None): if type(structure_dirs) != list: structure_dirs = [] project_structures_dir = 'structures' for structure_type in ['pdb', 'sifts']: project_structure_filepath = os.path.join(project_structures_dir, structure_type, pdbid + structure_type_file_extension_mapper[structure_type]) if not file_exists_and_not_empty(project_structure_filepath): attempt_symlink_structure_files(pdbid, project_structures_dir, structure_dirs, structure_type=structure_type) if not os.path.exists(project_structure_filepath): download_structure_file(pdbid, project_structure_filepath, structure_type=structure_type)
def get_structure_files_for_single_pdbchain(pdbid, structure_dirs=None): if type(structure_dirs) != list: structure_dirs = [] project_structures_dir = 'structures' for structure_type in ['pdb', 'sifts']: project_structure_filepath = os.path.join( project_structures_dir, structure_type, pdbid + structure_type_file_extension_mapper[structure_type]) if not file_exists_and_not_empty(project_structure_filepath): attempt_symlink_structure_files(pdbid, project_structures_dir, structure_dirs, structure_type=structure_type) if not os.path.exists(project_structure_filepath): download_structure_file(pdbid, project_structure_filepath, structure_type=structure_type)
def attempt_symlink_structure_files(pdbid, project_structures_dir, structure_dirs, structure_type='pdb'): project_structure_filepath = os.path.join( project_structures_dir, structure_type, pdbid + structure_type_file_extension_mapper[structure_type]) for structure_dir in structure_dirs: structure_filepath = os.path.join( structure_dir, pdbid + structure_type_file_extension_mapper[structure_type]) if os.path.exists(structure_filepath): if file_exists_and_not_empty(structure_filepath) > 0: if os.path.exists(project_structure_filepath): os.remove(project_structure_filepath) os.symlink(structure_filepath, project_structure_filepath) break