def load_table(name, external=False, sep=','): ''' This function loads a csv file to into a Qtable ''' # Here we're just finding the delimiters in case someone # wants tab separation or whatever other crazy formats # someone might try to stuff through here. Note: Autodetecting # the delimiter with sniffer does not work very well for online # csv files, at least how I tried it. So I guess we can write this: # TODO: figure out how to make csv.sniffer work well with online files # so we can autodetect the delimiters. # Probably not the best way of doing this... extension = name.split(".")[-1] if extension != 'csv': print("The file " + name + " needs to be a .csv file to load properly") return # The tables made by the QtableWidget have a little bit of a different # format that caouses the index to be topsy-turvy as compared to regular # csv files, this flag prevents us from accidentally using data as an index try: if not external: df = pd.read_csv(name, index_col=0, sep=sep) if external: try: df = pd.read_csv(name, sep=sep) except UnicodeDecodeError: df = pd.read_csv(name, sep=sep, encoding="ISO-8859-1") except FileNotFoundError: print("Cannot find the file " + name + ", please check that the path is correct.") return # This lets us scroll large data sets. qgrid.set_grid_option('forceFitColumns', False) return qgrid.show_grid(df, show_toolbar=True)
except ImportError: from IPython.html import widgets try: import traitlets except ImportError: from IPython.utils import traitlets from . import ( retrieve, LcmsRun, to_dataframe, database, get_chromatogram, get_spectrogram, get_info ) from .object_helpers import format_timestamp try: import qgrid qgrid.nbinstall(overwrite=True) qgrid.set_grid_option('forceFitColumns', False) qgrid.set_grid_option('defaultColumnWidth', 120) except Exception: print('Could not import QGrid') def create_qgrid(objects, options=None): """Create a qgrid from a list of metatlas objects. """ dataframe = to_dataframe(objects) if options: defaults = qgrid.grid.defaults.grid_options options = defaults.update(options) else: options = qgrid.grid.defaults.grid_options grid = qgrid.grid.QGridWidget(df=dataframe,
def create_joblist_tab(self): items = [] self.btn_joblist_visualize = self.create_btn('Visualize', 'success') self.btn_joblist_download = self.create_btn('Download', 'warning') self.btn_joblist_delete = self.create_btn('Delete', 'danger') self.btn_joblist_refresh = self.create_btn('Refresh', 'info') # Buttons items.append( ipyw.Box([ self.btn_joblist_visualize, self.btn_joblist_download, self.btn_joblist_delete, self.btn_joblist_refresh ])) #items.append(ipyw.Box([self.btn_joblist_visualize, self.btn_joblist_delete, self.btn_joblist_refresh])) # Job list Grid qgrid.set_grid_option('maxVisibleRows', 10) df = pd.DataFrame(columns=self.JOBLIST_COLS).set_index('jobid') self.grid_joblist = qgrid.show_grid(df, grid_options={ 'editable': False, 'fullWidthRows': False, 'forceFitColumns': False, 'defaultColumnWidth': 144 }) self.grid_joblist.add_class('hg_grid_joblist') items.append(self.grid_joblist) # for grid click handler display( Javascript(''' document.addEventListener("DOMNodeInserted", function (ev) { var node = ev.target; if( $(node).hasClass('slick-row') ){ $(node).click(function(){ if ($(this)[0].children.length > 0){ var jobid = $(this)[0].children[0].innerHTML; //console.log("Init.hgmain.load_job_output(" + jobid+ ")"); IPython.notebook.kernel.execute("Init.hgmain.load_job_output(" + jobid+ ")"); } }); } }); ''')) self.txt_joboutout_title = ipyw.Label(value='Output') items.append(self.txt_joboutout_title) self.txt_joboutput = ipyw.Textarea(value='', layout=ipyw.Layout(height="250px", width="100%"), disabled=True) self.txt_joboutput.add_class('hg_txt_joboutput') items.append(self.txt_joboutput) panel = ipyw.Box(items, layout=ipyw.Layout(display='flex', flex_flow='column', border='1px solid #ddd', width='100%', padding='10px 10px 10px 10px')) panel.add_class('hg_tab_content') return panel
from metatlas import gui as mgui import numpy as np import time import os from IPython.display import display try: import ipywidgets as widgets except ImportError: from IPython.html import widgets try: import qgrid qgrid.nbinstall(overwrite=True) qgrid.set_grid_option('defaultColumnWidth', 200) except Exception: print('Could not import QGrid') from datetime import datetime import pandas as pd import json import gspread from oauth2client.client import SignedJwtAssertionCredentials from matplotlib import pyplot as plt import re def clean_string(oldstr): newstr = re.sub('[\[\]]', '', oldstr)
from ipywidgets import HTML import ipywidgets as widgets from oawidgets.plantgl import PlantGL import openalea.strawberry from openalea.mtg.io import write_mtg from openalea.mtg import MTG from openalea.strawberry.application.layout import layout_dataframe, layout_output_wgt, layout_visu3d from openalea.deploy.shared_data import shared_data data_directory = shared_data(openalea.strawberry.__path__) if layout_dataframe == "qgrid": try: import qgrid qgrid.set_grid_option('maxVisibleRows', 10) except: layout_dataframe == "pandas" if layout_visu3d == "pgljupyter": try: from pgljupyter import SceneWidget except: layout_visu3d = "oawidgets" def init_allmtg(): global all_mtg all_mtg = MTG()
import sys import sqlparse # Import all models for current dataset m = ModelDelegator(os.environ.get('DATASET')) m.import_all(globals()) # Access to Scanner protobufs cfg = Config() proto = ProtobufGenerator(cfg) # Only run if we're in an IPython notebook if get_ipython() is not None: # Render all DataFrames via qgrid import qgrid qgrid.set_grid_option('minVisibleRows', 1) qgrid.enable() # Matplotlib/seaborn config import matplotlib.pyplot as plt import seaborn as sns plt.rc("axes.spines", top=False, right=False) sns.set_style('white') def progress_bar(n): import progressbar return progressbar.ProgressBar(max_value=n, widgets=[ progressxbar.Percentage(), ' ',
import sys sys.path.insert( 0, '/global/project/projectdirs/metatlas/anaconda/lib/python2.7/site-packages' ) #sys.path.append('/project/projectdirs/metatlas/projects/ms_monitor_tools') import metatlas_get_data_helper_fun as ma_data from metatlas import metatlas_objects as metob from metatlas import h5_query as h5q from metatlas import gui as mgui import numpy as np import os from IPython.display import display try: import ipywidgets as widgets except ImportError: from IPython.html import widgets try: import qgrid qgrid.nbinstall(overwrite=True) qgrid.set_grid_option('defaultColumnWidth', 200) except Exception: print('Could not import QGrid') from datetime import datetime import pandas as pd import json import gspread from oauth2client.client import SignedJwtAssertionCredentials def get_rt_mz_tolerance_from_user():
import sys sys.path.insert(0,'/global/project/projectdirs/metatlas/anaconda/lib/python2.7/site-packages' ) #sys.path.append('/project/projectdirs/metatlas/projects/ms_monitor_tools') import metatlas_get_data_helper_fun as ma_data from metatlas import metatlas_objects as metob from metatlas import h5_query as h5q from metatlas import gui as mgui import numpy as np import os from IPython.display import display try: import ipywidgets as widgets except ImportError: from IPython.html import widgets try: import qgrid qgrid.nbinstall(overwrite=True) qgrid.set_grid_option('defaultColumnWidth', 200) except Exception: print('Could not import QGrid') from datetime import datetime import pandas as pd import json import gspread from oauth2client.client import SignedJwtAssertionCredentials
from metatlas import gui as mgui import numpy as np import time import os from IPython.display import display try: import ipywidgets as widgets except ImportError: from IPython.html import widgets try: import qgrid qgrid.nbinstall(overwrite=True) qgrid.set_grid_option('defaultColumnWidth', 200) except Exception: print('Could not import QGrid') from datetime import datetime import pandas as pd import json import gspread from oauth2client.client import SignedJwtAssertionCredentials from matplotlib import pyplot as plt import re def clean_string(oldstr): newstr = re.sub('[\[\]]','',oldstr) newstr = re.sub('[^A-Za-z0-9+-]+', '_', newstr)