Analysis · Widgets · Dashboards · Pipelines
Data Analysis & Dashboards
Describe the analysis you want. Get working code, real outputs, and a reusable tool your team keeps.
Free plan, no card.
Input Files (1)
Output Files (0)(2)
CPD-13 is the most potent (IC50 42 nM). CPD-14 stayed above 90% viability at every dose, so no IC50 is reported. One well was flagged and left out of the fit: F6 (CPD-13, 123 nM) read 71%; its duplicate E6 read 20%.
| Compound | IC50 (nM) | Hill | R² | Flagged |
|---|---|---|---|---|
| CPD-13 | 42 | 1.31 | 0.997 | F6 |
| CPD-11 | 407 | 1.16 | 0.996 | — |
| CPD-12 | 1,868 | 0.88 | 0.995 | — |
| CPD-14 | > 10,000 | — | — | — |
1import pandas as pd, numpy as np 2from scipy.optimize import curve_fit 3import matplotlib.pyplot as plt 4 5Z_CUTOFF = 3.53.0 # robust z-score cut-off 6 7def four_pl(x, b, t, ic50, h): 8 return b + (t - b) / (1 + (x / ic50) ** h) 9 10df = pd.read_csv("viability_plate7.csv") 11hi = df[df.role == "DMSO"].signal.mean() 12lo = df[df.role == "no_cell"].signal.mean() 13df["viab"] = 100 * (df.signal - lo) / (hi - lo) 14p0 = [0, 100, 300, 1] # bottom, top, IC50, Hill 15 16for cpd, g in df.groupby("compound"): 17 p, _ = curve_fit(four_pl, g.conc_nM, g.viab, p0)
nf-core/rnaseq
RNA sequencing analysis pipeline for gene/isoform quantification and extensive quality control.
"input" : "s3://cypher-demo-lab-seq/liver/batch3/samplesheet.csv"
"genome" : "GRCh38"
"aligner" : "star_salmon"
}
What you get
What Data Analysis & Dashboards gives you.
Describe the analysis in plain language. Cypher's agent writes the code, runs it on your data, and can turn the result into a tool your team reuses.
See it workAI-assisted
From one plate to a tool your whole team runs.
A 96-well viability plate: four compounds, ten doses, in duplicate. Each tab is one step.
Input Files (1)
Output Files (0)(2)
CPD-13 is the most potent (IC50 42 nM). CPD-14 stayed above 90% viability at every dose, so no IC50 is reported. One well was flagged and left out of the fit: F6 (CPD-13, 123 nM) read 71%; its duplicate E6 read 20%.
| Compound | IC50 (nM) | Hill | R² | Flagged |
|---|---|---|---|---|
| CPD-13 | 42 | 1.31 | 0.997 | F6 |
| CPD-11 | 407 | 1.16 | 0.996 | — |
| CPD-12 | 1,868 | 0.88 | 0.995 | — |
| CPD-14 | > 10,000 | — | — | — |
1import pandas as pd, numpy as np 2from scipy.optimize import curve_fit 3import matplotlib.pyplot as plt 4 5Z_CUTOFF = 3.53.0 # robust z-score cut-off 6 7def four_pl(x, b, t, ic50, h): 8 return b + (t - b) / (1 + (x / ic50) ** h) 9 10df = pd.read_csv("viability_plate7.csv") 11hi = df[df.role == "DMSO"].signal.mean() 12lo = df[df.role == "no_cell"].signal.mean() 13df["viab"] = 100 * (df.signal - lo) / (hi - lo) 14p0 = [0, 100, 300, 1] # bottom, top, IC50, Hill 15 16for cpd, g in df.groupby("compound"): 17 p, _ = curve_fit(four_pl, g.conc_nM, g.viab, p0)
Input Files (1)
Output Files (2)
CPD-13 is the most potent (IC50 42 nM). CPD-14 stayed above 90% viability at every dose, so no IC50 is reported. One well was flagged and left out of the fit: F6 (CPD-13, 123 nM) read 71%; its duplicate E6 read 20%.
| Compound | IC50 (nM) | Hill | R² | Flagged |
|---|---|---|---|---|
| CPD-13 | 42 | 1.31 | 0.997 | F6 |
| CPD-11 | 407 | 1.16 | 0.996 | — |
| CPD-12 | 1,868 | 0.88 | 0.995 | — |
| CPD-14 | > 10,000 | — | — | — |
Hello! What widget would you like me to create? I'll help you create a Python script that can be turned into a UI for you or others to run.
Here's the script:
import pandas as pd, numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
Z_CUTOFF = 3.0 # robust z-score cut-off
def four_pl(x, b, t, ic50, h):
...Done. The plate file is now an input, and the outlier cut-off and the control label are optional parameters with defaults.
Create New Widget
add_circle_outlineCreate Widgetadd_circle_outlineCreate Widget
Cypher AI is generating your widget...Please wait while we create your widget based on your conversationlims:read, lims:writeNo scopes selectedexpand_more
Script from Analysis
Dose-response 4PL fit
Input Files (1)
Output Files (2)(3)
| Compound | IC50 (nM) | Hill | R² | Flagged |
|---|---|---|---|---|
| CPD-13 | 42 | 1.31 | 0.997 | F6 |
| CPD-11 | 407 | 1.16 | 0.996 | — |
| CPD-12 | 1,868 | 0.88 | 0.995 | — |
| CPD-14 | > 10,000 | — | — | — |
Here is an interactive version with the fitted curves and every well. Hover a point to see its well and value; click a compound in the legend to hide it.
Add to Existing Dashboard
- Python you can read, edit and rerun
- Runs in a cloud sandbox, on the compute you pick
- A widget is saved only when you create or approve it
Workflow
From raw data to a tool the team reuses.
The four tabs above, as four steps.
- DescribeAttach the plate file and ask for the fit in plain language.
- Generate & runThe agent writes the Python and runs it. Open the code to check or edit it.
- Save as a widgetConvert it to a widget, then let File Actions run it on each new plate.
- Share on a dashboardAdd the interactive chart to the team's dashboard.
The problem
Vibe-coded it? Now share it.
The script works, but it lives in one person's chat or notebook. Teammates can't rerun it without the code, the environment or the person who wrote it.
A widget turns it into a form anyone on the team can run. Here's what one looks like.
WidgetsCore
Every analysis becomes a tool your team keeps.
A widget is the analysis as a form: named inputs, a Run button, and the same tested code underneath every time.
- Inputs come from the script.Each argument the analysis reads becomes a field, and a file argument becomes an upload.
- Defaults are filled in.Optional parameters arrive with the author's values, so a routine run is one file and one click.
- Compute and timeout, per run.The author sets the defaults. Whoever runs it can pick more compute for a bigger plate.
- Run it without touching the code.A teammate with Run Only access fills in the form and clicks Run. They can't change the script.
Reused, not rewritten.
Everyone you share it with runs it on their own plates. Run History lists each run with who started it, which version it used and how it ended.
It can also run without anyone clicking: on a schedule, or each time a matching file lands in a folder.
Versioning
Every change is a new version.
Saving an edit asks for a short description and keeps the last 50 versions. Compare with Diff, or go back with Revert.
Review Changes
16for cpd, g in df.groupby(...): 17 p, _ = curve_fit(four_pl, g.conc_nM, g.viab, p0)
16for cpd, g in df.groupby(...): 17 p, cov = curve_fit(four_pl, g.conc_nM, g.viab, p0) 18 ci = 1.96 * np.sqrt(np.diag(cov))
Shared when you decide.
Widgets start Private. Share one with teammates as Run Only or Run and Edit, or with your whole team. The agent can't share a widget for you.
Share Script
Where a widget runs
- Its own pageWith Run History and Scheduled Runs
- An ELN entryPlaced in the page, next to the data
- A protocol stepRun it as part of the step
- The LIMS readings uploadAs the parser for an instrument file
One scientist's analysis becomes the whole team's tool: versioned, rerun on every new plate, with no copy-pasted scripts.
DashboardsCore
Results from many analyses, in one place.
A dashboard is a named set of analysis outputs, one tab each, for the team and the people you report to.
- One tab per output.Each tab is an HTML file an analysis saved, in the order it was added.
- Every tab says what it shows.A short description sits under each tab.
- The chart is the output itself.Plotly charts stay interactive: hover a point for its values, click a legend entry to hide a series.
- Visible to the people you choose.Private, your team or Public, and filed in projects. Anyone who can open the dashboard can view the charts on it.
Add a chart in one click.
Interactive charts from an analysis have Add to Dashboard. Keep the dashboard private or share it with your team.
Create New Dashboard
What it's for
- Screen reviewsCurves and potency for the week's plates, in one place
- Assay QCZ′ and controls across plates, side by side
- Stakeholder updatesA link to the charts instead of a slide deck
Reviews start from the analysis's own labeled charts, not screenshots in slides.
Bioinformatics PipelinesCore
Run Nextflow pipelines from Git, directly in Cypher.
Run reproducible, Git-backed pipelines on scalable compute, with inputs, outputs and history in one place.
nf-core/rnaseq
RNA sequencing analysis pipeline for gene/isoform quantification and extensive quality control.
"input" : "s3://cypher-demo-lab-seq/liver/batch3/samplesheet.csv"
"genome" : "GRCh38"
"aligner" : "star_salmon"
}
- Defined in Git.A pipeline points at a GitHub repository, branch and main script. Each run records the commit it checked out.
- Parameters from the repository.The run form is built from the pipeline's parameter schema, and the defaults you save come pre-filled.
- Launch on AWS Batch.Run Pipeline picks Spot or On-Demand instances, or GPU where it's enabled, and the vCPUs and memory to use.
- Every run on record.Total runs, success rate and average duration, and every run with its status, timing and who started it.
Launch a run in a form.
Name the run, pick the instance type and compute, and fill in parameters parsed from the repository. Browse S3 for input paths instead of typing them.
Follow it through to the outputs.
Watch processes complete, then find the outputs under Pipeline Files. Resume a failed run from its completed tasks, or rerun a finished one.
Liver RNA-seq, batch 3
Created by Michael Taylor
Results land in your project.
Save a run's outputs to a project, next to the samples and analyses they belong with.
Run a widget when it finishes AI-assisted
Ask the agent to run one of your widgets on every finished run. You approve the plan first.
The planned changes have not been applied. Review the 1-step plan below, then Approve to apply all of it or Reject (with a note) to revise.
nf-core/rnaseqMultiQC summary (version 1, pinned)Every future completed runPost-run QC summarypipeline-actionsEvery run and its outputs, open to the whole team, traced to the parameters and commit that made it.
Connected
Analyses read from the records you already keep.
The ELN, LIMS and pipelines are on the same platform, so the data is already there.
Two ways in
Start on your own, or bring the whole lab.
Start free. Upgrade when the team joins.
- Free: 15 AI messages a month, one private widget
- Pro, $50 per user a month: unlimited messages
- Pro adds advanced widget features, more compute, team features
Your own deployment, set up with you.
- A dedicated deployment in your cloud account
- Data residency, SSO and custom data integrations
- A forward-deployed engineer and priority support
First steps
- Sign up and upload dataCreate a free account and bring in a dataset: a CSV, a plate readout or an instrument export.
- Ask for an analysisDescribe what you want in the chat and let the agent generate and run it on your data.
- Save it as a widgetTurn that analysis into a reusable widget so the next run takes one click.
Startups, academic and core labs: contact us for special pricing. Full plans are on the pricing page.
FAQ
Questions about analysis.
What is Cypher Data Analysis & Dashboards?
Cypher Data Analysis & Dashboards lets scientists describe an analysis in plain language. Cypher's AI agent writes the Python, runs it on their data and returns figures, tables and files. Any analysis can become a reusable widget that teammates run on new data, and results can go on shared dashboards.
Can I analyze lab data without writing code?
Yes. Describe the analysis, such as fitting a 4-parameter logistic to a plate and flagging outliers, and Cypher's agent writes and runs the Python. The code stays visible and editable for anyone who wants it. Analyses run straight away, with no approval step.
What is a Cypher widget?
A Cypher widget is a saved analysis that anyone on the team runs from a form, with no code. Convert any analysis into a widget, then share it from the widget's Sharing menu as Run Only or Run and Edit, or make it visible to the whole team. Each save is a new version and earlier versions can be restored.
Can a Cypher widget run automatically?
Yes. A Cypher widget can run on a schedule, when a matching file lands in a folder, or when a pipeline run finishes. File-triggered and pipeline-triggered runs share a limit of 100 per 24 hours.
What are Cypher dashboards?
A Cypher dashboard is a named set of analysis outputs, one tab per chart, kept private or shared with a team. Interactive Plotly charts stay interactive on the dashboard. Dashboards do not refresh on their own; rerun the analysis to update a chart.
Can I run Nextflow pipelines in Cypher?
Yes. Cypher runs Nextflow pipelines from a GitHub repository on AWS Batch, with Spot or On-Demand instances and the vCPUs and memory you choose. Each run records the Git commit it used, and its outputs can be saved to a project. The agent can find an nf-core pipeline and add it for you.
Which AI models write the analysis code?
Cypher uses Anthropic Claude and OpenAI GPT models to write analysis code. An admin chooses which models a team can use.