Skip to main content

Best practices

Approve a plan, check each result before you trust it, and keep a notebook you can rerun.

Set up your AI app first. See Getting started.

Approve a plan before code runs​

Ask for a plan in the first message, and again before any step that picks wells, a modality, or a comparison. Fix mistakes in the plan. A correction after a figure makes the agent reload the data and repeat the work.

A plan names:

  • The run, and the biological question.
  • The wells for each condition, and the wells to exclude.
  • The modality to analyze.
  • The QC thresholds, or the skill defaults with the numbers reported.
  • The comparisons and the method.
  • The one step to run next.

Two rules keep the plan honest:

  • Ask a neutral question. Ask "Which proteins differ between DMSO and drug?", not "Confirm that the drug increases EGFR." A leading question invites the agent to find support for it.
  • Name the comparisons up front. If you add a comparison later, ask the agent to report every comparison it ran, not only the significant ones.
In an ElemBio Cloud sandbox, use run Cytos_PlateA_20260312.
Question: Which proteins differ between DMSO (wells A1, A2, and A3) and 10 µM drug (wells B1 and B3)?
Modality: Protein.
Write a plan to mount the run, run QC, then compare the conditions.
Do not run anything yet.

After you approve the plan, allow one step at a time:

The design is right. Run only QC, then show cells passing QC per well and the thresholds you used.

Check each result​

An agent's summary can sound more certain than its numbers. Before you accept a result:

  • Ask for the evidence. When the agent says a step worked, ask for the numbers behind it, the parameters it used, and the file it wrote.
  • Ask how the agent got there. When a result surprises you, confuses you, or looks wrong, ask the agent how it reached that conclusion: which data, fields, and steps it used. For a result such as contamination, a large effect, or a failed well, confirm with a second check before you act.
  • Separate the result from the interpretation. Ask for the statistical result first. Then ask for the interpretation, labeled as a hypothesis, with its limitations.
  • Verify references. Check a citation, pathway, or gene function in its source before you use it. The agent might state these from memory.

Keep a reproducible notebook​

The chat is not a record of the analysis. Ask the agent to keep a notebook as it works, so you can rerun, review, or share the analysis without the chat.

A notebook is one file with the code, notes, and results in order. Pick the format that fits how you use it:

  • Jupyter (.ipynb) to rerun the analysis cell by cell.
  • HTML to read and share the analysis with figures in a browser.
  • Markdown (.md) to read the analysis as plain text, or to track changes in Git.

In any format:

  • Start it with the first step. Put the run, wells, exclusions, modality, and thresholds at the top, as variables.
  • Add only accepted steps. Leave out steps you rejected and dead ends.
  • Explain each step. Each block of code gets a short note on what it does and why.
  • Rerun before you share. Run the notebook's code from top to bottom in a fresh process, and compare the key numbers with the chat.

Start the notebook. For HTML or Markdown, change the file name and format in the first line:

Keep a Jupyter notebook named PlateA_analysis.ipynb for this analysis.
Put the run, wells, exclusions, modality, and QC thresholds at the top, as variables.
After each step I approve, add that step's code with a one-line note on what it does and why.
Do not add steps I rejected.

Check that it reproduces:

Run PlateA_analysis.ipynb from top to bottom in a fresh Python process.
Compare cells passing QC per well and the top 10 features with the results in this chat.
Report every difference.

Export it:

Export the analysis into one folder:
- PlateA_analysis.ipynb, with outputs
- PlateA_analysis.py, the same code as one script
- requirements-added.txt and pip-freeze-full.txt, the package manifest
- PlateA_report.html, with the parameters, figures, and tables
Then tell me where the folder is.

In a sandbox, the agent saves the folder to the session outputs in your Analyses bucket. Open it in Data Explorer. To rebuild the packages in a new sandbox, see Reproduce the package environment.

See also​