def viewtrj(self): path = self.path+'/TMPQCEIMS/TMP.'+self.trj file_list = os.listdir(path) probes = [] for file in file_list: if ('trj' in file)&('pdb' not in file): trajectory = path+'/'+file command = 'sed -i \'\' \'s/SI/Si/g\' ' + trajectory print('running comman:',command) os.system(command) command = 'obabel -ixyz ' + trajectory + ' -opdb -O' + trajectory +'.pdb' print('running comman:',command) os.system(command) #mol = openbabel.OBMol() #obConversion.ReadFile(mol, trajectory) #obConversion.WriteFile(mol, trajectory+'.pdb') probes.append(trajectory+'.pdb') #traj = pt.load(trajectory+'.pdb') #self.view.add_trajectory(traj) self.view = [] for p in probes: traj = pt.load(p) self.view.append(nv.show_pytraj(traj))
def test_representations(): view = nv.show_pytraj(pt.datafiles.load_tz2()) view.representations = DEFAULT_REPR view.add_cartoon() representations_2 = DEFAULT_REPR[:] representations_2.append({'type': 'cartoon', 'params': {'sele': 'all'}}) _assert_dict_list_equal(view.representations, representations_2) # accept dict too (to specify seperate reprs for different component def func(): view.representations = {'0': MagicMock()} assert view._dry_run( func)['methodName'] == '_set_representation_from_repr_dict' # Representations # make fake params try: view._ngl_repr_dict = {'c0': {'0': {'parameters': {}}}} except (KeyError, TraitError): # in real application, we are not allowed to assign values pass view._ngl_repr_dict = REPR_DICT representation_widget = RepresentationControl(view, 0, 0) representation_widget representation_widget._on_parameters_changed(change=dict(new=dict()))
def test_coordinates_meta(): from mdtraj.testing import get_fn fn, tn = [get_fn('frame0.pdb'),] * 2 trajs = [pt.load(fn, tn), md.load(fn, top=tn), pmd.load_file(tn, fn)] N_FRAMES = trajs[0].n_frames from MDAnalysis import Universe u = Universe(tn, fn) trajs.append(Universe(tn, fn)) views = [nv.show_pytraj(trajs[0]), nv.show_mdtraj(trajs[1]), nv.show_parmed(trajs[2])] views.append(nv.show_mdanalysis(trajs[3])) for index, (view, traj) in enumerate(zip(views, trajs)): view.frame = 3 nt.assert_equal(view.trajlist[0].n_frames, N_FRAMES) nt.assert_equal(len(view.trajlist[0].get_coordinates_dict().keys()), N_FRAMES) if index in [0, 1]: # pytraj, mdtraj if index == 0: aa_eq(view.coordinates[0], traj.xyz[3], decimal=4) else: aa_eq(view.coordinates[0],10*traj.xyz[3], decimal=4) view.coordinates = traj.xyz[2]
def test_caching_bool(): view = nv.show_pytraj(pt.datafiles.load_tz2()) nt.assert_false(view.cache) view.caching() nt.assert_true(view.cache) view.uncaching() nt.assert_false(view.cache)
def test_remote_call(): # how to test JS? view = nv.show_pytraj(pt.datafiles.load_tz2()) view._remote_call('centerView', target='stage') fn = 'notebooks/tz2.pdb' kwargs = {'defaultRepresentation': True} view._remote_call('loadFile', target='stage', args=[fn,], kwargs=kwargs)
def test_representations(): view = nv.show_pytraj(pt.datafiles.load_tz2()) nt.assert_equal(view.representations, DEFAULT_REPR) view.add_cartoon() representations_2 = DEFAULT_REPR[:] representations_2.append({'type': 'cartoon', 'params': {'sele': 'all'}}) print(representations_2) print(view.representations) _assert_dict_list_equal(view.representations, representations_2)
def visualize(self, *args, **kwargs): """require NGLView Parameters ---------- args and kwargs : NGLView's arguments """ import nglview return nglview.show_pytraj(self, *args, **kwargs)
def test_coordinates_dict(): traj = pt.load(nv.datafiles.TRR, nv.datafiles.PDB) view = nv.show_pytraj(traj) view.frame = 1 coords = view.coordinates_dict[0] aa_eq(coords, traj[1].xyz) # dummy view._send_binary = False view.coordinates_dict = {0: coords}
def test_player_simple(): traj = pt.datafiles.load_tz2() view = nv.show_pytraj(traj) nt.assert_false(view.player.sync_frame) # dummy component_slider = ipywidgets.IntSlider() repr_slider = ipywidgets.IntSlider() # dummy test player = nv.player.TrajectoryPlayer(view) player.smooth() player.camera = 'perspective' player.camera = 'orthographic' player.frame player.frame = 10 player.count player.sync_frame = False player.sync_frame = True player.parameters = dict(step=2) player._display() player._make_button_center() player._make_button_theme() player._make_button_reset_theme() player._make_widget_preference() player._show_download_image() player._make_button_url('dummy_url', description='dummy_url') player._show_website() player._make_button_qtconsole() player._make_text_picked() player._refresh(component_slider, repr_slider) player._make_widget_repr() player._make_resize_notebook_slider() player._make_button_export_image() player._make_repr_playground() player._make_drag_widget() player._make_spin_box() player._make_widget_picked() player._make_export_image_widget() player._make_theme_box() player._make_general_box() player._update_padding() player.on_spin_changed(change=dict(new=True)) player.on_spin_x_changed(change=dict(new=1)) player.on_spin_y_changed(change=dict(new=1)) player.on_spin_z_changed(change=dict(new=1)) player.on_spin_speed_changed(change=dict(new=0.5)) player._real_time_update = True player._make_widget_repr() player.widget_component_slider player.widget_repr_slider player._create_all_tabs() player._create_all_widgets() player.widget_tab = None player._create_all_widgets()
def test_coordinates_dict(): traj = pt.load(nv.datafiles.TRR, nv.datafiles.PDB) view = nv.show_pytraj(traj) view.frame = 1 coords = view.coordinates_dict[0] aa_eq(coords, traj[1].xyz) # dummy view._send_binary = False view.coordinates_dict = {0: coords} # increase coverage for IndexError: make index=1000 (which is larger than n_frames) view._set_coordinates(1000)
def test_player_simple(): traj = pt.datafiles.load_tz2() view = nv.show_pytraj(traj) # dummy component_slider = ipywidgets.IntSlider() repr_slider = ipywidgets.IntSlider() # dummy test player = nv.player.TrajectoryPlayer(view) player.smooth() player.camera = 'perspective' player.camera = 'orthographic' player.frame player.frame = 10 player.parameters = dict(step=2) player._display() player._make_button_center() w = player._make_widget_preference() w.children[0].value = 1. player.widget_preference = None w = player._make_widget_preference() w.children[0].value = 1. player._show_download_image() player._make_text_picked() player._refresh(component_slider, repr_slider) player._make_widget_repr() player._make_resize_notebook_slider() player._make_button_export_image() player._make_repr_playground() player._make_widget_picked() player._make_export_image_widget() player._make_general_box() player._update_padding() player._real_time_update = True player._make_widget_repr() player.widget_component_slider player.widget_repr_slider player._create_all_tabs() player._create_all_widgets() player.widget_tab = None player._create_all_widgets() player._simplify_repr_control() player._real_time_update = True player.widget_repr_slider.value = 0 player.widget_repr_slider.value = 1 slider_notebook = player._make_resize_notebook_slider() slider_notebook.value = 300 player.widget_repr_name.value = 'surface' player.widget_repr_name.value = 'cartoon'
def test_load_data(): view = nv.show_pytraj(pt.datafiles.load_tz2()) # load blob with ext blob = open(nv.datafiles.PDB).read() view._load_data(blob, ext='pdb') # raise if passing blob but does not provide ext nt.assert_raises(AssertionError, view._load_data, blob) # load PyTrajectory t0 = nv.PyTrajTrajectory(pt.datafiles.load_ala3()) view._load_data(t0)
def test_load_data(): view = nv.show_pytraj(pt.datafiles.load_tz2()) # load blob with ext blob = open(nv.datafiles.PDB).read() view._load_data(blob, ext='pdb') # raise if passing blob but does not provide ext nt.assert_raises(ValueError, view._load_data, blob) # load PyTrajectory t0 = nv.PyTrajTrajectory(pt.datafiles.load_ala3()) view._load_data(t0)
def test_movie_maker(mock_image, ImageSequenceClip): from nglview.contrib.movie import MovieMaker ImageSequenceClip.write_gif = MagicMock() ImageSequenceClip.write_videofile = MagicMock() traj = pytraj.datafiles.load_tz2() view = nglview.show_pytraj(traj) movie = MovieMaker(view, in_memory=True, download_folder='here', render_params={'factor': 4}, moviepy_params={}, stop=2) movie.make()
def test_representations(): view = nv.show_pytraj(pt.datafiles.load_tz2()) nt.assert_equal(view.representations, DEFAULT_REPR) view.add_cartoon() representations_2 = DEFAULT_REPR[:] representations_2.append({'type': 'cartoon', 'params': {'sele': 'all'}}) print(representations_2) print(view.representations) _assert_dict_list_equal(view.representations, representations_2) # Representations # make fake params view._repr_dict = {'c0': {'0': {'parameters': {}}}} representation_widget = Representation(view, 0, 0) representation_widget._display()
def test_add_repr_shortcut(): view = nv.show_pytraj(pt.datafiles.load_tz2()) assert isinstance(view, nv.NGLWidget), 'must be instance of NGLWidget' # add view.add_cartoon(color='residueindex') view.add_rope(color='red') # update view.update_cartoon(opacity=0.4) view.update_rope(coor='blue') # remove view.remove_cartoon() view.remove_rope()
def to_nglview(traj, **kwd): # pragma: no cover '''convert to nglview object Parameters ---------- traj : pytraj.TrajectoryIterator or Trajectory **kwd : additional arguments for nglview Returns ------- nglview.NGLWidget ''' import nglview as nv return nv.show_pytraj(traj, **kwd)
def test_coordinates_meta(): from mdtraj.testing import get_fn fn, tn = [get_fn('frame0.pdb'),] * 2 trajs = [pt.load(fn, tn), md.load(fn, top=tn), pmd.load_file(tn, fn)] N_FRAMES = trajs[0].n_frames from MDAnalysis import Universe u = Universe(tn, fn) trajs.append(Universe(tn, fn)) views = [nv.show_pytraj(trajs[0]), nv.show_mdtraj(trajs[1]), nv.show_parmed(trajs[2])] views.append(nv.show_mdanalysis(trajs[3])) for index, (view, traj) in enumerate(zip(views, trajs)): view.frame = 3 nt.assert_equal(view._trajlist[0].n_frames, N_FRAMES)
def test_player_link_to_ipywidgets(): traj = pt.datafiles.load_tz2() view = nv.show_pytraj(traj) int_text = IntText(2) float_text = BoundedFloatText(40, min=10) HBox([int_text, float_text]) link((int_text, 'value'), (view.player, 'step')) link((float_text, 'value'), (view.player, 'delay')) assert view.player.step == 2 assert view.player.delay == 40 float_text.value = 100 assert view.player.delay == 100 float_text.value= 0.00 # we set min=10 assert view.player.delay == 10
def test_load_data(): view = nv.show_pytraj(pt.datafiles.load_tz2()) # load blob with ext blob = open(nv.datafiles.PDB).read() view._load_data(blob, ext='pdb') # raise if passing blob but does not provide ext nt.assert_raises(ValueError, view._load_data, blob) # raise if passing dummy name nt.assert_raises(NameError, lambda : view._load_data(hahahaha)) # load PyTrajectory t0 = nv.PyTrajTrajectory(pt.datafiles.load_ala3()) view._load_data(t0) # load current folder view._load_data(get_fn('tz2.pdb'))
def test_player_link_to_ipywidgets(): traj = pt.datafiles.load_tz2() view = nv.show_pytraj(traj) int_text = IntText(2) float_text = BoundedFloatText(40, min=10) HBox([int_text, float_text]) link((int_text, 'value'), (view.player, 'step')) link((float_text, 'value'), (view.player, 'delay')) nt.assert_equal(view.player.step, 2) nt.assert_equal(view.player.delay, 40) float_text.value = 100 nt.assert_equal(view.player.delay, 100) float_text.value = 0.00 # we set min=10 nt.assert_equal(view.player.delay, 10)
def test_representations(): view = nv.show_pytraj(pt.datafiles.load_tz2()) assert view.representations == DEFAULT_REPR view.add_cartoon() representations_2 = DEFAULT_REPR[:] representations_2.append({'type': 'cartoon', 'params': {'sele': 'all'}}) _assert_dict_list_equal(view.representations, representations_2) # Representations # make fake params try: view._repr_dict = {'c0': {'0': {'parameters': {}}}} except (KeyError, TraitError): # in real application, we are not allowed to assign values pass view._repr_dict = REPR_DICT representation_widget = RepresentationControl(view, 0, 0) representation_widget representation_widget._on_parameters_changed(change=dict(new=dict()))
def test_movie_maker(ImageSequenceClip): from nglview.contrib.movie import MovieMaker ImageSequenceClip.write_gif = MagicMock() ImageSequenceClip.write_videofile = MagicMock() traj = pytraj.datafiles.load_tz2() view = nglview.show_pytraj(traj) movie = MovieMaker(view, in_memory=False) movie.download_folder = os.path.join(os.path.dirname(__file__), 'data') # fake _event movie._event = FakeEvent() movie._event._event_set = True movie.make() movie._event._event_set = False movie.make() movie = MovieMaker(view, in_memory=False) movie.skip_render = True movie.make() movie.output = 'hello.mp4' movie.make() movie.interupt() movie._event = None movie.interupt() movie.in_memory = True movie.make() movie._event._event_set = False movie.make() movie = MovieMaker(view, download_folder='here', render_params=dict(factor=4), moviepy_params={}, stop=2) movie.make()
def test_load_data(): view = nv.show_pytraj(pt.datafiles.load_tz2()) # load blob with ext blob = open(nv.datafiles.PDB).read() view._load_data(blob, ext='pdb') # raise if passing blob but does not provide ext with pytest.raises(ValueError): view._load_data(blob) # raise if passing dummy name with pytest.raises(NameError): view._load_data(hahahaha) # load PyTrajectory t0 = nv.PyTrajTrajectory(pt.datafiles.load_ala3()) view._load_data(t0) # load current folder view._load_data(get_fn('tz2.pdb'))
def test_speed(): import pytraj as pt from pytraj.testing import get_fn, Timer traj = pt.datafiles.load_tz2_ortho() fname_tuple = ([traj.filename, traj.top.filename, 100], [nv.datafiles.TRR, nv.datafiles.PDB, 10]) for (fn, tn, n_files) in fname_tuple: traj = pt.load([fn,]*n_files, tn) print('trajectory', traj) view = nv.show_pytraj(traj) xyz = traj.xyz xyz_bytes = traj.xyz.tobytes() xyz_base64 = nv.encode_numpy(xyz) with Timer() as t: view.caching() print('caching', t.time_gap()) with Timer() as t: view.send(xyz_bytes) print('send bytes', t.time_gap()) with Timer() as t: view.send(xyz_base64) print('send base64', t.time_gap()) with Timer() as t: nv.encode_numpy(xyz) print('encode_numpy', t.time_gap()) with Timer() as t: xyz.tobytes() print('tobytes', t.time_gap())
def test_add_repr_shortcut(): view = nv.show_pytraj(pt.datafiles.load_tz2()) assert isinstance(view, nv.NGLWidget), 'must be instance of NGLWidget' view.add_cartoon(color='residueindex') view.add_rope(color='red')
def test_player(): traj = pt.datafiles.load_tz2() view = nv.show_pytraj(traj) nt.assert_false(view.player.sync_frame)
def default_view(): traj = pt.load(nv.datafiles.TRR, nv.datafiles.PDB) return nv.show_pytraj(traj)
def test_download_image(): """just make sure it can be called """ view = nv.show_pytraj(pt.datafiles.load_tz2()) view.download_image('myname.png', 2, False, False, True)
import pytraj as pt import nglview as nv traj = pt.load('sim.nc', top='sim.prmtop') traj.strip(":TIP3") view = nv.show_pytraj(traj) view.clear() view.add_cartoon('protein', color_scheme='residueindex') view.add_ball_and_stick('not protein', opacity=0.5) view
def test_coordinates_dict(): traj = pt.load(nv.datafiles.TRR, nv.datafiles.PDB) view = nv.show_pytraj(traj) view.frame = 1 coords = view.coordinates_dict[0] aa_eq(coords, traj[1].xyz)
def test_player_simple(): traj = pt.datafiles.load_tz2() view = nv.show_pytraj(traj) assert not view.player.sync_frame # dummy component_slider = ipywidgets.IntSlider() repr_slider = ipywidgets.IntSlider() # dummy test player = nv.player.TrajectoryPlayer(view) player.smooth() player.camera = 'perspective' player.camera = 'orthographic' player.frame player.frame = 10 player.count player.sync_frame = False player.sync_frame = True player.parameters = dict(step=2) player._display() player._make_button_center() player._make_button_theme() player._make_button_reset_theme() w = player._make_widget_preference() w.children[0].value = 1. player.widget_preference = None w = player._make_widget_preference() w.children[0].value = 1. player._show_download_image() player._make_button_url('dummy_url', description='dummy_url') player._show_website() player._make_button_qtconsole() player._make_text_picked() player._refresh(component_slider, repr_slider) player._make_widget_repr() player._make_resize_notebook_slider() player._make_button_export_image() player._make_repr_playground() player._make_drag_widget() player._make_spin_box() player._make_widget_picked() player._make_export_image_widget() player._make_theme_box() player._make_general_box() player._update_padding() player.spin = True player.on_spin_changed(change=dict(new=True)) player.on_spin_x_changed(change=dict(new=1)) player.on_spin_y_changed(change=dict(new=1)) player.on_spin_z_changed(change=dict(new=1)) player.on_spin_speed_changed(change=dict(new=0.5)) player._spin_x = 2 player._spin_y = 2 player._spin_z = 2 player.spin = False player.on_spin_changed(change=dict(new=True)) player.on_spin_x_changed(change=dict(new=1)) player.on_spin_y_changed(change=dict(new=1)) player.on_spin_z_changed(change=dict(new=1)) player.on_spin_speed_changed(change=dict(new=0.5)) player._on_widget_built(change=dict(new=player)) player._on_widget_built(change=dict(new=None)) player._real_time_update = True player._make_widget_repr() player.widget_component_slider player.widget_repr_slider player._create_all_tabs() player._create_all_widgets() player.widget_tab = None player._create_all_widgets() player._simplify_repr_control() player._real_time_update = True player.widget_repr_slider.value = 0 player.widget_repr_slider.value = 1 slider_notebook = player._make_resize_notebook_slider() slider_notebook.value = 300 player.widget_repr_name.value = 'surface' player.widget_repr_name.value = 'cartoon'