Exemplo n.º 1
0
    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)
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
    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, [])
Exemplo n.º 6
0
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)