Esempio n. 1
0
    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})
Esempio n. 2
0
    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})
Esempio n. 3
0
    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 )