def __init__(self): self.interaction_manager = get_interaction_manager( *get_twod_signal_manager().get_interaction_data()) #TODO : REMOVE WEIRD POINTS for x in [[19, 6], [19, 7], [21, 6]]: print(self.interaction_manager.interaction_matrix[x]) self.interaction_manager.interaction_matrix[x[0]][x[1]] = 0 self.interaction_manager.interaction_matrix[x[1]][x[0]] = 0 self.interaction_matrix = self.interaction_manager.interaction_matrix self.interaction_matrix[self.interaction_matrix == 9] = 0 self.type_array = self.interaction_manager.type_array self.shift_data = self.interaction_manager.shift_data self.number_atoms = self.interaction_manager.number_atoms self.viewer = QtViewer() ac = np.random.rand(self.number_atoms, 3) * 3 self.coordinate_manager = CoordinateManager(ac, self.interaction_manager) self.renderer = self.viewer.add_renderer( BallAndStickRenderer, self.coordinate_manager.get_coordinates(), self.type_array, np.array([]))
def __init__(self): self.file_manager = FileManager() system, self.atom_coordinates = self.read_coordinates() # self.interaction_manager = get_interaction_manager(get_twod_signal_manager().get_interaction_matrix(), system.type_array.tolist(), np.zeros(shape=system.type_array.shape)) self.interaction_manager = get_interaction_manager(*get_twod_signal_manager().get_interaction_data()) self.viewer = QtViewer() self.best_response_value = 1000000.0 self.best_atom_coordinates = np.copy(self.atom_coordinates) self.fragments = self.generate_fragments(system) self.atom_coordinates = self.fix_hydrogen_bond_lengths(system, self.atom_coordinates)
def __init__(self, molecules, interaction_manager): self.molecules = molecules for molecule in self.molecules: molecule.r_array *= 1.85 self.v = QtViewer() self.renderers = {} for molecule in self.molecules: ar = self.v.add_renderer(BallAndStickRenderer, molecule.r_array, molecule.type_array, molecule.bonds) self.renderers[molecule] = ar self.best_response_value = 0 self.best_atom_coordinates = None self.twod_signal_manager = get_twod_signal_manager() self.interaction_manager = interaction_manager
def __init__(self, coordinates, interaction_manager): self.viewer = QtViewer() self.selected_atom = 0 self.active = True self.coordinates = None self.atoms = None self.bonds = None self.interaction_manager = interaction_manager self.viewer.widget.on_mouse.append(self.select) try: self.update(coordinates, interaction_manager) if len(coordinates) != len(self.atoms): raise Exception( "Atom List does not correspond to coordinate array") except Exception as e: self.disable(e)
def __init__(self): self.interaction_manager = get_interaction_manager( *get_twod_signal_manager().get_interaction_data()) im = self.interaction_manager.interaction_matrix im[19][6] = 0 im[19][7] = 0 """ for x in [9,10,11,12,13,17,18,19,20,21]: for y in range(self.interaction_manager.number_atoms): if im[x][y] == 3: im[x][y] = 0 im[y][x] = 0 """ self.interaction_matrix = self.interaction_manager.interaction_matrix self.type_array = self.interaction_manager.type_array self.shift_data = self.interaction_manager.shift_data self.number_atoms = self.interaction_manager.number_atoms self.global_bond_indices = self.interaction_manager.bonds self.bond_orders = self.interaction_manager.bond_orders self.viewer = QtViewer() self.best_response_value = 1000000.0 ac = np.random.rand(self.number_atoms, 3) * 0.001 #ac = FileManager().read_numpy_from_xyz('manual2.xyz') * 0.1 self.iteration_number = 0 self.coordinate_manager = CoordinateManager(self, ac, self.interaction_manager) self.fragments = self.generate_fragments_list() print(self.coordinate_manager.calculate_response_value(True)) self.interaction_manager.print_matrix() input("") self.delay = 0 """ for x in [0,1,2,3,4,5]: self.interaction_manager.interaction_matrix[self.interaction_manager.interaction_matrix==x] = 9 """ self.nullfrag = Fragment([], [], [], [], self.viewer, self.coordinate_manager, self.interaction_manager, [])
from chemlab.db import CirDB from chemlab.graphics import QtViewer from chemlab.graphics.renderers import AtomRenderer from chemlab.graphics.postprocessing import FXAAEffect, SSAOEffect # A series of compounds to display compounds = ["methane", "ethane", "propane", "butane"] db = CirDB() # Prepare the viewer v = QtViewer() v.widget.initializeGL() v.add_post_processing(SSAOEffect, kernel_size=128, kernel_radius=1.0) v.add_post_processing(FXAAEffect) for compound in compounds: mol = db.get("molecule", compound) rend = v.add_renderer(AtomRenderer, mol.r_array, mol.type_array) v.widget.camera.autozoom(mol.r_array) # Give some extra zoom v.widget.camera.mouse_zoom(1.0) v.widget.toimage(300, 300).save(compound + '.png') # Cleanup v.remove_renderer(rend)