scout/adapter/mongo/query.py
def gene_filter(self, query, mongo_query):
        """ Adds gene-related filters to the query object

        Args:
            query(dict): a dictionary of query filters specified by the users
            mongo_query(dict): the query that is going to be submitted to the database

        Returns:
            mongo_query(dict): returned object contains gene and panel-related filters

        """
        LOG.debug('Adding panel and genes-related parameters to the query')

        gene_query = []

        if query.get('hgnc_symbols') and query.get('gene_panels'):
            gene_query.append({'hgnc_symbols': {'$in': query['hgnc_symbols']}})
            gene_query.append({'panels': {'$in': query['gene_panels']}})
            mongo_query['$or']=gene_query
        else:
            if query.get('hgnc_symbols'):
                hgnc_symbols = query['hgnc_symbols']
                mongo_query['hgnc_symbols'] = {'$in': hgnc_symbols}
                LOG.debug("Adding hgnc_symbols: %s to query" %
                             ', '.join(hgnc_symbols))

            if query.get('gene_panels'):
                gene_panels = query['gene_panels']
                mongo_query['panels'] = {'$in': gene_panels}

        return gene_query
def gene_filter(self, query, mongo_query):
        """ Adds gene-related filters to the query object

        Args:
            query(dict): a dictionary of query filters specified by the users
            mongo_query(dict): the query that is going to be submitted to the database

        Returns:
            mongo_query(dict): returned object contains gene and panel-related filters

        """
        LOG.debug('Adding panel and genes-related parameters to the query')

        gene_query = []

        if query.get('hgnc_symbols') and query.get('gene_panels'):
            gene_query.append({'hgnc_symbols': {'$in': query['hgnc_symbols']}})
            gene_query.append({'panels': {'$in': query['gene_panels']}})
            mongo_query['$or']=gene_query
        else:
            if query.get('hgnc_symbols'):
                hgnc_symbols = query['hgnc_symbols']
                mongo_query['hgnc_symbols'] = {'$in': hgnc_symbols}
                LOG.debug("Adding hgnc_symbols: %s to query" %
                             ', '.join(hgnc_symbols))

            if query.get('gene_panels'):
                gene_panels = query['gene_panels']
                mongo_query['panels'] = {'$in': gene_panels}

        return gene_query
def gene_filter ( self , query , mongo_query ) : LOG . debug ( 'Adding panel and genes-related parameters to the query' ) gene_query = [ ] if query . get ( 'hgnc_symbols' ) and query . get ( 'gene_panels' ) : gene_query . append ( { 'hgnc_symbols' : { '$in' : query [ 'hgnc_symbols' ] } } ) gene_query . append ( { 'panels' : { '$in' : query [ 'gene_panels' ] } } ) mongo_query [ '$or' ] = gene_query else : if query . get ( 'hgnc_symbols' ) : hgnc_symbols = query [ 'hgnc_symbols' ] mongo_query [ 'hgnc_symbols' ] = { '$in' : hgnc_symbols } LOG . debug ( "Adding hgnc_symbols: %s to query" % ', ' . join ( hgnc_symbols ) ) if query . get ( 'gene_panels' ) : gene_panels = query [ 'gene_panels' ] mongo_query [ 'panels' ] = { '$in' : gene_panels } return gene_query
Adds gene-related filters to the query object

        Args:
            query(dict): a dictionary of query filters specified by the users
            mongo_query(dict): the query that is going to be submitted to the database

        Returns:
            mongo_query(dict): returned object contains gene and panel-related filters
Adds gene - related filters to the query object