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.