From 950f37f06e9600a7ed6fbbcb9df463d7a32cdc82 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Wed, 4 Sep 2024 14:26:53 -0400 Subject: [PATCH 01/13] reorg --- src/dgipy/app/__init__.py | 1 + src/dgipy/{ => app}/graph_app.py | 0 src/dgipy/{ => app}/network_graph.py | 0 src/dgipy/network/__init__.py | 1 + 4 files changed, 2 insertions(+) create mode 100644 src/dgipy/app/__init__.py rename src/dgipy/{ => app}/graph_app.py (100%) rename src/dgipy/{ => app}/network_graph.py (100%) create mode 100644 src/dgipy/network/__init__.py diff --git a/src/dgipy/app/__init__.py b/src/dgipy/app/__init__.py new file mode 100644 index 0000000..c328aaf --- /dev/null +++ b/src/dgipy/app/__init__.py @@ -0,0 +1 @@ +"""Provide Dash-based graph application.""" diff --git a/src/dgipy/graph_app.py b/src/dgipy/app/graph_app.py similarity index 100% rename from src/dgipy/graph_app.py rename to src/dgipy/app/graph_app.py diff --git a/src/dgipy/network_graph.py b/src/dgipy/app/network_graph.py similarity index 100% rename from src/dgipy/network_graph.py rename to src/dgipy/app/network_graph.py diff --git a/src/dgipy/network/__init__.py b/src/dgipy/network/__init__.py new file mode 100644 index 0000000..c960877 --- /dev/null +++ b/src/dgipy/network/__init__.py @@ -0,0 +1 @@ +"""Provide tools for network-based operations.""" From 37520519c33d0e64f990e19c995a2ea4c0afb787 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Wed, 4 Sep 2024 16:40:01 -0400 Subject: [PATCH 02/13] stash --- src/dgipy/network/network.py | 80 ++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/dgipy/network/network.py diff --git a/src/dgipy/network/network.py b/src/dgipy/network/network.py new file mode 100644 index 0000000..01146cb --- /dev/null +++ b/src/dgipy/network/network.py @@ -0,0 +1,80 @@ +"""make a network todo""" + +import networkx as nx + +from dgipy.data_utils import make_tabular + + +def _get_drug_node_inputs(query_result: dict) -> list[tuple[str, dict]]: + # TODO attributes should be flattened + if "drug_concept_id" not in query_result: + return [] + + nodes = [] + for row in make_tabular(query_result): + nodes.append( # noqa: PERF401 + ( + row["drug_concept_id"], + { + k[5:]: v + for k, v in row.items() + if k.startswith("drug_") and k != "drug_concept_id" + }.update({"type": "drug"}), + ) + ) + return nodes + + +def _get_gene_node_inputs(query_result: dict) -> list[tuple[str, dict]]: + # TODO attributes should be flattened + if "gene_concept_id" not in query_result: + return [] + + nodes = [] + for row in make_tabular(query_result): + nodes.append( # noqa: PERF401 + ( + row["gene_concept_id"], + { + k[5:]: v + for k, v in row.items() + if k.startswith("gene_") and k != "gene_concept_id" + }.update({"type": "gene"}), + ) + ) + return nodes + + +def _get_interaction_edges(query_result: dict) -> list[tuple[str, str, dict]]: + # TODO attributes should be flattened + if not ("drug_concept_id" in query_result and "gene_concept_id" in query_result): + return [] + + edges = [] + for row in make_tabular(query_result): + edges.append( # noqa: PERF401 + ( + row["gene_concept_id"], + row["drug_concept_id"], + { + k[5:]: v + for k, v in row.items() + if k.startswith("gene_") and k != "gene_concept_id" + }.update({"type": "gene"}), + ) + ) + return edges + + +def to_network(query_result: dict) -> nx.Graph: + """Construct a networkx graph from a DGIpy query result. + + hash = concept id + other stuff = add as attributes + """ + graph = nx.Graph() + graph.add_nodes_from(_get_gene_node_inputs(query_result)) + graph.add_nodes_from(_get_drug_node_inputs(query_result)) + graph.add_edges_from(_get_interaction_edges(query_result)) + + return graph From 2928937b30b22466e34dc921637d64552ab88f07 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Thu, 5 Sep 2024 10:53:48 -0400 Subject: [PATCH 03/13] sdlfjkj --- src/dgipy/{app => dashboard}/__init__.py | 0 src/dgipy/{app => dashboard}/graph_app.py | 0 src/dgipy/{app => dashboard}/network_graph.py | 0 src/dgipy/network/network.py | 4 ++++ 4 files changed, 4 insertions(+) rename src/dgipy/{app => dashboard}/__init__.py (100%) rename src/dgipy/{app => dashboard}/graph_app.py (100%) rename src/dgipy/{app => dashboard}/network_graph.py (100%) diff --git a/src/dgipy/app/__init__.py b/src/dgipy/dashboard/__init__.py similarity index 100% rename from src/dgipy/app/__init__.py rename to src/dgipy/dashboard/__init__.py diff --git a/src/dgipy/app/graph_app.py b/src/dgipy/dashboard/graph_app.py similarity index 100% rename from src/dgipy/app/graph_app.py rename to src/dgipy/dashboard/graph_app.py diff --git a/src/dgipy/app/network_graph.py b/src/dgipy/dashboard/network_graph.py similarity index 100% rename from src/dgipy/app/network_graph.py rename to src/dgipy/dashboard/network_graph.py diff --git a/src/dgipy/network/network.py b/src/dgipy/network/network.py index 01146cb..92962ad 100644 --- a/src/dgipy/network/network.py +++ b/src/dgipy/network/network.py @@ -73,8 +73,12 @@ def to_network(query_result: dict) -> nx.Graph: other stuff = add as attributes """ graph = nx.Graph() + graph.add_nodes_from(_get_gene_node_inputs(query_result)) graph.add_nodes_from(_get_drug_node_inputs(query_result)) graph.add_edges_from(_get_interaction_edges(query_result)) + # gene_cat_nodes, gene_cat_edges = _get_gene_category_entities(query_result) + # graph.add_nodes_from(gene_cat_nodes) + # graph.add_edges_from(gene_cat_edges) return graph From 707648a14f465b272468899aceecc803d5ad9e50 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Thu, 5 Sep 2024 14:14:41 -0400 Subject: [PATCH 04/13] stash --- src/dgipy/network/network.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/dgipy/network/network.py b/src/dgipy/network/network.py index 92962ad..2552d63 100644 --- a/src/dgipy/network/network.py +++ b/src/dgipy/network/network.py @@ -66,6 +66,18 @@ def _get_interaction_edges(query_result: dict) -> list[tuple[str, str, dict]]: return edges +def _get_gene_category_entities( + query_result: dict, +) -> tuple[list[tuple[str, dict]], list[tuple[str, str, dict]]]: + if "gene_cateogory" not in query_result: + return [], [] + nodes = [] + edges = [] + # for row in make_tabular(query_result) + + return nodes, edges + + def to_network(query_result: dict) -> nx.Graph: """Construct a networkx graph from a DGIpy query result. @@ -77,8 +89,8 @@ def to_network(query_result: dict) -> nx.Graph: graph.add_nodes_from(_get_gene_node_inputs(query_result)) graph.add_nodes_from(_get_drug_node_inputs(query_result)) graph.add_edges_from(_get_interaction_edges(query_result)) - # gene_cat_nodes, gene_cat_edges = _get_gene_category_entities(query_result) - # graph.add_nodes_from(gene_cat_nodes) - # graph.add_edges_from(gene_cat_edges) + gene_cat_nodes, gene_cat_edges = _get_gene_category_entities(query_result) + graph.add_nodes_from(gene_cat_nodes) + graph.add_edges_from(gene_cat_edges) return graph From cc6fe1407716607eb3bf9319ae9e7fdcbcecf8fa Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Thu, 5 Sep 2024 14:15:00 -0400 Subject: [PATCH 05/13] use existing --- src/dgipy/graph_app.py | 261 +++++++++++++++++++++++++++++++++++++ src/dgipy/network_graph.py | 251 +++++++++++++++++++++++++++++++++++ 2 files changed, 512 insertions(+) create mode 100644 src/dgipy/graph_app.py create mode 100644 src/dgipy/network_graph.py diff --git a/src/dgipy/graph_app.py b/src/dgipy/graph_app.py new file mode 100644 index 0000000..e2dfb9a --- /dev/null +++ b/src/dgipy/graph_app.py @@ -0,0 +1,261 @@ +"""Provides functionality to create a Dash web application for interacting with drug-gene data from DGIdb""" + +import dash_bootstrap_components as dbc +import pandas as pd +from dash import Input, Output, State, ctx, dash, dcc, html + +from dgipy import dgidb +from dgipy import network_graph as ng +from dgipy.data_utils import make_tabular + + +def generate_app() -> dash.Dash: + """Initialize a Dash application object with a layout designed for visualizing: drug-gene interactions, options for user interactivity, and other visual elements. + + :return: a python dash app that can be run with run_server() + """ + genes = [ + {"label": gene["gene_name"], "value": gene["gene_name"]} + for gene in make_tabular(dgidb.get_all_genes()) + ] + drugs = [ + {"label": drug["drug_name"], "value": drug["drug_name"]} + for drug in make_tabular(dgidb.get_all_drugs()) + ] + + app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP]) + + _set_app_layout(app) + _update_plotly(app) + _update_terms_dropdown(app, genes, drugs) + _update_selected_node(app) + _update_selected_node_text(app) + _update_neighbors_dropdown(app) + _update_edge_info(app) + + return app + + +def _set_app_layout(app: dash.Dash) -> None: + plotly_figure = dcc.Graph( + id="plotly-figure", style={"width": "100%", "height": "800px"} + ) + + search_mode = dcc.RadioItems( + id="search-mode", + options=[ + {"label": "Gene Search", "value": "genes"}, + {"label": "Drug Search", "value": "drugs"}, + ], + value="genes", + ) + + terms_dropdown = dcc.Dropdown( + id="terms-dropdown", optionHeight=75, multi=True, value=[] + ) + + selected_node_text = dcc.Markdown( + id="selected-node-text", children="No Node Selected" + ) + + neighbors_dropdown = dcc.Dropdown(id="neighbors-dropdown", multi=False) + + selected_edge_info = dcc.Markdown( + id="selected-edge-info", children="No Edge Selected" + ) + + app.layout = html.Div( + [ + # Variables + dcc.Store(id="selected-node", data=""), + dcc.Store(id="graph"), + # Layout + dbc.Row( + [ + dbc.Col( + dbc.Card(plotly_figure, body=True, style={"margin": "10px"}), + width=8, + ), + dbc.Col( + [ + dbc.Card( + [ + dbc.CardHeader("Search Mode"), + dbc.CardBody(search_mode), + ], + style={"margin": "10px"}, + ), + dbc.Card( + [ + dbc.CardHeader("Terms Dropdown"), + dbc.CardBody(terms_dropdown), + ], + style={"margin": "10px"}, + ), + dbc.Card( + [ + dbc.CardHeader("Neighbors Dropdown"), + dbc.CardBody(neighbors_dropdown), + ], + style={"margin": "10px"}, + ), + dbc.Card( + dbc.CardBody( + [ + html.H4("Selected Node/Edge:"), + html.P(selected_node_text), + html.H4("Selected Edge Info:"), + html.P(selected_edge_info), + ] + ), + style={"margin": "10px"}, + ), + ], + width=4, + ), + ] + ), + ] + ) + + +def _update_plotly(app: dash.Dash) -> None: + @app.callback( + [Output("graph", "data"), Output("plotly-figure", "figure")], + Input("terms-dropdown", "value"), + State("search-mode", "value"), + ) + def update( + terms: list | None, search_mode: str + ) -> tuple[dict | None, ng.go.Figure]: + if len(terms) != 0: + interactions = pd.DataFrame(dgidb.get_interactions(terms, search_mode)) + network_graph = ng.create_network(interactions, terms, search_mode) + plotly_figure = ng.generate_plotly(network_graph) + return ng.generate_json(network_graph), plotly_figure + return None, ng.generate_plotly(None) + + +def _update_terms_dropdown(app: dash.Dash, genes: list, drugs: list) -> None: + @app.callback( + Output("terms-dropdown", "options"), + Input("search-mode", "value"), + ) + def update(search_mode: str) -> list: + if search_mode == "genes": + return genes + if search_mode == "drugs": + return drugs + return None + + +def _update_selected_node(app: dash.Dash) -> None: + @app.callback( + Output("selected-node", "data"), + [Input("plotly-figure", "clickData"), Input("terms-dropdown", "value")], + ) + def update(clickData: dict | None, new_gene: list | None) -> str | dict: # noqa: N803, ARG001 + if ctx.triggered_id == "terms-dropdown": + return "" + if clickData is not None and "points" in clickData: + selected_node = clickData["points"][0] + if "text" not in selected_node: + return dash.no_update + return selected_node + return dash.no_update + + +def _update_selected_node_text(app: dash.Dash) -> None: + @app.callback( + Output("selected-node-text", "children"), Input("selected-node", "data") + ) + def update(selected_node: str | dict) -> str: + if selected_node != "": + return selected_node["text"] + return "No Node Selected" + + +def _update_neighbors_dropdown(app: dash.Dash) -> None: + @app.callback( + [ + Output("neighbors-dropdown", "options"), + Output("neighbors-dropdown", "value"), + ], + Input("selected-node", "data"), + ) + def update(selected_node: str | dict) -> tuple[list, None]: + if selected_node != "" and selected_node["curveNumber"] != 1: + return selected_node["customdata"], None + return [], None + + +def _update_edge_info(app: dash.Dash) -> None: + @app.callback( + Output("selected-edge-info", "children"), + [Input("selected-node", "data"), Input("neighbors-dropdown", "value")], + State("graph", "data"), + ) + def update( + selected_node: str | dict, + selected_neighbor: str | None, + graph: dict | None, + ) -> str: + if selected_node == "": + return "No Edge Selected" + if selected_node["curveNumber"] == 1: + selected_data = _get_node_data_from_id( + graph["links"], selected_node["text"] + ) + return ( + "ID: " + + str(selected_data["id"]) + + "\n\nApproval: " + + str(selected_data["approval"]) + + "\n\nScore: " + + str(selected_data["score"]) + + "\n\nAttributes: " + + str(selected_data["attributes"]) + + "\n\nSource: " + + str(selected_data["source"]) + + "\n\nPmid: " + + str(selected_data["pmid"]) + ) + if selected_neighbor is not None: + edge_node_id = None + selected_node_is_gene = _get_node_data_from_id( + graph["nodes"], selected_node["text"] + )["isGene"] + selected_neighbor_is_gene = _get_node_data_from_id( + graph["nodes"], selected_neighbor + )["isGene"] + if selected_node_is_gene == selected_neighbor_is_gene: + return dash.no_update + if selected_node_is_gene: + edge_node_id = selected_node["text"] + " - " + selected_neighbor + elif selected_neighbor_is_gene: + edge_node_id = selected_neighbor + " - " + selected_node["text"] + selected_data = _get_node_data_from_id(graph["links"], edge_node_id) + if selected_data is None: + return dash.no_update + return ( + "ID: " + + str(selected_data["id"]) + + "\n\nApproval: " + + str(selected_data["approval"]) + + "\n\nScore: " + + str(selected_data["score"]) + + "\n\nAttributes: " + + str(selected_data["attributes"]) + + "\n\nSource: " + + str(selected_data["source"]) + + "\n\nPmid: " + + str(selected_data["pmid"]) + ) + return "No Edge Selected" + + +def _get_node_data_from_id(nodes: list, node_id: str) -> dict | None: + for node in nodes: + if node["id"] == node_id: + return node + return None diff --git a/src/dgipy/network_graph.py b/src/dgipy/network_graph.py new file mode 100644 index 0000000..ad13274 --- /dev/null +++ b/src/dgipy/network_graph.py @@ -0,0 +1,251 @@ +"""Provides functionality to create networkx graphs and pltoly figures for network visualization""" + +import networkx as nx +import pandas as pd +import plotly.graph_objects as go + +PLOTLY_SEED = 7 + + +def _initalize_network( + interactions: pd.DataFrame, terms: list, search_mode: str +) -> nx.Graph: + interactions_graph = nx.Graph() + graphed_terms = set() + + for index in interactions.index: + if search_mode == "genes": + graphed_terms.add(interactions["gene_name"][index]) + if search_mode == "drugs": + graphed_terms.add(interactions["drug_name"][index]) + interactions_graph.add_node(interactions["gene_name"][index], isGene=True) + interactions_graph.add_node(interactions["drug_name"][index], isGene=False) + interactions_graph.add_edge( + interactions["gene_name"][index], + interactions["drug_name"][index], + id=interactions["gene_name"][index] + + " - " + + interactions["drug_name"][index], + approval=interactions["drug_approved"][index], + score=interactions["interaction_score"][index], + attributes=interactions["interaction_attributes"][index], + source=interactions["sources"][index], + pmid=interactions["pmids"][index], + ) + + graphed_terms = set(terms).difference(graphed_terms) + for term in graphed_terms: + if search_mode == "genes": + interactions_graph.add_node(term, isGene=True) + if search_mode == "drugs": + interactions_graph.add_node(term, isGene=False) + return interactions_graph + + +def _add_node_attributes(interactions_graph: nx.Graph, search_mode: str) -> None: + for node in interactions_graph.nodes: + is_gene = interactions_graph.nodes[node]["isGene"] + degree = interactions_graph.degree[node] + if search_mode == "genes": + if is_gene: + if degree > 1: + set_color = "cyan" + set_size = 10 + else: + set_color = "blue" + set_size = 10 + else: + if degree > 1: + set_color = "orange" + set_size = 7 + else: + set_color = "red" + set_size = 7 + if search_mode == "drugs": + if is_gene: + if degree > 1: + set_color = "cyan" + set_size = 7 + else: + set_color = "blue" + set_size = 7 + else: + if degree > 1: + set_color = "orange" + set_size = 10 + else: + set_color = "red" + set_size = 10 + interactions_graph.nodes[node]["node_color"] = set_color + interactions_graph.nodes[node]["node_size"] = set_size + + +def create_network( + interactions: pd.DataFrame, terms: list, search_mode: str +) -> nx.Graph: + """Create a networkx graph representing interactions between genes and drugs + + :param interactions: DataFrame containing drug-gene interaction data + :param terms: List containing terms used to query interaction data + :param search_mode: String indicating whether query was gene-focused or drug-focused + :return: a networkx graph of drug-gene interactions + """ + interactions_graph = _initalize_network(interactions, terms, search_mode) + _add_node_attributes(interactions_graph, search_mode) + return interactions_graph + + +def generate_plotly(graph: nx.Graph) -> go.Figure: + """Create a plotly graph representing interactions between genes and drugs + + :param graph: networkx graph to be formatted as a plotly graph + :return: a plotly graph of drug-gene interactions + """ + layout = go.Layout( + hovermode="closest", + xaxis={"showgrid": False, "zeroline": False, "showticklabels": False}, + yaxis={"showgrid": False, "zeroline": False, "showticklabels": False}, + showlegend=True, + ) + fig = go.Figure(layout=layout) + + if graph is not None: + pos = nx.spring_layout(graph, seed=PLOTLY_SEED) + + trace_nodes = _create_trace_nodes(graph, pos) + trace_edges = _create_trace_edges(graph, pos) + + fig.add_trace(trace_edges[0]) + fig.add_trace(trace_edges[1]) + for trace_group in trace_nodes: + fig.add_trace(trace_group) + + return fig + + +def _create_trace_nodes(graph: nx.Graph, pos: dict) -> list: + nodes_by_group = { + "cyan": { + "node_x": [], + "node_y": [], + "node_text": [], + "node_color": [], + "node_size": [], + "neighbors": [], + "legend_name": "multi-degree genes", + }, + "orange": { + "node_x": [], + "node_y": [], + "node_text": [], + "node_color": [], + "node_size": [], + "neighbors": [], + "legend_name": "multi-degree drugs", + }, + "red": { + "node_x": [], + "node_y": [], + "node_text": [], + "node_color": [], + "node_size": [], + "neighbors": [], + "legend_name": "single-degree drugs", + }, + "blue": { + "node_x": [], + "node_y": [], + "node_text": [], + "node_color": [], + "node_size": [], + "neighbors": [], + "legend_name": "single-degree genes", + }, + } + + for node in graph.nodes(): + node_color = graph.nodes[node]["node_color"] + node_size = graph.nodes[node]["node_size"] + x, y = pos[node] + nodes_by_group[node_color]["node_x"].append(x) + nodes_by_group[node_color]["node_y"].append(y) + nodes_by_group[node_color]["node_text"].append(str(node)) + nodes_by_group[node_color]["node_color"].append(node_color) + nodes_by_group[node_color]["node_size"].append(node_size) + nodes_by_group[node_color]["neighbors"].append(list(graph.neighbors(node))) + + trace_nodes = [] + + for _, node in nodes_by_group.items(): # noqa: PERF102 + trace_group = go.Scatter( + x=node["node_x"], + y=node["node_y"], + mode="markers", + marker={ + "symbol": "circle", + "size": node["node_size"], + "color": node["node_color"], + }, + text=node["node_text"], + name=node["legend_name"], + customdata=node["neighbors"], + hoverinfo="text", + visible=True, + showlegend=True, + ) + trace_nodes.append(trace_group) + + return trace_nodes + + +def _create_trace_edges(graph: nx.Graph, pos: dict) -> go.Scatter: + edge_x = [] + edge_y = [] + + i_edge_x = [] + i_edge_y = [] + i_edge_id = [] + + for edge in graph.edges(): + x0, y0 = pos[edge[0]] + x1, y1 = pos[edge[1]] + edge_x.append(x0) + edge_x.append(x1) + edge_x.append(None) + edge_y.append(y0) + edge_y.append(y1) + edge_y.append(None) + + i_edge_x.append((x0 + x1) / 2) + i_edge_y.append((y0 + y1) / 2) + i_edge_id.append(graph.edges[edge]["id"]) + + trace_edges = go.Scatter( + x=edge_x, + y=edge_y, + mode="lines", + line={"width": 0.5, "color": "gray"}, + hoverinfo="none", + showlegend=False, + ) + + i_trace_edges = go.Scatter( + x=i_edge_x, + y=i_edge_y, + mode="markers", + marker_size=0.5, + text=i_edge_id, + hoverinfo="text", + showlegend=False, + ) + + return trace_edges, i_trace_edges + + +def generate_json(graph: nx.Graph) -> dict: + """Generate a JSON representation of a networkx graph + + :param graph: networkx graph to be formatted as a JSON + :return: a dictionary representing the JSON data of the graph + """ + return nx.node_link_data(graph) From 40940b6b18d0de6fb302ddad86bbddc9b6897c54 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Thu, 5 Sep 2024 14:15:41 -0400 Subject: [PATCH 06/13] dont do this yet --- src/dgipy/dashboard/__init__.py | 1 - src/dgipy/dashboard/graph_app.py | 261 --------------------------- src/dgipy/dashboard/network_graph.py | 251 -------------------------- 3 files changed, 513 deletions(-) delete mode 100644 src/dgipy/dashboard/__init__.py delete mode 100644 src/dgipy/dashboard/graph_app.py delete mode 100644 src/dgipy/dashboard/network_graph.py diff --git a/src/dgipy/dashboard/__init__.py b/src/dgipy/dashboard/__init__.py deleted file mode 100644 index c328aaf..0000000 --- a/src/dgipy/dashboard/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Provide Dash-based graph application.""" diff --git a/src/dgipy/dashboard/graph_app.py b/src/dgipy/dashboard/graph_app.py deleted file mode 100644 index e2dfb9a..0000000 --- a/src/dgipy/dashboard/graph_app.py +++ /dev/null @@ -1,261 +0,0 @@ -"""Provides functionality to create a Dash web application for interacting with drug-gene data from DGIdb""" - -import dash_bootstrap_components as dbc -import pandas as pd -from dash import Input, Output, State, ctx, dash, dcc, html - -from dgipy import dgidb -from dgipy import network_graph as ng -from dgipy.data_utils import make_tabular - - -def generate_app() -> dash.Dash: - """Initialize a Dash application object with a layout designed for visualizing: drug-gene interactions, options for user interactivity, and other visual elements. - - :return: a python dash app that can be run with run_server() - """ - genes = [ - {"label": gene["gene_name"], "value": gene["gene_name"]} - for gene in make_tabular(dgidb.get_all_genes()) - ] - drugs = [ - {"label": drug["drug_name"], "value": drug["drug_name"]} - for drug in make_tabular(dgidb.get_all_drugs()) - ] - - app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP]) - - _set_app_layout(app) - _update_plotly(app) - _update_terms_dropdown(app, genes, drugs) - _update_selected_node(app) - _update_selected_node_text(app) - _update_neighbors_dropdown(app) - _update_edge_info(app) - - return app - - -def _set_app_layout(app: dash.Dash) -> None: - plotly_figure = dcc.Graph( - id="plotly-figure", style={"width": "100%", "height": "800px"} - ) - - search_mode = dcc.RadioItems( - id="search-mode", - options=[ - {"label": "Gene Search", "value": "genes"}, - {"label": "Drug Search", "value": "drugs"}, - ], - value="genes", - ) - - terms_dropdown = dcc.Dropdown( - id="terms-dropdown", optionHeight=75, multi=True, value=[] - ) - - selected_node_text = dcc.Markdown( - id="selected-node-text", children="No Node Selected" - ) - - neighbors_dropdown = dcc.Dropdown(id="neighbors-dropdown", multi=False) - - selected_edge_info = dcc.Markdown( - id="selected-edge-info", children="No Edge Selected" - ) - - app.layout = html.Div( - [ - # Variables - dcc.Store(id="selected-node", data=""), - dcc.Store(id="graph"), - # Layout - dbc.Row( - [ - dbc.Col( - dbc.Card(plotly_figure, body=True, style={"margin": "10px"}), - width=8, - ), - dbc.Col( - [ - dbc.Card( - [ - dbc.CardHeader("Search Mode"), - dbc.CardBody(search_mode), - ], - style={"margin": "10px"}, - ), - dbc.Card( - [ - dbc.CardHeader("Terms Dropdown"), - dbc.CardBody(terms_dropdown), - ], - style={"margin": "10px"}, - ), - dbc.Card( - [ - dbc.CardHeader("Neighbors Dropdown"), - dbc.CardBody(neighbors_dropdown), - ], - style={"margin": "10px"}, - ), - dbc.Card( - dbc.CardBody( - [ - html.H4("Selected Node/Edge:"), - html.P(selected_node_text), - html.H4("Selected Edge Info:"), - html.P(selected_edge_info), - ] - ), - style={"margin": "10px"}, - ), - ], - width=4, - ), - ] - ), - ] - ) - - -def _update_plotly(app: dash.Dash) -> None: - @app.callback( - [Output("graph", "data"), Output("plotly-figure", "figure")], - Input("terms-dropdown", "value"), - State("search-mode", "value"), - ) - def update( - terms: list | None, search_mode: str - ) -> tuple[dict | None, ng.go.Figure]: - if len(terms) != 0: - interactions = pd.DataFrame(dgidb.get_interactions(terms, search_mode)) - network_graph = ng.create_network(interactions, terms, search_mode) - plotly_figure = ng.generate_plotly(network_graph) - return ng.generate_json(network_graph), plotly_figure - return None, ng.generate_plotly(None) - - -def _update_terms_dropdown(app: dash.Dash, genes: list, drugs: list) -> None: - @app.callback( - Output("terms-dropdown", "options"), - Input("search-mode", "value"), - ) - def update(search_mode: str) -> list: - if search_mode == "genes": - return genes - if search_mode == "drugs": - return drugs - return None - - -def _update_selected_node(app: dash.Dash) -> None: - @app.callback( - Output("selected-node", "data"), - [Input("plotly-figure", "clickData"), Input("terms-dropdown", "value")], - ) - def update(clickData: dict | None, new_gene: list | None) -> str | dict: # noqa: N803, ARG001 - if ctx.triggered_id == "terms-dropdown": - return "" - if clickData is not None and "points" in clickData: - selected_node = clickData["points"][0] - if "text" not in selected_node: - return dash.no_update - return selected_node - return dash.no_update - - -def _update_selected_node_text(app: dash.Dash) -> None: - @app.callback( - Output("selected-node-text", "children"), Input("selected-node", "data") - ) - def update(selected_node: str | dict) -> str: - if selected_node != "": - return selected_node["text"] - return "No Node Selected" - - -def _update_neighbors_dropdown(app: dash.Dash) -> None: - @app.callback( - [ - Output("neighbors-dropdown", "options"), - Output("neighbors-dropdown", "value"), - ], - Input("selected-node", "data"), - ) - def update(selected_node: str | dict) -> tuple[list, None]: - if selected_node != "" and selected_node["curveNumber"] != 1: - return selected_node["customdata"], None - return [], None - - -def _update_edge_info(app: dash.Dash) -> None: - @app.callback( - Output("selected-edge-info", "children"), - [Input("selected-node", "data"), Input("neighbors-dropdown", "value")], - State("graph", "data"), - ) - def update( - selected_node: str | dict, - selected_neighbor: str | None, - graph: dict | None, - ) -> str: - if selected_node == "": - return "No Edge Selected" - if selected_node["curveNumber"] == 1: - selected_data = _get_node_data_from_id( - graph["links"], selected_node["text"] - ) - return ( - "ID: " - + str(selected_data["id"]) - + "\n\nApproval: " - + str(selected_data["approval"]) - + "\n\nScore: " - + str(selected_data["score"]) - + "\n\nAttributes: " - + str(selected_data["attributes"]) - + "\n\nSource: " - + str(selected_data["source"]) - + "\n\nPmid: " - + str(selected_data["pmid"]) - ) - if selected_neighbor is not None: - edge_node_id = None - selected_node_is_gene = _get_node_data_from_id( - graph["nodes"], selected_node["text"] - )["isGene"] - selected_neighbor_is_gene = _get_node_data_from_id( - graph["nodes"], selected_neighbor - )["isGene"] - if selected_node_is_gene == selected_neighbor_is_gene: - return dash.no_update - if selected_node_is_gene: - edge_node_id = selected_node["text"] + " - " + selected_neighbor - elif selected_neighbor_is_gene: - edge_node_id = selected_neighbor + " - " + selected_node["text"] - selected_data = _get_node_data_from_id(graph["links"], edge_node_id) - if selected_data is None: - return dash.no_update - return ( - "ID: " - + str(selected_data["id"]) - + "\n\nApproval: " - + str(selected_data["approval"]) - + "\n\nScore: " - + str(selected_data["score"]) - + "\n\nAttributes: " - + str(selected_data["attributes"]) - + "\n\nSource: " - + str(selected_data["source"]) - + "\n\nPmid: " - + str(selected_data["pmid"]) - ) - return "No Edge Selected" - - -def _get_node_data_from_id(nodes: list, node_id: str) -> dict | None: - for node in nodes: - if node["id"] == node_id: - return node - return None diff --git a/src/dgipy/dashboard/network_graph.py b/src/dgipy/dashboard/network_graph.py deleted file mode 100644 index ad13274..0000000 --- a/src/dgipy/dashboard/network_graph.py +++ /dev/null @@ -1,251 +0,0 @@ -"""Provides functionality to create networkx graphs and pltoly figures for network visualization""" - -import networkx as nx -import pandas as pd -import plotly.graph_objects as go - -PLOTLY_SEED = 7 - - -def _initalize_network( - interactions: pd.DataFrame, terms: list, search_mode: str -) -> nx.Graph: - interactions_graph = nx.Graph() - graphed_terms = set() - - for index in interactions.index: - if search_mode == "genes": - graphed_terms.add(interactions["gene_name"][index]) - if search_mode == "drugs": - graphed_terms.add(interactions["drug_name"][index]) - interactions_graph.add_node(interactions["gene_name"][index], isGene=True) - interactions_graph.add_node(interactions["drug_name"][index], isGene=False) - interactions_graph.add_edge( - interactions["gene_name"][index], - interactions["drug_name"][index], - id=interactions["gene_name"][index] - + " - " - + interactions["drug_name"][index], - approval=interactions["drug_approved"][index], - score=interactions["interaction_score"][index], - attributes=interactions["interaction_attributes"][index], - source=interactions["sources"][index], - pmid=interactions["pmids"][index], - ) - - graphed_terms = set(terms).difference(graphed_terms) - for term in graphed_terms: - if search_mode == "genes": - interactions_graph.add_node(term, isGene=True) - if search_mode == "drugs": - interactions_graph.add_node(term, isGene=False) - return interactions_graph - - -def _add_node_attributes(interactions_graph: nx.Graph, search_mode: str) -> None: - for node in interactions_graph.nodes: - is_gene = interactions_graph.nodes[node]["isGene"] - degree = interactions_graph.degree[node] - if search_mode == "genes": - if is_gene: - if degree > 1: - set_color = "cyan" - set_size = 10 - else: - set_color = "blue" - set_size = 10 - else: - if degree > 1: - set_color = "orange" - set_size = 7 - else: - set_color = "red" - set_size = 7 - if search_mode == "drugs": - if is_gene: - if degree > 1: - set_color = "cyan" - set_size = 7 - else: - set_color = "blue" - set_size = 7 - else: - if degree > 1: - set_color = "orange" - set_size = 10 - else: - set_color = "red" - set_size = 10 - interactions_graph.nodes[node]["node_color"] = set_color - interactions_graph.nodes[node]["node_size"] = set_size - - -def create_network( - interactions: pd.DataFrame, terms: list, search_mode: str -) -> nx.Graph: - """Create a networkx graph representing interactions between genes and drugs - - :param interactions: DataFrame containing drug-gene interaction data - :param terms: List containing terms used to query interaction data - :param search_mode: String indicating whether query was gene-focused or drug-focused - :return: a networkx graph of drug-gene interactions - """ - interactions_graph = _initalize_network(interactions, terms, search_mode) - _add_node_attributes(interactions_graph, search_mode) - return interactions_graph - - -def generate_plotly(graph: nx.Graph) -> go.Figure: - """Create a plotly graph representing interactions between genes and drugs - - :param graph: networkx graph to be formatted as a plotly graph - :return: a plotly graph of drug-gene interactions - """ - layout = go.Layout( - hovermode="closest", - xaxis={"showgrid": False, "zeroline": False, "showticklabels": False}, - yaxis={"showgrid": False, "zeroline": False, "showticklabels": False}, - showlegend=True, - ) - fig = go.Figure(layout=layout) - - if graph is not None: - pos = nx.spring_layout(graph, seed=PLOTLY_SEED) - - trace_nodes = _create_trace_nodes(graph, pos) - trace_edges = _create_trace_edges(graph, pos) - - fig.add_trace(trace_edges[0]) - fig.add_trace(trace_edges[1]) - for trace_group in trace_nodes: - fig.add_trace(trace_group) - - return fig - - -def _create_trace_nodes(graph: nx.Graph, pos: dict) -> list: - nodes_by_group = { - "cyan": { - "node_x": [], - "node_y": [], - "node_text": [], - "node_color": [], - "node_size": [], - "neighbors": [], - "legend_name": "multi-degree genes", - }, - "orange": { - "node_x": [], - "node_y": [], - "node_text": [], - "node_color": [], - "node_size": [], - "neighbors": [], - "legend_name": "multi-degree drugs", - }, - "red": { - "node_x": [], - "node_y": [], - "node_text": [], - "node_color": [], - "node_size": [], - "neighbors": [], - "legend_name": "single-degree drugs", - }, - "blue": { - "node_x": [], - "node_y": [], - "node_text": [], - "node_color": [], - "node_size": [], - "neighbors": [], - "legend_name": "single-degree genes", - }, - } - - for node in graph.nodes(): - node_color = graph.nodes[node]["node_color"] - node_size = graph.nodes[node]["node_size"] - x, y = pos[node] - nodes_by_group[node_color]["node_x"].append(x) - nodes_by_group[node_color]["node_y"].append(y) - nodes_by_group[node_color]["node_text"].append(str(node)) - nodes_by_group[node_color]["node_color"].append(node_color) - nodes_by_group[node_color]["node_size"].append(node_size) - nodes_by_group[node_color]["neighbors"].append(list(graph.neighbors(node))) - - trace_nodes = [] - - for _, node in nodes_by_group.items(): # noqa: PERF102 - trace_group = go.Scatter( - x=node["node_x"], - y=node["node_y"], - mode="markers", - marker={ - "symbol": "circle", - "size": node["node_size"], - "color": node["node_color"], - }, - text=node["node_text"], - name=node["legend_name"], - customdata=node["neighbors"], - hoverinfo="text", - visible=True, - showlegend=True, - ) - trace_nodes.append(trace_group) - - return trace_nodes - - -def _create_trace_edges(graph: nx.Graph, pos: dict) -> go.Scatter: - edge_x = [] - edge_y = [] - - i_edge_x = [] - i_edge_y = [] - i_edge_id = [] - - for edge in graph.edges(): - x0, y0 = pos[edge[0]] - x1, y1 = pos[edge[1]] - edge_x.append(x0) - edge_x.append(x1) - edge_x.append(None) - edge_y.append(y0) - edge_y.append(y1) - edge_y.append(None) - - i_edge_x.append((x0 + x1) / 2) - i_edge_y.append((y0 + y1) / 2) - i_edge_id.append(graph.edges[edge]["id"]) - - trace_edges = go.Scatter( - x=edge_x, - y=edge_y, - mode="lines", - line={"width": 0.5, "color": "gray"}, - hoverinfo="none", - showlegend=False, - ) - - i_trace_edges = go.Scatter( - x=i_edge_x, - y=i_edge_y, - mode="markers", - marker_size=0.5, - text=i_edge_id, - hoverinfo="text", - showlegend=False, - ) - - return trace_edges, i_trace_edges - - -def generate_json(graph: nx.Graph) -> dict: - """Generate a JSON representation of a networkx graph - - :param graph: networkx graph to be formatted as a JSON - :return: a dictionary representing the JSON data of the graph - """ - return nx.node_link_data(graph) From a7140662cbca55f2f4e770427088a2bff4d003d6 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Thu, 5 Sep 2024 16:22:53 -0400 Subject: [PATCH 07/13] add network stuff --- src/dgipy/network/construct.py | 112 +++++++++++++++++++++++++++++++++ src/dgipy/network/network.py | 96 ---------------------------- 2 files changed, 112 insertions(+), 96 deletions(-) create mode 100644 src/dgipy/network/construct.py delete mode 100644 src/dgipy/network/network.py diff --git a/src/dgipy/network/construct.py b/src/dgipy/network/construct.py new file mode 100644 index 0000000..f1cd3a8 --- /dev/null +++ b/src/dgipy/network/construct.py @@ -0,0 +1,112 @@ +"""Construct a NetworkX graph from DGIpy query results.""" + +import networkx as nx + +from dgipy.data_utils import make_tabular + + +def _get_gene_nodes(result_table: list[dict]) -> list[tuple[str, dict]]: + if result_table and "gene_concept_id" not in result_table[0]: + return [] + + nodes = [] + for row in result_table: + node_attrs = {"type": "gene"} + node_attrs.update( + { + k[5:]: v + for k, v in row.items() + if k.startswith("gene_") + and not k.startswith("gene_concept_id") + and not k.startswith("gene_category") + } + ) + nodes.append((row["gene_concept_id"], node_attrs)) + return nodes + + +def _get_drug_nodes(result_table: list[dict]) -> list[tuple[str, dict]]: + if result_table and "drug_concept_id" not in result_table[0]: + return [] + + nodes = [] + for row in result_table: + node_attrs = {"type": "drug"} + node_attrs.update( + { + k[5:]: v + for k, v in row.items() + if k.startswith("drug_") and not k.startswith("drug_concept_id") + } + ) + nodes.append((row["drug_concept_id"], node_attrs)) + return nodes + + +def _get_interaction_edges(result_table: list[dict]) -> list[tuple[str, str, dict]]: + if result_table and ( + "drug_concept_id" not in result_table[0] + or "gene_concept_id" not in result_table[0] + ): + return [] + + edges = [] + for row in result_table: + edge_attrs = {"type": "drug_gene_interaction"} + edge_attrs.update( + {k[12:]: v for k, v in row.items() if k.startswith("interaction_")} + ) + edges.append((row["gene_concept_id"], row["drug_concept_id"], edge_attrs)) + return edges + + +def _get_gene_category_entities( + result_table: list[dict], +) -> tuple[list[tuple[str, dict]], list[tuple[str, str, dict]]]: + if result_table and "gene_category" not in result_table[0]: + return [], [] + + nodes = [] + edges = [] + for row in result_table: + nodes.append((row["gene_category"], {"type": "gene_category"})) + edges.append( + ( + row["gene_concept_id"], + row["gene_category"], + { + "type": "gene_has_gene_category", + "sources": row["gene_category_sources"], + }, + ) + ) + return nodes, edges + + +def construct_graph(query_result: dict) -> nx.Graph: + """Construct a NetworkX graph from a DGIpy query result (i.e., a columnar dict). + + >>> import dgipy + ... from dgipy.network.construct import construct_graph + >>> genes = dgipy.get_genes(["BRAF", "ABL1"]) + >>> graph = construct_graph(genes) + + :param query_result: result object directly from DGIpy output. In general, columns + with names starting with ``"drug_"`` will be added as attributes of drug nodes, + ``"gene_"`` (excluding ``"gene_category_"``) as attributes of gene nodes, and + ``"interaction"`` as part of interaction edges. + :return: nx.Graph, where any included drug, gene, and gene category instances are + nodes, and edges are drawn between interacting genes and drugs, as well as + genes and their corresponding gene categories. + """ + graph = nx.Graph() + result_table = make_tabular(query_result) + + graph.add_nodes_from(_get_gene_nodes(result_table)) + graph.add_nodes_from(_get_drug_nodes(result_table)) + graph.add_edges_from(_get_interaction_edges(result_table)) + gene_cat_nodes, gene_cat_edges = _get_gene_category_entities(result_table) + graph.add_nodes_from(gene_cat_nodes) + graph.add_edges_from(gene_cat_edges) + + return graph diff --git a/src/dgipy/network/network.py b/src/dgipy/network/network.py deleted file mode 100644 index 2552d63..0000000 --- a/src/dgipy/network/network.py +++ /dev/null @@ -1,96 +0,0 @@ -"""make a network todo""" - -import networkx as nx - -from dgipy.data_utils import make_tabular - - -def _get_drug_node_inputs(query_result: dict) -> list[tuple[str, dict]]: - # TODO attributes should be flattened - if "drug_concept_id" not in query_result: - return [] - - nodes = [] - for row in make_tabular(query_result): - nodes.append( # noqa: PERF401 - ( - row["drug_concept_id"], - { - k[5:]: v - for k, v in row.items() - if k.startswith("drug_") and k != "drug_concept_id" - }.update({"type": "drug"}), - ) - ) - return nodes - - -def _get_gene_node_inputs(query_result: dict) -> list[tuple[str, dict]]: - # TODO attributes should be flattened - if "gene_concept_id" not in query_result: - return [] - - nodes = [] - for row in make_tabular(query_result): - nodes.append( # noqa: PERF401 - ( - row["gene_concept_id"], - { - k[5:]: v - for k, v in row.items() - if k.startswith("gene_") and k != "gene_concept_id" - }.update({"type": "gene"}), - ) - ) - return nodes - - -def _get_interaction_edges(query_result: dict) -> list[tuple[str, str, dict]]: - # TODO attributes should be flattened - if not ("drug_concept_id" in query_result and "gene_concept_id" in query_result): - return [] - - edges = [] - for row in make_tabular(query_result): - edges.append( # noqa: PERF401 - ( - row["gene_concept_id"], - row["drug_concept_id"], - { - k[5:]: v - for k, v in row.items() - if k.startswith("gene_") and k != "gene_concept_id" - }.update({"type": "gene"}), - ) - ) - return edges - - -def _get_gene_category_entities( - query_result: dict, -) -> tuple[list[tuple[str, dict]], list[tuple[str, str, dict]]]: - if "gene_cateogory" not in query_result: - return [], [] - nodes = [] - edges = [] - # for row in make_tabular(query_result) - - return nodes, edges - - -def to_network(query_result: dict) -> nx.Graph: - """Construct a networkx graph from a DGIpy query result. - - hash = concept id - other stuff = add as attributes - """ - graph = nx.Graph() - - graph.add_nodes_from(_get_gene_node_inputs(query_result)) - graph.add_nodes_from(_get_drug_node_inputs(query_result)) - graph.add_edges_from(_get_interaction_edges(query_result)) - gene_cat_nodes, gene_cat_edges = _get_gene_category_entities(query_result) - graph.add_nodes_from(gene_cat_nodes) - graph.add_edges_from(gene_cat_edges) - - return graph From 96c0604b765ae2e6efddadad665c959d8deaa140 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Fri, 6 Sep 2024 16:01:25 -0400 Subject: [PATCH 08/13] categories aren't separate entities --- src/dgipy/network/construct.py | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/src/dgipy/network/construct.py b/src/dgipy/network/construct.py index f1cd3a8..06be980 100644 --- a/src/dgipy/network/construct.py +++ b/src/dgipy/network/construct.py @@ -16,9 +16,7 @@ def _get_gene_nodes(result_table: list[dict]) -> list[tuple[str, dict]]: { k[5:]: v for k, v in row.items() - if k.startswith("gene_") - and not k.startswith("gene_concept_id") - and not k.startswith("gene_category") + if k.startswith("gene_") and not k.startswith("gene_concept_id") } ) nodes.append((row["gene_concept_id"], node_attrs)) @@ -60,29 +58,6 @@ def _get_interaction_edges(result_table: list[dict]) -> list[tuple[str, str, dic return edges -def _get_gene_category_entities( - result_table: list[dict], -) -> tuple[list[tuple[str, dict]], list[tuple[str, str, dict]]]: - if result_table and "gene_category" not in result_table[0]: - return [], [] - - nodes = [] - edges = [] - for row in result_table: - nodes.append((row["gene_category"], {"type": "gene_category"})) - edges.append( - ( - row["gene_concept_id"], - row["gene_category"], - { - "type": "gene_has_gene_category", - "sources": row["gene_category_sources"], - }, - ) - ) - return nodes, edges - - def construct_graph(query_result: dict) -> nx.Graph: """Construct a NetworkX graph from a DGIpy query result (i.e., a columnar dict). @@ -105,8 +80,5 @@ def construct_graph(query_result: dict) -> nx.Graph: graph.add_nodes_from(_get_gene_nodes(result_table)) graph.add_nodes_from(_get_drug_nodes(result_table)) graph.add_edges_from(_get_interaction_edges(result_table)) - gene_cat_nodes, gene_cat_edges = _get_gene_category_entities(result_table) - graph.add_nodes_from(gene_cat_nodes) - graph.add_edges_from(gene_cat_edges) return graph From 971e9e71727b86d42de44cc3c114f25519c98275 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Tue, 10 Sep 2024 10:06:34 -0400 Subject: [PATCH 09/13] add tests init --- .github/workflows/format.yaml | 2 +- .../construct_network_input_interactions.json | 85 +++++++++++++++++++ tests/test_network_constructor.py | 15 ++++ 3 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 tests/fixtures/construct_network_input_interactions.json create mode 100644 tests/test_network_constructor.py diff --git a/.github/workflows/format.yaml b/.github/workflows/format.yaml index e801ac7..59bd64d 100644 --- a/.github/workflows/format.yaml +++ b/.github/workflows/format.yaml @@ -17,4 +17,4 @@ jobs: - name: Prettify code uses: creyD/prettier_action@v4.3 with: - prettier_options: --write src/dgipy/queries/*.graphql + prettier_options: --write src/dgipy/queries/*.graphql tests/fixtures/*.json diff --git a/tests/fixtures/construct_network_input_interactions.json b/tests/fixtures/construct_network_input_interactions.json new file mode 100644 index 0000000..1862b67 --- /dev/null +++ b/tests/fixtures/construct_network_input_interactions.json @@ -0,0 +1,85 @@ +{ + "gene_name": ["EREG", "EREG", "EREG", "EREG", "EREG", "EREG"], + "gene_concept_id": [ + "hgnc:3443", + "hgnc:3443", + "hgnc:3443", + "hgnc:3443", + "hgnc:3443", + "hgnc:3443" + ], + "gene_long_name": [ + "epiregulin", + "epiregulin", + "epiregulin", + "epiregulin", + "epiregulin", + "epiregulin" + ], + "drug_name": [ + "CETUXIMAB", + "HUMAN CHORIONIC GONADOTROPIN", + "E6201", + "FEPIXNEBART", + "FEPIXNEBART", + "PANITUMUMAB" + ], + "drug_concept_id": [ + "rxcui:318341", + "rxcui:340705", + "iuphar.ligand:7836", + "ncit:C188574", + "chembl:CHEMBL4594573", + "rxcui:263034" + ], + "drug_approved": [true, true, false, false, false, true], + "interaction_score": [ + 0.2430910705356227, + 0.921187214661307, + 1.250182648468916, + 4.375639269641208, + 4.375639269641208, + 0.4375639269641209 + ], + "interaction_attributes": [ + { + "Mechanism of Action": null, + "Direct Interaction": null, + "Endogenous Drug": null + }, + { + "Mechanism of Action": null, + "Direct Interaction": null, + "Endogenous Drug": null + }, + { + "Mechanism of Action": ["Inhibition"], + "Direct Interaction": ["true"], + "Endogenous Drug": ["false"] + }, + { + "Mechanism of Action": ["Proepiregulin inhibitor"], + "Direct Interaction": ["true"], + "Endogenous Drug": null + }, + { + "Mechanism of Action": null, + "Direct Interaction": null, + "Endogenous Drug": null + }, + { + "Mechanism of Action": null, + "Direct Interaction": null, + "Endogenous Drug": null + } + ], + "interaction_sources": [ + ["CIViC"], + ["NCI"], + ["GuideToPharmacology"], + ["ChEMBL"], + ["TTD"], + ["CIViC"] + ], + "interaction_pmids": [[], [16543407], [], [], [], []] + } diff --git a/tests/test_network_constructor.py b/tests/test_network_constructor.py new file mode 100644 index 0000000..cea182f --- /dev/null +++ b/tests/test_network_constructor.py @@ -0,0 +1,15 @@ +"""Test `dgipy.network.construct`.""" + +import json +from pathlib import Path + +from dgipy.network import construct + + +def test_construct(fixtures_dir: Path): + results = json.load( + (fixtures_dir / "construct_network_input_interactions.json").open() + ) + graph = construct.construct_graph(results) + assert len(graph.nodes) == 7 + assert len(graph.edges) == 6 From 58e6c757e2e0ab0a893aa9dd364a6a403616800d Mon Sep 17 00:00:00 2001 From: jsstevenson Date: Tue, 10 Sep 2024 14:06:54 +0000 Subject: [PATCH 10/13] Prettified Code! --- .../construct_network_input_interactions.json | 162 +- tests/fixtures/get_categories_response.json | 26 +- ...drug_applications_drugsatfda_response.json | 54 +- tests/fixtures/introspection_response.json | 7319 ++++++++++++++++- 4 files changed, 7415 insertions(+), 146 deletions(-) diff --git a/tests/fixtures/construct_network_input_interactions.json b/tests/fixtures/construct_network_input_interactions.json index 1862b67..ab33412 100644 --- a/tests/fixtures/construct_network_input_interactions.json +++ b/tests/fixtures/construct_network_input_interactions.json @@ -1,85 +1,81 @@ { - "gene_name": ["EREG", "EREG", "EREG", "EREG", "EREG", "EREG"], - "gene_concept_id": [ - "hgnc:3443", - "hgnc:3443", - "hgnc:3443", - "hgnc:3443", - "hgnc:3443", - "hgnc:3443" - ], - "gene_long_name": [ - "epiregulin", - "epiregulin", - "epiregulin", - "epiregulin", - "epiregulin", - "epiregulin" - ], - "drug_name": [ - "CETUXIMAB", - "HUMAN CHORIONIC GONADOTROPIN", - "E6201", - "FEPIXNEBART", - "FEPIXNEBART", - "PANITUMUMAB" - ], - "drug_concept_id": [ - "rxcui:318341", - "rxcui:340705", - "iuphar.ligand:7836", - "ncit:C188574", - "chembl:CHEMBL4594573", - "rxcui:263034" - ], - "drug_approved": [true, true, false, false, false, true], - "interaction_score": [ - 0.2430910705356227, - 0.921187214661307, - 1.250182648468916, - 4.375639269641208, - 4.375639269641208, - 0.4375639269641209 - ], - "interaction_attributes": [ - { - "Mechanism of Action": null, - "Direct Interaction": null, - "Endogenous Drug": null - }, - { - "Mechanism of Action": null, - "Direct Interaction": null, - "Endogenous Drug": null - }, - { - "Mechanism of Action": ["Inhibition"], - "Direct Interaction": ["true"], - "Endogenous Drug": ["false"] - }, - { - "Mechanism of Action": ["Proepiregulin inhibitor"], - "Direct Interaction": ["true"], - "Endogenous Drug": null - }, - { - "Mechanism of Action": null, - "Direct Interaction": null, - "Endogenous Drug": null - }, - { - "Mechanism of Action": null, - "Direct Interaction": null, - "Endogenous Drug": null - } - ], - "interaction_sources": [ - ["CIViC"], - ["NCI"], - ["GuideToPharmacology"], - ["ChEMBL"], - ["TTD"], - ["CIViC"] - ], - "interaction_pmids": [[], [16543407], [], [], [], []] + "gene_name": ["EREG", "EREG", "EREG", "EREG", "EREG", "EREG"], + "gene_concept_id": [ + "hgnc:3443", + "hgnc:3443", + "hgnc:3443", + "hgnc:3443", + "hgnc:3443", + "hgnc:3443" + ], + "gene_long_name": [ + "epiregulin", + "epiregulin", + "epiregulin", + "epiregulin", + "epiregulin", + "epiregulin" + ], + "drug_name": [ + "CETUXIMAB", + "HUMAN CHORIONIC GONADOTROPIN", + "E6201", + "FEPIXNEBART", + "FEPIXNEBART", + "PANITUMUMAB" + ], + "drug_concept_id": [ + "rxcui:318341", + "rxcui:340705", + "iuphar.ligand:7836", + "ncit:C188574", + "chembl:CHEMBL4594573", + "rxcui:263034" + ], + "drug_approved": [true, true, false, false, false, true], + "interaction_score": [ + 0.2430910705356227, 0.921187214661307, 1.250182648468916, 4.375639269641208, + 4.375639269641208, 0.4375639269641209 + ], + "interaction_attributes": [ + { + "Mechanism of Action": null, + "Direct Interaction": null, + "Endogenous Drug": null + }, + { + "Mechanism of Action": null, + "Direct Interaction": null, + "Endogenous Drug": null + }, + { + "Mechanism of Action": ["Inhibition"], + "Direct Interaction": ["true"], + "Endogenous Drug": ["false"] + }, + { + "Mechanism of Action": ["Proepiregulin inhibitor"], + "Direct Interaction": ["true"], + "Endogenous Drug": null + }, + { + "Mechanism of Action": null, + "Direct Interaction": null, + "Endogenous Drug": null + }, + { + "Mechanism of Action": null, + "Direct Interaction": null, + "Endogenous Drug": null } + ], + "interaction_sources": [ + ["CIViC"], + ["NCI"], + ["GuideToPharmacology"], + ["ChEMBL"], + ["TTD"], + ["CIViC"] + ], + "interaction_pmids": [[], [16543407], [], [], [], []] +} diff --git a/tests/fixtures/get_categories_response.json b/tests/fixtures/get_categories_response.json index f8dd2b7..2763851 100644 --- a/tests/fixtures/get_categories_response.json +++ b/tests/fixtures/get_categories_response.json @@ -20,39 +20,23 @@ }, { "name": "DRUG RESISTANCE", - "sourceNames": [ - "CIViC", - "COSMIC" - ] + "sourceNames": ["CIViC", "COSMIC"] }, { "name": "DRUGGABLE GENOME", - "sourceNames": [ - "HingoraniCasas", - "HopkinsGroom", - "RussLampel" - ] + "sourceNames": ["HingoraniCasas", "HopkinsGroom", "RussLampel"] }, { "name": "ENZYME", - "sourceNames": [ - "GuideToPharmacology" - ] + "sourceNames": ["GuideToPharmacology"] }, { "name": "KINASE", - "sourceNames": [ - "HopkinsGroom", - "Pharos", - "dGene" - ] + "sourceNames": ["HopkinsGroom", "Pharos", "dGene"] }, { "name": "SERINE THREONINE KINASE", - "sourceNames": [ - "GO", - "dGene" - ] + "sourceNames": ["GO", "dGene"] } ] } diff --git a/tests/fixtures/get_drug_applications_drugsatfda_response.json b/tests/fixtures/get_drug_applications_drugsatfda_response.json index 3998e90..0b49228 100644 --- a/tests/fixtures/get_drug_applications_drugsatfda_response.json +++ b/tests/fixtures/get_drug_applications_drugsatfda_response.json @@ -115,47 +115,19 @@ "application_number": "NDA212099", "sponsor_name": "BAYER HEALTHCARE", "openfda": { - "application_number": [ - "NDA212099" - ], - "brand_name": [ - "NUBEQA" - ], - "generic_name": [ - "DAROLUTAMIDE" - ], - "manufacturer_name": [ - "Bayer HealthCare Pharmaceuticals Inc." - ], - "product_ndc": [ - "50419-395" - ], - "product_type": [ - "HUMAN PRESCRIPTION DRUG" - ], - "route": [ - "ORAL" - ], - "substance_name": [ - "DAROLUTAMIDE" - ], - "rxcui": [ - "2180330", - "2180336" - ], - "spl_id": [ - "78565601-df32-45a6-9d08-ac84738c8963" - ], - "spl_set_id": [ - "1a7cb212-56e4-4b9d-a73d-bfee7fe4735e" - ], - "package_ndc": [ - "50419-395-01", - "50419-395-72" - ], - "unii": [ - "X05U0N2RCO" - ] + "application_number": ["NDA212099"], + "brand_name": ["NUBEQA"], + "generic_name": ["DAROLUTAMIDE"], + "manufacturer_name": ["Bayer HealthCare Pharmaceuticals Inc."], + "product_ndc": ["50419-395"], + "product_type": ["HUMAN PRESCRIPTION DRUG"], + "route": ["ORAL"], + "substance_name": ["DAROLUTAMIDE"], + "rxcui": ["2180330", "2180336"], + "spl_id": ["78565601-df32-45a6-9d08-ac84738c8963"], + "spl_set_id": ["1a7cb212-56e4-4b9d-a73d-bfee7fe4735e"], + "package_ndc": ["50419-395-01", "50419-395-72"], + "unii": ["X05U0N2RCO"] }, "products": [ { diff --git a/tests/fixtures/introspection_response.json b/tests/fixtures/introspection_response.json index 531dcda..3eb6372 100644 --- a/tests/fixtures/introspection_response.json +++ b/tests/fixtures/introspection_response.json @@ -1 +1,7318 @@ -{"data": {"__schema": {"queryType": {"name": "Query"}, "mutationType": {"name": "Mutation"}, "subscriptionType": null, "types": [{"kind": "SCALAR", "name": "Boolean", "description": "Represents `true` or `false` values.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "CategoryWithCount", "description": null, "fields": [{"name": "geneCount", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "CategoryWithSources", "description": null, "fields": [{"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sourceNames", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "ENUM", "name": "Directionality", "description": null, "fields": null, "inputFields": null, "interfaces": null, "enumValues": [{"name": "ACTIVATING", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "INHIBITORY", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "DIRECTIONALITY_UNCLEAR", "description": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "OBJECT", "name": "Drug", "description": null, "fields": [{"name": "antiNeoplastic", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "approved", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "conceptId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugAliases", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugAlias", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugApplications", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugApplication", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugApprovalRatings", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugApprovalRating", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugAttributes", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugAttribute", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "immunotherapy", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactions", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Interaction", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugAlias", "description": null, "fields": [{"name": "alias", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drug", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Drug", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sources", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Source", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugApplication", "description": null, "fields": [{"name": "appNo", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drug", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Drug", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugApprovalRating", "description": null, "fields": [{"name": "drug", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Drug", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "rating", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "source", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Source", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugAttribute", "description": null, "fields": [{"name": "drug", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Drug", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sources", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Source", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "value", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugClaim", "description": null, "fields": [{"name": "drug", "description": null, "args": [], "type": {"kind": "OBJECT", "name": "Drug", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaimAliases", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugClaimAlias", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaimApprovalRatings", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugClaimApprovalRating", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaimAttributes", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugClaimAttribute", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugId", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "ID", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "nomenclature", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "source", "description": null, "args": [], "type": {"kind": "OBJECT", "name": "Source", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "sourceId", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "ID", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugClaimAlias", "description": null, "fields": [{"name": "alias", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaim", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugClaim", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaimId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "nomenclature", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugClaimApprovalRating", "description": null, "fields": [{"name": "drugClaim", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugClaim", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaimId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "rating", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugClaimAttribute", "description": null, "fields": [{"name": "drugClaim", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugClaim", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaimId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "value", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugConnection", "description": "The connection type for Drug.", "fields": [{"name": "edges", "description": "A list of edges.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugEdge", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "nodes", "description": "A list of nodes.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "OBJECT", "name": "Drug", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pageCount", "description": "Total number of pages, based on filtered count and pagesize.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "PageInfo", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "totalCount", "description": "The total number of records in this filtered collection.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugEdge", "description": "An edge in a connection.", "fields": [{"name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "node", "description": "The item at the end of the edge.", "args": [], "type": {"kind": "OBJECT", "name": "Drug", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugMatch", "description": null, "fields": [{"name": "ambiguousMatches", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugSearchResult", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "directMatches", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugSearchResult", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "noMatches", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugSearchResult", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugSearchResult", "description": null, "fields": [{"name": "matchType", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "ENUM", "name": "SearchMatch", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "matches", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Drug", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "searchTerm", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "DrugSuggestion", "description": null, "fields": [{"name": "conceptId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugName", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "suggestion", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "suggestionType", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "ENUM", "name": "SuggestionType", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "SCALAR", "name": "Float", "description": "Represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Gene", "description": null, "fields": [{"name": "conceptId", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneAliases", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneAlias", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneAttributes", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneAttribute", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneCategories", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaimCategory", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneCategoriesWithSources", "description": null, "args": [{"name": "categoryName", "description": null, "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "CategoryWithSources", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactions", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Interaction", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "longName", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneAlias", "description": null, "fields": [{"name": "alias", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "gene", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Gene", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sources", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Source", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneAttribute", "description": null, "fields": [{"name": "gene", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Gene", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sources", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Source", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "value", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneCategoryResult", "description": null, "fields": [{"name": "conceptId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "longName", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sourceDbNames", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneCategoryResultConnection", "description": "The connection type for GeneCategoryResult.", "fields": [{"name": "edges", "description": "A list of edges.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneCategoryResultEdge", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "nodes", "description": "A list of nodes.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneCategoryResult", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pageCount", "description": "Total number of pages, based on filtered count and pagesize.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "PageInfo", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "totalCount", "description": "The total number of records in this filtered collection.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneCategoryResultEdge", "description": "An edge in a connection.", "fields": [{"name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "node", "description": "The item at the end of the edge.", "args": [], "type": {"kind": "OBJECT", "name": "GeneCategoryResult", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneClaim", "description": null, "fields": [{"name": "drugClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "gene", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Gene", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaimAliases", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaimAlias", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaimAttributes", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaimAttribute", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaimCategories", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaimCategory", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "nomenclature", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "source", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Source", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sourceId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneClaimAlias", "description": null, "fields": [{"name": "alias", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaim", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaim", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaimId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "nomenclature", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneClaimAttribute", "description": null, "fields": [{"name": "geneClaim", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaim", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaimId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "value", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneClaimCategory", "description": null, "fields": [{"name": "geneClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneCount", "description": null, "args": [{"name": "sourceDbNames", "description": null, "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "defaultValue": null}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "genes", "description": null, "args": [{"name": "after", "description": "Returns the elements in the list that come after the specified cursor.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "before", "description": "Returns the elements in the list that come before the specified cursor.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "first", "description": "Returns the first _n_ elements from the list.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}, {"name": "last", "description": "Returns the last _n_ elements from the list.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}, {"name": "sourceNames", "description": null, "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "defaultValue": null}, {"name": "categoryName", "description": null, "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneCategoryResultConnection", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneClaimCategoryConnection", "description": "The connection type for GeneClaimCategory.", "fields": [{"name": "edges", "description": "A list of edges.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaimCategoryEdge", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "nodes", "description": "A list of nodes.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaimCategory", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pageCount", "description": "Total number of pages, based on filtered count and pagesize.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "PageInfo", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "totalCount", "description": "The total number of records in this filtered collection.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneClaimCategoryEdge", "description": "An edge in a connection.", "fields": [{"name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "node", "description": "The item at the end of the edge.", "args": [], "type": {"kind": "OBJECT", "name": "GeneClaimCategory", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneConnection", "description": "The connection type for Gene.", "fields": [{"name": "edges", "description": "A list of edges.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneEdge", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "nodes", "description": "A list of nodes.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "OBJECT", "name": "Gene", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pageCount", "description": "Total number of pages, based on filtered count and pagesize.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "PageInfo", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "totalCount", "description": "The total number of records in this filtered collection.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneEdge", "description": "An edge in a connection.", "fields": [{"name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "node", "description": "The item at the end of the edge.", "args": [], "type": {"kind": "OBJECT", "name": "Gene", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneMatch", "description": null, "fields": [{"name": "ambiguousMatches", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneSearchResult", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "directMatches", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneSearchResult", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "noMatches", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneSearchResult", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneSearchResult", "description": null, "fields": [{"name": "matchType", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "ENUM", "name": "SearchMatch", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "matches", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Gene", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "searchTerm", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "GeneSuggestion", "description": null, "fields": [{"name": "conceptId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneName", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "suggestion", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "suggestionType", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "ENUM", "name": "SuggestionType", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "SCALAR", "name": "ID", "description": "Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"VXNlci0xMA==\"`) or integer (such as `4`) input value will be accepted as an ID.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "SCALAR", "name": "ISO8601DateTime", "description": "An ISO 8601-encoded datetime", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "SCALAR", "name": "Int", "description": "Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Interaction", "description": null, "fields": [{"name": "drug", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Drug", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "gene", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Gene", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionAttributes", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionAttribute", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionScore", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Float", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionTypes", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaimType", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "publications", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Publication", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sources", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Source", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "InteractionAttribute", "description": null, "fields": [{"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interaction", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Interaction", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sources", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Source", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "value", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "InteractionClaim", "description": null, "fields": [{"name": "drugClaim", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugClaim", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaimId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaim", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaim", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaimId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interaction", "description": null, "args": [], "type": {"kind": "OBJECT", "name": "Interaction", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaimAttributes", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaimAttribute", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaimLinks", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaimLink", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaimTypes", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaimType", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionId", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "ID", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "publications", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Publication", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "source", "description": null, "args": [], "type": {"kind": "OBJECT", "name": "Source", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "sourceId", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "ID", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "InteractionClaimAttribute", "description": null, "fields": [{"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaim", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaim", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaimId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "value", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "InteractionClaimLink", "description": null, "fields": [{"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaim", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaim", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaimId", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "linkText", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "linkUrl", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "InteractionClaimType", "description": null, "fields": [{"name": "definition", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "directionality", "description": null, "args": [], "type": {"kind": "ENUM", "name": "Directionality", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactions", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Interaction", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "reference", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "type", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "InteractionClaimTypeConnection", "description": "The connection type for InteractionClaimType.", "fields": [{"name": "edges", "description": "A list of edges.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaimTypeEdge", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "nodes", "description": "A list of nodes.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaimType", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pageCount", "description": "Total number of pages, based on filtered count and pagesize.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "PageInfo", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "totalCount", "description": "The total number of records in this filtered collection.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "InteractionClaimTypeEdge", "description": "An edge in a connection.", "fields": [{"name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "node", "description": "The item at the end of the edge.", "args": [], "type": {"kind": "OBJECT", "name": "InteractionClaimType", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Meta", "description": null, "fields": [{"name": "contactUrl", "description": "URL of the contact for the provider of this service", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "createdAt", "description": "Timestamp describing when the service was first deployed and available", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ISO8601DateTime", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "dataVersion", "description": "Version of the data being served by DGIdb", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "documentationUrl", "description": "URL of the documentation of this service", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "environment", "description": "Environment the service is running in", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": "Unique identifier for service.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": "Human readable name of the service", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "organization", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Organization", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "type", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Service", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "updatedAt", "description": "Timestamp describing when the service was last updated", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ISO8601DateTime", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "version", "description": "Version of the service being described", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Mutation", "description": null, "fields": [{"name": "testField", "description": "An example field added by the generator", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Organization", "description": null, "fields": [{"name": "name", "description": "Name of the organization responsible for the service", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "url", "description": "URL of the website of the organization", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "PageInfo", "description": "Information about pagination in a connection.", "fields": [{"name": "endCursor", "description": "When paginating forwards, the cursor to continue.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "hasNextPage", "description": "When paginating forwards, are there more items?", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "hasPreviousPage", "description": "When paginating backwards, are there more items?", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "startCursor", "description": "When paginating backwards, the cursor to continue.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Publication", "description": null, "fields": [{"name": "citation", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "createdAt", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "ISO8601DateTime", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactions", "description": null, "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Interaction", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pmid", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "updatedAt", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "ISO8601DateTime", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Query", "description": null, "fields": [{"name": "categories", "description": null, "args": [{"name": "sourceDbNames", "description": "Filtering on sources.", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "defaultValue": null}, {"name": "categoryName", "description": "Filtering on category name.", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "defaultValue": null}, {"name": "name", "description": "Left anchored string search on category name", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "after", "description": "Returns the elements in the list that come after the specified cursor.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "before", "description": "Returns the elements in the list that come before the specified cursor.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "first", "description": "Returns the first _n_ elements from the list.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}, {"name": "last", "description": "Returns the last _n_ elements from the list.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaimCategoryConnection", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drug", "description": "A drug", "args": [{"name": "conceptId", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Drug", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugAlias", "description": "Alias for a drug", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "DrugAlias", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugApplication", "description": "Drug application", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "DrugApplication", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugApprovalRating", "description": "Drug approval rating", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "DrugApprovalRating", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugAttribute", "description": "Attribute(s) associated with with a drug", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "DrugAttribute", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaim", "description": "A claim for a drug", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "DrugClaim", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaimAlias", "description": "Alias for a drug claim", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "DrugClaimAlias", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaimAttribute", "description": "Attributes for a claim on a drug", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "DrugClaimAttribute", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugMatches", "description": "Case-insensitively match Drug search terms to known drugs in the database.", "args": [{"name": "searchTerms", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}}, "defaultValue": null}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugMatch", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugSuggestions", "description": "A searchable drug name or alias that can be completed from the supplied term", "args": [{"name": "term", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}, {"name": "n", "description": null, "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugSuggestion", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugs", "description": null, "args": [{"name": "ids", "description": "Exact match filtering on a list of drug IDs", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "defaultValue": null}, {"name": "names", "description": "Left anchored filtering on a list of drug names.", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "defaultValue": null}, {"name": "name", "description": "Left anchored string search on drug name", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "approved", "description": "Filtering on approval status of drug.", "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": null}, {"name": "immunotherapy", "description": "Filtering on immunotherapy status of drug.", "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": null}, {"name": "antiNeoplastic", "description": "Filtering on anti neoplasticity of drug.", "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": null}, {"name": "conceptId", "description": "Exact match filtering on concept ID.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "conceptIds", "description": "Exact match filtering on a list of concept IDs", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "defaultValue": null}, {"name": "interactionType", "description": "Exact filtering on interaction claim type.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "sourceName", "description": "Exact filtering on full name of source for an interaction.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "sourceDbName", "description": "Exact filtering of source db name for an interaction", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "pmid", "description": "Exact match filtering on publication pmids.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}, {"name": "after", "description": "Returns the elements in the list that come after the specified cursor.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "before", "description": "Returns the elements in the list that come before the specified cursor.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "first", "description": "Returns the first _n_ elements from the list.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}, {"name": "last", "description": "Returns the last _n_ elements from the list.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugConnection", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "gene", "description": "A gene", "args": [{"name": "conceptId", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Gene", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneAlias", "description": "Alias for a gene", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "GeneAlias", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneAttribute", "description": "Attribute for a gene", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "GeneAttribute", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaim", "description": "A claim for a gene", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "GeneClaim", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaimAlias", "description": "Alias for a gene claim", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "GeneClaimAlias", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaimAttribute", "description": "Attribute for a gene claim", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "GeneClaimAttribute", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaimCategory", "description": "Category for a gene claim", "args": [{"name": "name", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "GeneClaimCategory", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneMatches", "description": "Case-insensitively match Gene search terms to known genes in the database.", "args": [{"name": "searchTerms", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}}, "defaultValue": null}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneMatch", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneSuggestions", "description": "A searchable gene name or alias that can be completed from the supplied term", "args": [{"name": "term", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}, {"name": "n", "description": null, "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneSuggestion", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "genes", "description": null, "args": [{"name": "ids", "description": "Exact match filtering on a list of gene UUIDs", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "defaultValue": null}, {"name": "names", "description": "Substring filtering on a list of gene names.", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "defaultValue": null}, {"name": "longName", "description": "Left anchored string search on long gene name.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "conceptId", "description": "Exact match filtering on concept ID.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "conceptIds", "description": "Exact match filtering on a list of concept IDs", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "defaultValue": null}, {"name": "name", "description": "Left anchored string search on gene symbol", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "geneClaimCategory", "description": "Filtering on gene claim category name.", "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}}, "defaultValue": null}, {"name": "interactionType", "description": "Exact filtering on interaction claim type.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "sourceName", "description": "Exact filtering on full name of source for an interaction.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "sourceDbName", "description": "Exact filtering of source db name for an interaction", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "pmid", "description": "Exact match filtering on publication pmids.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}, {"name": "after", "description": "Returns the elements in the list that come after the specified cursor.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "before", "description": "Returns the elements in the list that come before the specified cursor.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "first", "description": "Returns the first _n_ elements from the list.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}, {"name": "last", "description": "Returns the last _n_ elements from the list.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneConnection", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interaction", "description": "An interaction", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Interaction", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionAttribute", "description": "An attribute of an interaction", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "InteractionAttribute", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaim", "description": "A claim on an interaction", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "InteractionClaim", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaimAttribute", "description": "An attribute of an interaction claim", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "InteractionClaimAttribute", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaimLink", "description": "Links associated with an attribute claim", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "InteractionClaimLink", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaimType", "description": "A type associated with an interaction claim", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "InteractionClaimType", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaimTypes", "description": null, "args": [{"name": "after", "description": "Returns the elements in the list that come after the specified cursor.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "before", "description": "Returns the elements in the list that come before the specified cursor.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "first", "description": "Returns the first _n_ elements from the list.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}, {"name": "last", "description": "Returns the last _n_ elements from the list.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaimTypeConnection", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "publication", "description": "A publication", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Publication", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "serviceInfo", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Meta", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "source", "description": "A source", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "Source", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "sourceTrustLevel", "description": "Trust level for a source", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "SourceTrustLevel", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "sourceType", "description": "Types of sources", "args": [{"name": "id", "description": null, "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "defaultValue": null}], "type": {"kind": "OBJECT", "name": "SourceType", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "sources", "description": null, "args": [{"name": "sourceType", "description": null, "type": {"kind": "ENUM", "name": "SourceTypeFilter", "ofType": null}, "defaultValue": null}, {"name": "after", "description": "Returns the elements in the list that come after the specified cursor.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "before", "description": "Returns the elements in the list that come before the specified cursor.", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": null}, {"name": "first", "description": "Returns the first _n_ elements from the list.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}, {"name": "last", "description": "Returns the last _n_ elements from the list.", "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "defaultValue": null}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "SourceConnection", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "ENUM", "name": "SearchMatch", "description": null, "fields": null, "inputFields": null, "interfaces": null, "enumValues": [{"name": "DIRECT", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "AMBIGUOUS", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "NONE", "description": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "OBJECT", "name": "Service", "description": null, "fields": [{"name": "artifact", "description": "Name of the API or GA4GH specification implemented.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "group", "description": "Namespace in reverse domain name format.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "version", "description": "API Version (semantic)", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "Source", "description": null, "fields": [{"name": "baseUrl", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "categoriesInSource", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "CategoryWithCount", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "citation", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "citationShort", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "doi", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugAliases", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugAlias", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugApprovalRatings", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugApprovalRating", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugAttributes", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugAttribute", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "DrugClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaimsCount", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "drugClaimsInGroupsCount", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "fullName", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneAliases", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneAlias", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneAttributes", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneAttribute", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "GeneClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaimsCount", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "geneClaimsInGroupsCount", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionAttributes", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionAttribute", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaims", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "InteractionClaim", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaimsCount", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "interactionClaimsInGroupsCount", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "Int", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "license", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "licenseLink", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "pmcid", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "pmid", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "siteUrl", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "sourceDbName", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sourceDbVersion", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sourceTrustLevel", "description": null, "args": [], "type": {"kind": "OBJECT", "name": "SourceTrustLevel", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "sourceTrustLevelId", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "sourceTypes", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "SourceType", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "SourceConnection", "description": "The connection type for Source.", "fields": [{"name": "edges", "description": "A list of edges.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "OBJECT", "name": "SourceEdge", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "nodes", "description": "A list of nodes.", "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "OBJECT", "name": "Source", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pageCount", "description": "Total number of pages, based on filtered count and pagesize.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "pageInfo", "description": "Information to aid in pagination.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "PageInfo", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "totalCount", "description": "The total number of records in this filtered collection.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Int", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "SourceEdge", "description": "An edge in a connection.", "fields": [{"name": "cursor", "description": "A cursor for use in pagination.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "node", "description": "The item at the end of the edge.", "args": [], "type": {"kind": "OBJECT", "name": "Source", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "SourceTrustLevel", "description": null, "fields": [{"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "level", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sources", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Source", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "SourceType", "description": null, "fields": [{"name": "displayName", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "id", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "ID", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "sources", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "Source", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "type", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "ENUM", "name": "SourceTypeFilter", "description": null, "fields": null, "inputFields": null, "interfaces": null, "enumValues": [{"name": "GENE", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "DRUG", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "INTERACTION", "description": null, "isDeprecated": false, "deprecationReason": null}, {"name": "POTENTIALLY_DRUGGABLE", "description": null, "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "SCALAR", "name": "String", "description": "Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": null, "possibleTypes": null}, {"kind": "ENUM", "name": "SuggestionType", "description": null, "fields": null, "inputFields": null, "interfaces": null, "enumValues": [{"name": "NAME", "description": "Drug or gene name", "isDeprecated": false, "deprecationReason": null}, {"name": "ALIAS", "description": "Drug or gene alias", "isDeprecated": false, "deprecationReason": null}, {"name": "CONCEPT_ID", "description": "Drug or gene concept ID", "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "OBJECT", "name": "__Directive", "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", "fields": [{"name": "args", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__InputValue", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "locations", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "ENUM", "name": "__DirectiveLocation", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "onField", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": true, "deprecationReason": "Use `locations`."}, {"name": "onFragment", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": true, "deprecationReason": "Use `locations`."}, {"name": "onOperation", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": true, "deprecationReason": "Use `locations`."}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "ENUM", "name": "__DirectiveLocation", "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [{"name": "QUERY", "description": "Location adjacent to a query operation.", "isDeprecated": false, "deprecationReason": null}, {"name": "MUTATION", "description": "Location adjacent to a mutation operation.", "isDeprecated": false, "deprecationReason": null}, {"name": "SUBSCRIPTION", "description": "Location adjacent to a subscription operation.", "isDeprecated": false, "deprecationReason": null}, {"name": "FIELD", "description": "Location adjacent to a field.", "isDeprecated": false, "deprecationReason": null}, {"name": "FRAGMENT_DEFINITION", "description": "Location adjacent to a fragment definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "FRAGMENT_SPREAD", "description": "Location adjacent to a fragment spread.", "isDeprecated": false, "deprecationReason": null}, {"name": "INLINE_FRAGMENT", "description": "Location adjacent to an inline fragment.", "isDeprecated": false, "deprecationReason": null}, {"name": "SCHEMA", "description": "Location adjacent to a schema definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "SCALAR", "description": "Location adjacent to a scalar definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "OBJECT", "description": "Location adjacent to an object type definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "FIELD_DEFINITION", "description": "Location adjacent to a field definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "ARGUMENT_DEFINITION", "description": "Location adjacent to an argument definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "INTERFACE", "description": "Location adjacent to an interface definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "UNION", "description": "Location adjacent to a union definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "ENUM", "description": "Location adjacent to an enum definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "ENUM_VALUE", "description": "Location adjacent to an enum value definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "INPUT_OBJECT", "description": "Location adjacent to an input object type definition.", "isDeprecated": false, "deprecationReason": null}, {"name": "INPUT_FIELD_DEFINITION", "description": "Location adjacent to an input object field definition.", "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}, {"kind": "OBJECT", "name": "__EnumValue", "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", "fields": [{"name": "deprecationReason", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "isDeprecated", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__Field", "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", "fields": [{"name": "args", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__InputValue", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "deprecationReason", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "isDeprecated", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "type", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__InputValue", "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", "fields": [{"name": "defaultValue", "description": "A GraphQL-formatted string representing the default value for this input value.", "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "deprecationReason", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "isDeprecated", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "String", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "type", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__Schema", "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", "fields": [{"name": "directives", "description": "A list of all directives supported by this server.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Directive", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "mutationType", "description": "If this server supports mutation, the type that mutation operations will be rooted at.", "args": [], "type": {"kind": "OBJECT", "name": "__Type", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "queryType", "description": "The type that query operations will be rooted at.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "subscriptionType", "description": "If this server support subscription, the type that subscription operations will be rooted at.", "args": [], "type": {"kind": "OBJECT", "name": "__Type", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "types", "description": "A list of all types supported by this server.", "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "OBJECT", "name": "__Type", "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", "fields": [{"name": "description", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "enumValues", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__EnumValue", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "fields", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Field", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "inputFields", "description": null, "args": [{"name": "includeDeprecated", "description": null, "type": {"kind": "SCALAR", "name": "Boolean", "ofType": null}, "defaultValue": "false"}], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__InputValue", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "interfaces", "description": null, "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}, {"name": "kind", "description": null, "args": [], "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "ENUM", "name": "__TypeKind", "ofType": null}}, "isDeprecated": false, "deprecationReason": null}, {"name": "name", "description": null, "args": [], "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "ofType", "description": null, "args": [], "type": {"kind": "OBJECT", "name": "__Type", "ofType": null}, "isDeprecated": false, "deprecationReason": null}, {"name": "possibleTypes", "description": null, "args": [], "type": {"kind": "LIST", "name": null, "ofType": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "OBJECT", "name": "__Type", "ofType": null}}}, "isDeprecated": false, "deprecationReason": null}], "inputFields": null, "interfaces": [], "enumValues": null, "possibleTypes": null}, {"kind": "ENUM", "name": "__TypeKind", "description": "An enum describing what kind of type a given `__Type` is.", "fields": null, "inputFields": null, "interfaces": null, "enumValues": [{"name": "SCALAR", "description": "Indicates this type is a scalar.", "isDeprecated": false, "deprecationReason": null}, {"name": "OBJECT", "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", "isDeprecated": false, "deprecationReason": null}, {"name": "INTERFACE", "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", "isDeprecated": false, "deprecationReason": null}, {"name": "UNION", "description": "Indicates this type is a union. `possibleTypes` is a valid field.", "isDeprecated": false, "deprecationReason": null}, {"name": "ENUM", "description": "Indicates this type is an enum. `enumValues` is a valid field.", "isDeprecated": false, "deprecationReason": null}, {"name": "INPUT_OBJECT", "description": "Indicates this type is an input object. `inputFields` is a valid field.", "isDeprecated": false, "deprecationReason": null}, {"name": "LIST", "description": "Indicates this type is a list. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null}, {"name": "NON_NULL", "description": "Indicates this type is a non-null. `ofType` is a valid field.", "isDeprecated": false, "deprecationReason": null}], "possibleTypes": null}], "directives": [{"name": "include", "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [{"name": "if", "description": "Included when true.", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "defaultValue": null}]}, {"name": "skip", "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], "args": [{"name": "if", "description": "Skipped when true.", "type": {"kind": "NON_NULL", "name": null, "ofType": {"kind": "SCALAR", "name": "Boolean", "ofType": null}}, "defaultValue": null}]}, {"name": "deprecated", "description": "Marks an element of a GraphQL schema as no longer supported.", "locations": ["FIELD_DEFINITION", "ENUM_VALUE", "ARGUMENT_DEFINITION", "INPUT_FIELD_DEFINITION"], "args": [{"name": "reason", "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).", "type": {"kind": "SCALAR", "name": "String", "ofType": null}, "defaultValue": "\"No longer supported\""}]}]}}} \ No newline at end of file +{ + "data": { + "__schema": { + "queryType": { "name": "Query" }, + "mutationType": { "name": "Mutation" }, + "subscriptionType": null, + "types": [ + { + "kind": "SCALAR", + "name": "Boolean", + "description": "Represents `true` or `false` values.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CategoryWithCount", + "description": null, + "fields": [ + { + "name": "geneCount", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CategoryWithSources", + "description": null, + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceNames", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "Directionality", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVATING", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INHIBITORY", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DIRECTIONALITY_UNCLEAR", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Drug", + "description": null, + "fields": [ + { + "name": "antiNeoplastic", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approved", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "conceptId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugAliases", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugAlias", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugApplications", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugApplication", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugApprovalRatings", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugApprovalRating", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugAttributes", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugAttribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "immunotherapy", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "Boolean", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactions", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Interaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugAlias", + "description": null, + "fields": [ + { + "name": "alias", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drug", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Drug", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Source", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugApplication", + "description": null, + "fields": [ + { + "name": "appNo", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drug", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Drug", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugApprovalRating", + "description": null, + "fields": [ + { + "name": "drug", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Drug", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rating", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Source", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugAttribute", + "description": null, + "fields": [ + { + "name": "drug", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Drug", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Source", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugClaim", + "description": null, + "fields": [ + { + "name": "drug", + "description": null, + "args": [], + "type": { "kind": "OBJECT", "name": "Drug", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaimAliases", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugClaimAlias", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaimApprovalRatings", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugClaimApprovalRating", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaimAttributes", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugClaimAttribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugId", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nomenclature", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": null, + "args": [], + "type": { "kind": "OBJECT", "name": "Source", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceId", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugClaimAlias", + "description": null, + "fields": [ + { + "name": "alias", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaim", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugClaim", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaimId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nomenclature", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugClaimApprovalRating", + "description": null, + "fields": [ + { + "name": "drugClaim", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugClaim", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaimId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rating", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugClaimAttribute", + "description": null, + "fields": [ + { + "name": "drugClaim", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugClaim", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaimId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugConnection", + "description": "The connection type for Drug.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Drug", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCount", + "description": "Total number of pages, based on filtered count and pagesize.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCount", + "description": "The total number of records in this filtered collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { "kind": "OBJECT", "name": "Drug", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugMatch", + "description": null, + "fields": [ + { + "name": "ambiguousMatches", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugSearchResult", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "directMatches", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugSearchResult", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noMatches", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugSearchResult", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugSearchResult", + "description": null, + "fields": [ + { + "name": "matchType", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchMatch", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "matches", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Drug", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchTerm", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DrugSuggestion", + "description": null, + "fields": [ + { + "name": "conceptId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugName", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestion", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestionType", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SuggestionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Float", + "description": "Represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Gene", + "description": null, + "fields": [ + { + "name": "conceptId", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneAliases", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneAlias", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneAttributes", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneAttribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneCategories", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaimCategory", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneCategoriesWithSources", + "description": null, + "args": [ + { + "name": "categoryName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CategoryWithSources", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactions", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Interaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longName", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneAlias", + "description": null, + "fields": [ + { + "name": "alias", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gene", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Gene", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Source", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneAttribute", + "description": null, + "fields": [ + { + "name": "gene", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Gene", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Source", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneCategoryResult", + "description": null, + "fields": [ + { + "name": "conceptId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longName", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceDbNames", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneCategoryResultConnection", + "description": "The connection type for GeneCategoryResult.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneCategoryResultEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneCategoryResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCount", + "description": "Total number of pages, based on filtered count and pagesize.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCount", + "description": "The total number of records in this filtered collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneCategoryResultEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GeneCategoryResult", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneClaim", + "description": null, + "fields": [ + { + "name": "drugClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gene", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Gene", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaimAliases", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaimAlias", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaimAttributes", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaimAttribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaimCategories", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaimCategory", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nomenclature", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Source", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneClaimAlias", + "description": null, + "fields": [ + { + "name": "alias", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaim", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaim", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaimId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nomenclature", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneClaimAttribute", + "description": null, + "fields": [ + { + "name": "geneClaim", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaim", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaimId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneClaimCategory", + "description": null, + "fields": [ + { + "name": "geneClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneCount", + "description": null, + "args": [ + { + "name": "sourceDbNames", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "genes", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + }, + { + "name": "sourceNames", + "description": null, + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "categoryName", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneCategoryResultConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneClaimCategoryConnection", + "description": "The connection type for GeneClaimCategory.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaimCategoryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaimCategory", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCount", + "description": "Total number of pages, based on filtered count and pagesize.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCount", + "description": "The total number of records in this filtered collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneClaimCategoryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GeneClaimCategory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneConnection", + "description": "The connection type for Gene.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Gene", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCount", + "description": "Total number of pages, based on filtered count and pagesize.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCount", + "description": "The total number of records in this filtered collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { "kind": "OBJECT", "name": "Gene", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneMatch", + "description": null, + "fields": [ + { + "name": "ambiguousMatches", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneSearchResult", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "directMatches", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneSearchResult", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noMatches", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneSearchResult", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneSearchResult", + "description": null, + "fields": [ + { + "name": "matchType", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchMatch", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "matches", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Gene", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchTerm", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeneSuggestion", + "description": null, + "fields": [ + { + "name": "conceptId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneName", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestion", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestionType", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SuggestionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ID", + "description": "Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"VXNlci0xMA==\"`) or integer (such as `4`) input value will be accepted as an ID.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "description": "An ISO 8601-encoded datetime", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Int", + "description": "Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Interaction", + "description": null, + "fields": [ + { + "name": "drug", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Drug", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gene", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Gene", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionAttributes", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionAttribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionScore", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Float", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionTypes", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaimType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publications", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Source", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InteractionAttribute", + "description": null, + "fields": [ + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interaction", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Interaction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Source", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InteractionClaim", + "description": null, + "fields": [ + { + "name": "drugClaim", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugClaim", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaimId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaim", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaim", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaimId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interaction", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "Interaction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaimAttributes", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaimAttribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaimLinks", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaimLink", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaimTypes", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaimType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionId", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publications", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": null, + "args": [], + "type": { "kind": "OBJECT", "name": "Source", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceId", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "ID", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InteractionClaimAttribute", + "description": null, + "fields": [ + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaim", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaim", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaimId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InteractionClaimLink", + "description": null, + "fields": [ + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaim", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaim", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaimId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkText", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkUrl", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InteractionClaimType", + "description": null, + "fields": [ + { + "name": "definition", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "directionality", + "description": null, + "args": [], + "type": { + "kind": "ENUM", + "name": "Directionality", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactions", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Interaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InteractionClaimTypeConnection", + "description": "The connection type for InteractionClaimType.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaimTypeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaimType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCount", + "description": "Total number of pages, based on filtered count and pagesize.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCount", + "description": "The total number of records in this filtered collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InteractionClaimTypeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "InteractionClaimType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Meta", + "description": null, + "fields": [ + { + "name": "contactUrl", + "description": "URL of the contact for the provider of this service", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp describing when the service was first deployed and available", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataVersion", + "description": "Version of the data being served by DGIdb", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "documentationUrl", + "description": "URL of the documentation of this service", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environment", + "description": "Environment the service is running in", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Unique identifier for service.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human readable name of the service", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Organization", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Service", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp describing when the service was last updated", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version of the service being described", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Mutation", + "description": null, + "fields": [ + { + "name": "testField", + "description": "An example field added by the generator", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Organization", + "description": null, + "fields": [ + { + "name": "name", + "description": "Name of the organization responsible for the service", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the website of the organization", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageInfo", + "description": "Information about pagination in a connection.", + "fields": [ + { + "name": "endCursor", + "description": "When paginating forwards, the cursor to continue.", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasNextPage", + "description": "When paginating forwards, are there more items?", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasPreviousPage", + "description": "When paginating backwards, are there more items?", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startCursor", + "description": "When paginating backwards, the cursor to continue.", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Publication", + "description": null, + "fields": [ + { + "name": "citation", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactions", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Interaction", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pmid", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Query", + "description": null, + "fields": [ + { + "name": "categories", + "description": null, + "args": [ + { + "name": "sourceDbNames", + "description": "Filtering on sources.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "categoryName", + "description": "Filtering on category name.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Left anchored string search on category name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaimCategoryConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drug", + "description": "A drug", + "args": [ + { + "name": "conceptId", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { "kind": "OBJECT", "name": "Drug", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugAlias", + "description": "Alias for a drug", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { "kind": "OBJECT", "name": "DrugAlias", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugApplication", + "description": "Drug application", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DrugApplication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugApprovalRating", + "description": "Drug approval rating", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DrugApprovalRating", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugAttribute", + "description": "Attribute(s) associated with with a drug", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DrugAttribute", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaim", + "description": "A claim for a drug", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { "kind": "OBJECT", "name": "DrugClaim", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaimAlias", + "description": "Alias for a drug claim", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DrugClaimAlias", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaimAttribute", + "description": "Attributes for a claim on a drug", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DrugClaimAttribute", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugMatches", + "description": "Case-insensitively match Drug search terms to known drugs in the database.", + "args": [ + { + "name": "searchTerms", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugMatch", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugSuggestions", + "description": "A searchable drug name or alias that can be completed from the supplied term", + "args": [ + { + "name": "term", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "n", + "description": null, + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugSuggestion", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugs", + "description": null, + "args": [ + { + "name": "ids", + "description": "Exact match filtering on a list of drug IDs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "names", + "description": "Left anchored filtering on a list of drug names.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Left anchored string search on drug name", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approved", + "description": "Filtering on approval status of drug.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "immunotherapy", + "description": "Filtering on immunotherapy status of drug.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "antiNeoplastic", + "description": "Filtering on anti neoplasticity of drug.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "conceptId", + "description": "Exact match filtering on concept ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "conceptIds", + "description": "Exact match filtering on a list of concept IDs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "interactionType", + "description": "Exact filtering on interaction claim type.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceName", + "description": "Exact filtering on full name of source for an interaction.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceDbName", + "description": "Exact filtering of source db name for an interaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "pmid", + "description": "Exact match filtering on publication pmids.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gene", + "description": "A gene", + "args": [ + { + "name": "conceptId", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { "kind": "OBJECT", "name": "Gene", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneAlias", + "description": "Alias for a gene", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { "kind": "OBJECT", "name": "GeneAlias", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneAttribute", + "description": "Attribute for a gene", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GeneAttribute", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaim", + "description": "A claim for a gene", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { "kind": "OBJECT", "name": "GeneClaim", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaimAlias", + "description": "Alias for a gene claim", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GeneClaimAlias", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaimAttribute", + "description": "Attribute for a gene claim", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GeneClaimAttribute", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaimCategory", + "description": "Category for a gene claim", + "args": [ + { + "name": "name", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GeneClaimCategory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneMatches", + "description": "Case-insensitively match Gene search terms to known genes in the database.", + "args": [ + { + "name": "searchTerms", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneMatch", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneSuggestions", + "description": "A searchable gene name or alias that can be completed from the supplied term", + "args": [ + { + "name": "term", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "n", + "description": null, + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneSuggestion", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "genes", + "description": null, + "args": [ + { + "name": "ids", + "description": "Exact match filtering on a list of gene UUIDs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "names", + "description": "Substring filtering on a list of gene names.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "longName", + "description": "Left anchored string search on long gene name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "conceptId", + "description": "Exact match filtering on concept ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "conceptIds", + "description": "Exact match filtering on a list of concept IDs", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Left anchored string search on gene symbol", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "geneClaimCategory", + "description": "Filtering on gene claim category name.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "interactionType", + "description": "Exact filtering on interaction claim type.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceName", + "description": "Exact filtering on full name of source for an interaction.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceDbName", + "description": "Exact filtering of source db name for an interaction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "pmid", + "description": "Exact match filtering on publication pmids.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interaction", + "description": "An interaction", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Interaction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionAttribute", + "description": "An attribute of an interaction", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InteractionAttribute", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaim", + "description": "A claim on an interaction", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InteractionClaim", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaimAttribute", + "description": "An attribute of an interaction claim", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InteractionClaimAttribute", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaimLink", + "description": "Links associated with an attribute claim", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InteractionClaimLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaimType", + "description": "A type associated with an interaction claim", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InteractionClaimType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaimTypes", + "description": null, + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaimTypeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publication", + "description": "A publication", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serviceInfo", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Meta", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "A source", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { "kind": "OBJECT", "name": "Source", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceTrustLevel", + "description": "Trust level for a source", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SourceTrustLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceType", + "description": "Types of sources", + "args": [ + { + "name": "id", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SourceType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": null, + "args": [ + { + "name": "sourceType", + "description": null, + "type": { + "kind": "ENUM", + "name": "SourceTypeFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SourceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SearchMatch", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DIRECT", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMBIGUOUS", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Service", + "description": null, + "fields": [ + { + "name": "artifact", + "description": "Name of the API or GA4GH specification implemented.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Namespace in reverse domain name format.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "API Version (semantic)", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Source", + "description": null, + "fields": [ + { + "name": "baseUrl", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "categoriesInSource", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CategoryWithCount", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "citation", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "citationShort", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "doi", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugAliases", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugAlias", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugApprovalRatings", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugApprovalRating", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugAttributes", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugAttribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DrugClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaimsCount", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "drugClaimsInGroupsCount", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullName", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneAliases", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneAlias", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneAttributes", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneAttribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GeneClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaimsCount", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geneClaimsInGroupsCount", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionAttributes", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionAttribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaims", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InteractionClaim", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaimsCount", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interactionClaimsInGroupsCount", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "license", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "licenseLink", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pmcid", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pmid", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "siteUrl", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceDbName", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceDbVersion", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceTrustLevel", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "SourceTrustLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceTrustLevelId", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceTypes", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SourceType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SourceConnection", + "description": "The connection type for Source.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SourceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { "kind": "OBJECT", "name": "Source", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCount", + "description": "Total number of pages, based on filtered count and pagesize.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCount", + "description": "The total number of records in this filtered collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SourceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { "kind": "OBJECT", "name": "Source", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SourceTrustLevel", + "description": null, + "fields": [ + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "level", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Source", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SourceType", + "description": null, + "fields": [ + { + "name": "displayName", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "ID", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Source", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SourceTypeFilter", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GENE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRUG", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERACTION", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POTENTIALLY_DRUGGABLE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "String", + "description": "Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SuggestionType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NAME", + "description": "Drug or gene name", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ALIAS", + "description": "Drug or gene alias", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONCEPT_ID", + "description": "Drug or gene concept ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Directive", + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", + "fields": [ + { + "name": "args", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__DirectiveLocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onField", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + }, + { + "name": "onFragment", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + }, + { + "name": "onOperation", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__DirectiveLocation", + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "QUERY", + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUTATION", + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION", + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD", + "description": "Location adjacent to a field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_DEFINITION", + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_SPREAD", + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INLINE_FRAGMENT", + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEMA", + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCALAR", + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD_DEFINITION", + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARGUMENT_DEFINITION", + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM_VALUE", + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_FIELD_DEFINITION", + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__EnumValue", + "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", + "fields": [ + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Field", + "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", + "fields": [ + { + "name": "args", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__InputValue", + "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", + "fields": [ + { + "name": "defaultValue", + "description": "A GraphQL-formatted string representing the default value for this input value.", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Schema", + "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", + "fields": [ + { + "name": "directives", + "description": "A list of all directives supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Directive", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationType", + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "args": [], + "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryType", + "description": "The type that query operations will be rooted at.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "__Type", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionType", + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "args": [], + "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "types", + "description": "A list of all types supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Type", + "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", + "fields": [ + { + "name": "description", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enumValues", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputFields", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interfaces", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ofType", + "description": null, + "args": [], + "type": { "kind": "OBJECT", "name": "__Type", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "possibleTypes", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__TypeKind", + "description": "An enum describing what kind of type a given `__Type` is.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SCALAR", + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Indicates this type is a union. `possibleTypes` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Indicates this type is an enum. `enumValues` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Indicates this type is an input object. `inputFields` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST", + "description": "Indicates this type is a list. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_NULL", + "description": "Indicates this type is a non-null. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + } + ], + "directives": [ + { + "name": "include", + "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", + "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], + "args": [ + { + "name": "if", + "description": "Included when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "skip", + "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", + "locations": ["FIELD", "FRAGMENT_SPREAD", "INLINE_FRAGMENT"], + "args": [ + { + "name": "if", + "description": "Skipped when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "deprecated", + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ENUM_VALUE", + "ARGUMENT_DEFINITION", + "INPUT_FIELD_DEFINITION" + ], + "args": [ + { + "name": "reason", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).", + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "defaultValue": "\"No longer supported\"" + } + ] + } + ] + } + } +} From 9e64a3fe9d1bf060c6138d8b088172fa2dd240bf Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Tue, 10 Sep 2024 10:11:51 -0400 Subject: [PATCH 11/13] update test --- tests/test_network_constructor.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/test_network_constructor.py b/tests/test_network_constructor.py index cea182f..04f9fb6 100644 --- a/tests/test_network_constructor.py +++ b/tests/test_network_constructor.py @@ -13,3 +13,8 @@ def test_construct(fixtures_dir: Path): graph = construct.construct_graph(results) assert len(graph.nodes) == 7 assert len(graph.edges) == 6 + assert graph.nodes["hgnc:3443"]["long_name"] == "epiregulin" + assert graph.nodes["ncit:C188574"]["approved"] is False + assert graph.edges[("hgnc:3443", "iuphar.ligand:7836")]["attributes"][ + "Mechanism of Action" + ] == ["Inhibition"] From 9b68d45c73058539aad2b36af43635451f97a9b8 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Tue, 10 Sep 2024 10:32:24 -0400 Subject: [PATCH 12/13] forgot --- .github/workflows/checks.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/checks.yaml b/.github/workflows/checks.yaml index fbc5213..c212a60 100644 --- a/.github/workflows/checks.yaml +++ b/.github/workflows/checks.yaml @@ -20,7 +20,7 @@ jobs: python3 -m pip install ".[tests]" - name: Run tests - run: python3 -m pytest tests/test_dgidb.py + run: python3 -m pytest tests/test_dgidb.py tests/test_network_constructor.py lint: name: lint runs-on: ubuntu-latest From c89c333e39f0a6f1bbcc067899f6f6aa0827accd Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Wed, 11 Sep 2024 15:53:05 -0400 Subject: [PATCH 13/13] add basic pykeen stub --- src/dgipy/network/__init__.py | 8 +++++++- src/dgipy/network/export.py | 23 +++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 src/dgipy/network/export.py diff --git a/src/dgipy/network/__init__.py b/src/dgipy/network/__init__.py index c960877..d8d4844 100644 --- a/src/dgipy/network/__init__.py +++ b/src/dgipy/network/__init__.py @@ -1 +1,7 @@ -"""Provide tools for network-based operations.""" +"""Provide tools for network-based operations. + +For our purposes, drugs and genes are the only nodes on the network, because they're the +only real "entities". Groupings like categories and attributes are defined as properties +of the nodes themselves, but different kinds of processing methods and frameworks might +want to break them out as distinct nodes that relate logically to drugs and genes. +""" diff --git a/src/dgipy/network/export.py b/src/dgipy/network/export.py new file mode 100644 index 0000000..e5a0526 --- /dev/null +++ b/src/dgipy/network/export.py @@ -0,0 +1,23 @@ +"""Define methods for exporting to common knowledge graph frameworks.""" + +import networkx as nx + + +def to_pykeen(graph: nx.Graph) -> list[tuple[str, str, str]]: + """Export to PyKEEN triple set. Typically, you'd save this output to a TSV. + + PyKEEN likes very straightforward triples. There's probably work we could do to + better characterize the interaction, and also add attributes as additional triples. + As it stands, this method is VERY basic. + + :param graph: graph constructed from DGIpy results. + :return: list of triples (e.g. to save to TSV) + """ + triples = [] + for gene_id, drug_id in graph.edges: + gene = graph.nodes[gene_id]["name"] + drug = graph.nodes[drug_id]["name"] + triples.append((gene, "has_drug_target_interaction_with", drug)) + triples.append((drug, "has_drug_target_interaction_with", gene)) + + return triples