def trackster(self, trans, **kwargs): """ Display browser for the visualization denoted by id and add the datasets listed in `dataset_ids`. """ # define app configuration app = {'jscript' : "viz/trackster"} # get dataset to add id = kwargs.get("id", None) # get dataset to add new_dataset_id = kwargs.get("dataset_id", None) # set up new browser if no id provided if not id: # use dbkey from dataset to be added or from incoming parameter dbkey = None if new_dataset_id: decoded_id = self.decode_id(new_dataset_id) hda = self.hda_manager.get_owned(decoded_id, trans.user, current_history=trans.user) dbkey = hda.dbkey if dbkey == '?': dbkey = kwargs.get("dbkey", None) # save database key app['default_dbkey'] = dbkey else: # load saved visualization vis = self.get_visualization(trans, id, check_ownership=False, check_accessible=True) app['viz_config'] = self.get_visualization_config(trans, vis) # backup id app['id'] = id # add dataset id app['add_dataset'] = new_dataset_id # check for gene region gene_region = GenomeRegion.from_str(kwargs.get("gene_region", "")) # update gene region of saved visualization if user parses a new gene region in the url if gene_region.chrom is not None: app['gene_region'] = { 'chrom' : gene_region.chrom, 'start' : gene_region.start, 'end' : gene_region.end } # fill template return trans.fill_template('galaxy.panels.mako', config={'right_panel': True, 'app': app})
def trackster(self, trans, **kwargs): """ Display browser for the visualization denoted by id and add the datasets listed in `dataset_ids`. """ # define app configuration app = { 'jscript' : "viz/trackster" } # get dataset to add id = kwargs.get( "id", None ) # get dataset to add new_dataset_id = kwargs.get( "dataset_id", None ) # set up new browser if no id provided if not id: # use dbkey from dataset to be added or from incoming parameter dbkey = None if new_dataset_id: decoded_id = self.decode_id( new_dataset_id ) hda = self.hda_manager.get_owned( decoded_id, trans.user, current_history=trans.user ) dbkey = hda.dbkey if dbkey == '?': dbkey = kwargs.get( "dbkey", None ) # save database key app['default_dbkey'] = dbkey else: # load saved visualization vis = self.get_visualization( trans, id, check_ownership=False, check_accessible=True ) app['viz_config'] = self.get_visualization_config( trans, vis ) # backup id app['id'] = id; # add dataset id app['add_dataset'] = new_dataset_id # check for gene region gene_region = GenomeRegion.from_str(kwargs.get("gene_region", "")) # update gene region of saved visualization if user parses a new gene region in the url if gene_region.chrom is not None: app['gene_region'] = { 'chrom' : gene_region.chrom, 'start' : gene_region.start, 'end' : gene_region.end } # fill template return trans.fill_template('galaxy.panels.mako', config = {'right_panel' : True, 'app' : app})
def trackster(self, trans, id=None, **kwargs): """ Display browser for the visualization denoted by id and add the datasets listed in `dataset_ids`. """ # Get dataset to add. new_dataset_id = kwargs.get( "dataset_id", None ) # Check for gene region gene_region = GenomeRegion.from_str(kwargs.get("gene_region", "")) # Set up new browser if no id provided. if not id: # Use dbkey from dataset to be added or from incoming parameter. dbkey = None if new_dataset_id: dbkey = self.get_dataset( trans, new_dataset_id ).dbkey if dbkey == '?': dbkey = kwargs.get( "dbkey", None ) # fill template return trans.fill_template( "tracks/browser.mako", viewport_config=gene_region.__dict__, add_dataset=new_dataset_id, default_dbkey=dbkey ) # Display saved visualization. vis = self.get_visualization( trans, id, check_ownership=False, check_accessible=True ) viz_config = self.get_visualization_config( trans, vis ) # Update gene region of saved visualization if user parses a new gene region in the url if gene_region.chrom is not None: viz_config['viewport']['chrom'] = gene_region.chrom viz_config['viewport']['start'] = gene_region.start viz_config['viewport']['end'] = gene_region.end ''' FIXME: if new_dataset is not None: if trans.security.decode_id(new_dataset) in [ d["dataset_id"] for d in viz_config.get("tracks") ]: new_dataset = None # Already in browser, so don't add ''' # fill template return trans.fill_template( 'tracks/browser.mako', config=viz_config, add_dataset=new_dataset_id )