> For the complete documentation index, see [llms.txt](https://docs.neurolabai.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.neurolabai.io/start-using-neurolab/input-routes.md).

# Choosing an Input Route

Neurolab does not treat every query as the same modeling problem. The input determines which route can make a defensible prediction and which limitations must travel with the result.

## Basic input

Use **Basic** when you have the name of a compound that is likely represented in Neurolab’s knowledge graph.

Basic input:

* accepts a compound name;
* requests the known-compound route;
* returns the default top-five rankings;
* requests KG support when available; and
* uses streaming progress in the current application.

If the name is not resolved, the application can return a **needs SMILES** state. No scientific report exists in that state.

## Advanced input

Use **Advanced** when you need to supply a structure or explicitly condition the query.

Advanced input can include:

* a compound name, a SMILES string, or both;
* optional dose context in milligrams; and
* optional receptor rows.

When a recognized KG compound name is supplied, the inference router selects the known route unless a SMILES is accompanied by structure-conditioning input such as receptor rows, MoA, dose, or typed causal context. An unresolved name with a usable SMILES selects the structure route. An unresolved name without a usable structure returns `needs_smiles`.

## The three route outcomes

| Route outcome      | Trigger                                                             | Interpretation                                                                                                                                 |
| ------------------ | ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Known compound** | The name resolves to a governed KG compound                         | Runs the transductive B0 ensemble and known-route report composition. This is the primary beta workflow.                                       |
| **Structure**      | A usable SMILES is supplied for a structure outside the known route | Runs the independent chemistry-to-receptor retriever and mechanism reasoner. B0 is not executed. Treat outputs as conditional beta hypotheses. |
| **Needs SMILES**   | A name does not resolve and no structure is available               | Returns a routing state rather than a prediction. Supply a reviewed SMILES or stop.                                                            |

## Receptor-conditioned input

Advanced mode supports two receptor-row forms:

* a signed engagement value from `-1.0` to `1.0`; or
* an affinity value in the accepted pKi range together with an action such as agonist, antagonist, inhibitor, or blocker.

These rows are **caller-provided assumptions**. When present, downstream mechanism, cognition, brain, usage, or safety outputs are conditional on the entered profile. They must be described as “given the receptor profile you provided,” not as independently predicted receptor facts.

An unrecognized gene may be omitted by the backend. Inspect receptor-source and unrecognized-gene metadata rather than assuming every row was used.

## Dose context

An optional `dose_mg` value can condition or annotate a request, depending on the returned contract. It does not establish administered exposure, free brain concentration, receptor occupancy, route, timing, formulation, or patient-specific response. It is not a dosing recommendation.

## Route-selection checklist

Before submission, ask:

1. Do I have a canonical compound name or a reviewed structure?
2. Am I trying to investigate a known entity or triage a novel structure?
3. Am I supplying receptor data, or merely guessing it?
4. Will I preserve the selected route and input assumptions with the output?
5. Can I accept abstention or missing fields rather than force a complete answer?

Next: [Reports and Raw Payload](/start-using-neurolab/reports-and-raw-payload.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.neurolabai.io/start-using-neurolab/input-routes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
