def groups_from_folder(path, filename_templates, groupname_template="(*)", load=True): """Load a bunch of pdb files. Put them in groups with names taken from the filename, name each object groupname.molecule. Return a dictionary mapping group names to group objects. ARGUMENTS: Path in which the pdb files are stored List of regular expressions that the filenames must match. Template for the names of the groups. When creating a group name for a file, the group name will be this template with each instance of '(*)' replaced by a group from the regular expression, the first instance replaced with the first group, etc. Defaults to '(*)'""" dictionary = biodata.file_dict(path, filename_templates, groupname_template) for key, value in dictionary.iteritems(): dictionary[key] = Group(key) if load: cmd.load(value, key + ".molecule") cmd.disable(key) return dictionary
import os import sys sys.path.append(os.getcwd()+'/calculator modules') sys.path.append(os.getcwd()+'/pymol modules') from useful import one_letter from useful import CIDict import csv import warnings import numpy as np from Bio.PDB import PDBParser from biodata import file_dict import ezb structure_files = file_dict('structures with 1qd5', ['aligned_(.*).pdb']) parser = PDBParser() with warnings.catch_warnings(): warnings.simplefilter('ignore') structures = [(name, parser.get_structure(name, path)) \ for name, path in structure_files.items()] structures = CIDict(structures) with open('cored 1 selections with 1qd5.csv', 'rb') as f: reader = csv.reader(f) inclusive_selections = ezb.selections_by_resi(reader) with open('beta_selections.csv', 'rb') as f: reader = csv.reader(f) beta_selections = ezb.selections_by_resi(reader)