--selection A,B C => Contacts calculated (only) between chains A and C; and B and C. --selection A B C => Contacts calculated (only) between chains A and B; B and C; and A and C. """ sel_opt = ap.add_argument_group('Selection Options', description=_co_help) sel_opt.add_argument('--selection', nargs='+', metavar=('A B', 'A,B C')) cmd = ap.parse_args() if cmd.quiet: _stdout = sys.stdout sys.stdout = open(os.devnull, 'w') struct_path = _check_path(cmd.structf) # Parse structure structure, n_chains, n_res = parse_structure(struct_path) print('[+] Parsed structure file {0} ({1} chains, {2} residues)'.format( structure.id, n_chains, n_res)) # Make selection dict from user option or PDB chains if cmd.selection: selection_dict = {} for igroup, group in enumerate(cmd.selection): chains = group.split(',') for chain in chains: if chain in selection_dict: errmsg = 'Selections must be disjoint sets: {0} is repeated'.format( chain) raise ValueError(errmsg) selection_dict[chain] = igroup else:
--selection A B C => Contacts calculated (only) between chains A and B; B and C; and A and C. """ sel_opt = ap.add_argument_group('Selection Options', description=_co_help) sel_opt.add_argument('--selection', nargs='+', metavar=('A B', 'A,B C')) cmd = ap.parse_args() # setup logging log_level = logging.ERROR if cmd.quiet else logging.INFO logging.basicConfig(level=log_level, stream=sys.stdout, format="%(message)s") logger = logging.getLogger('Prodigy') struct_path = _check_path(cmd.structf) # Parse structure structure, n_chains, n_res = parse_structure(struct_path) logger.info('[+] Parsed structure file {0} ({1} chains, {2} residues)'.format(structure.id, n_chains, n_res)) prodigy = Prodigy(structure, cmd.selection, cmd.temperature) prodigy.predict(distance_cutoff=cmd.distance_cutoff, acc_threshold=cmd.acc_threshold) prodigy.print_prediction(quiet=cmd.quiet) # Print out interaction network if cmd.contact_list: fname = struct_path[:-4] + '.ic' prodigy.print_contacts(fname) # Print out interaction network if cmd.pymol_selection: fname = struct_path[:-4] + '.pml' prodigy.print_pymol_script(fname)