def load_jmol_conf(self, file_name, number_of_chains=1): """ Load chain configuration from JMOL file @string file_name: Name of jmol file @dict map_dict: dict with Monomer class @int number_of_chains: number of chains in jmol file """ f = open(file_name, "r+") data = f.readlines() header = int(data[0]) coordinate_data = map(lambda x: x.split(" "), data[2:]) chains = [] for chain_idx in range(number_of_chains): chain_seq = [] slice_coordinate = coordinate_data[chain_idx * header:] self.chain_list[chain_idx].positions_list = [] for c_idx in range(len(slice_coordinate)): c = slice_coordinate[c_idx] crr = tuple(map(lambda x: float(x)/settings.JMOL_SCALE, tuple(c[1:]))) print "Load", crr self.chain_list[chain_idx].chain[c_idx]._open = crr self.chain_list[chain_idx].chain[c_idx].position = Lattice.convert_to_periodic_coordinate(crr) self.chain_list[chain_idx].positions_list.append(self.chain_list[chain_idx].chain[c_idx]._position) self.chain_list[chain_idx] = self.rebuild_direction(self.chain_list[chain_idx])