def get_chemical_diseases(self, direct_evidence=None, inference_gene_symbol=None, inference_score=None,
                              inference_score_operator=None, cas_rn=None, chemical_name=None,
                              chemical_id=None, chemical_definition=None, disease_definition=None,
                              disease_id=None, disease_name=None, limit=None, as_df=False):
        """Get chemical–disease associations with inference gene
        
        :param direct_evidence: direct evidence
        :param inference_gene_symbol: inference gene symbol
        :param inference_score: inference score
        :param inference_score_operator: inference score operator
        :param cas_rn:
        :param chemical_name: chemical name
        :param chemical_id:
        :param chemical_definition:
        :param disease_definition:
        :param disease_id:
        :param disease_name: disease name
        :param int limit: maximum number of results
        :param bool as_df: if set to True result returns as `pandas.DataFrame`
        :return: list of :class:`pyctd.manager.database.models.ChemicalDisease` objects

        .. seealso::
            
            :class:`pyctd.manager.models.ChemicalDisease`

            which is linked to:
            :class:`pyctd.manager.models.Disease`
            :class:`pyctd.manager.models.Chemical`
        """
        q = self.session.query(models.ChemicalDisease)

        if direct_evidence:
            q = q.filter(models.ChemicalDisease.direct_evidence.like(direct_evidence))

        if inference_gene_symbol:
            q = q.filter(models.ChemicalDisease.inference_gene_symbol.like(inference_gene_symbol))

        if inference_score:
            if inference_score_operator == ">":
                q = q.filter_by(models.ChemicalDisease.inference_score > inference_score)
            elif inference_score_operator == "<":
                q = q.filter_by(models.ChemicalDisease.inference_score > inference_score)

        q = self._join_chemical(q, cas_rn=cas_rn, chemical_id=chemical_id, chemical_name=chemical_name,
                                chemical_definition=chemical_definition)

        q = self._join_disease(q, disease_definition=disease_definition, disease_id=disease_id,
                               disease_name=disease_name)

        return self._limit_and_df(q, limit, as_df)
def get_chemical_diseases ( self , direct_evidence = None , inference_gene_symbol = None , inference_score = None , inference_score_operator = None , cas_rn = None , chemical_name = None , chemical_id = None , chemical_definition = None , disease_definition = None , disease_id = None , disease_name = None , limit = None , as_df = False ) : q = self . session . query ( models . ChemicalDisease ) if direct_evidence : q = q . filter ( models . ChemicalDisease . direct_evidence . like ( direct_evidence ) ) if inference_gene_symbol : q = q . filter ( models . ChemicalDisease . inference_gene_symbol . like ( inference_gene_symbol ) ) if inference_score : if inference_score_operator == ">" : q = q . filter_by ( models . ChemicalDisease . inference_score > inference_score ) elif inference_score_operator == "<" : q = q . filter_by ( models . ChemicalDisease . inference_score > inference_score ) q = self . _join_chemical ( q , cas_rn = cas_rn , chemical_id = chemical_id , chemical_name = chemical_name , chemical_definition = chemical_definition ) q = self . _join_disease ( q , disease_definition = disease_definition , disease_id = disease_id , disease_name = disease_name ) return self . _limit_and_df ( q , limit , as_df )
Get chemical–disease associations with inference gene
        
        :param direct_evidence: direct evidence
        :param inference_gene_symbol: inference gene symbol
        :param inference_score: inference score
        :param inference_score_operator: inference score operator
        :param cas_rn:
        :param chemical_name: chemical name
        :param chemical_id:
        :param chemical_definition:
        :param disease_definition:
        :param disease_id:
        :param disease_name: disease name
        :param int limit: maximum number of results
        :param bool as_df: if set to True result returns as `pandas.DataFrame`
        :return: list of :class:`pyctd.manager.database.models.ChemicalDisease` objects

        .. seealso::
            
            :class:`pyctd.manager.models.ChemicalDisease`

            which is linked to:
            :class:`pyctd.manager.models.Disease`
            :class:`pyctd.manager.models.Chemical`