> ## Documentation Index
> Fetch the complete documentation index at: https://docs.purna.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Jobs

> Run long-running computational pipelines autonomously in the background.

Jobs are long-running computational tasks that run autonomously in a dedicated cloud sandbox. Unlike [inline code execution](/code-execution) — which runs a single code block and returns results immediately — jobs are designed for multi-step pipelines that can take minutes to hours: RNA-seq analysis, MD simulations, genome assembly, multi-file processing, and other workflows that require sustained compute.

You start a job from chat. MIP spins up a sandbox, plans the work, and executes it step by step. You can monitor progress, send follow-up instructions, pause, resume, or cancel at any time. When the job finishes, output files are saved to your [Files](/guides/files) library.

<iframe width="100%" height="400" src="https://www.youtube.com/embed/kGSaNjWCn8A" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

## Starting a job from chat

Ask MIP to run something that requires extended computation. Be specific about what you want done, what data to use, and what outputs you expect.

Examples:

* "Run differential expression analysis on my RNA-seq count matrix using DESeq2. Compare treated vs control groups. Output a results CSV and a volcano plot."
* "Set up and run a 10ns MD simulation of PDB 1UBQ using OpenMM. Save the trajectory and energy plots."
* "Process all FASTA files in my uploaded dataset — run BLAST against nr, filter hits with E-value \< 1e-10, and generate a summary table."

MIP will create a background job, plan the steps, and begin execution. A job panel opens in your chat showing real-time progress.

<Tip>
  Include specific parameters, file references, and expected outputs in your request. The job agent works autonomously — the more context you provide upfront, the better the results.
</Tip>

## How a job runs

Once triggered, the job follows this lifecycle:

1. **Planning** — The agent reads your instructions, inspects available data, and creates a step-by-step execution plan.
2. **Execution** — Each step runs sequentially: installing packages, writing scripts, processing data, generating outputs. You can see progress in the job panel.
3. **File sync** — Output files are uploaded directly to cloud storage as they are produced. No data passes through the web server.
4. **Completion** — The job finishes, output files appear in your [Files](/guides/files) library, and you receive a notification.

### What the job panel shows

While a job is running, the panel displays:

* **Progress bar** with current step and total steps
* **Timeline** of completed steps with outputs
* **Plan** showing the agent's to-do list and completion status
* **Messages** for any follow-up communication between you and the agent
* **Files** produced so far, with download links

## Sandbox environment

Each job runs in an isolated cloud sandbox with:

**Pre-installed tools:**

* Python 3 with pip
* R with development libraries
* Git, curl, jq, and standard build tools
* BWA, SAMtools, BCFtools for bioinformatics workflows

**Pre-installed Python libraries:**

* Core: NumPy, SciPy, pandas, matplotlib
* Bioinformatics: Biopython, openpyxl
* R integration via rpy2

Additional packages can be installed by the agent during execution using `pip install` or `apt-get`.

**Data access:**

* Your uploaded files are automatically available in the sandbox workspace
* The agent can download additional data from public sources as needed

## Interacting with a running job

You are not limited to watching. While a job is running, you can:

| Action             | How                                                                                     |
| ------------------ | --------------------------------------------------------------------------------------- |
| **Send a message** | Type in the job panel to give the agent additional instructions or answer its questions |
| **Pause**          | Suspend execution. The sandbox state is preserved — you can resume later.               |
| **Resume**         | Continue a paused job from where it left off.                                           |
| **Cancel**         | Stop the job permanently. Output files generated so far are still available.            |

<Note>
  If the agent needs input from you — for example, to choose between analysis options — the job will show an input prompt. Respond in the message panel to continue execution.
</Note>

## Output files

All files produced by a job are automatically saved to your [Files](/guides/files) library. Common outputs include:

* Results tables (CSV, TSV)
* Plots and figures (PNG, SVG)
* Processed data files (H5AD, BED, FASTA)
* Scripts used during execution
* Execution logs

Files are uploaded directly from the sandbox to cloud storage — they never pass through the web application. Each file gets a time-limited download URL when you access it.

You can find job outputs on the [Files](/guides/files) page, where they appear with a "Generated by MIP" badge. You can also download them directly from the job panel.

## Jobs vs code execution

|                  | Inline code execution                           | Background jobs                               |
| ---------------- | ----------------------------------------------- | --------------------------------------------- |
| **Triggered by** | Quick code requests in chat                     | Complex pipeline requests in chat             |
| **Execution**    | Single code block, runs immediately             | Multi-step autonomous workflow                |
| **Duration**     | Seconds (30s max)                               | Minutes to hours (1 hour per session)         |
| **Results**      | Rendered inline in chat                         | Saved to Files library                        |
| **Interaction**  | None — wait for result                          | Pause, resume, message, cancel                |
| **Best for**     | Quick plots, data exploration, small transforms | Pipelines, simulations, multi-file processing |
| **State**        | Stateless — each execution is independent       | Stateful — agent builds on previous steps     |
| **File size**    | Small outputs inline                            | Up to 5 GB per file                           |

<Tip>
  Use inline code execution for quick tasks: "Plot the distribution of allele frequencies" or "Convert this CSV to JSON." Use jobs for anything that requires multiple steps or will take more than a minute.
</Tip>

## Limits

| Constraint                     | Limit                         |
| ------------------------------ | ----------------------------- |
| Max execution time per session | 1 hour (can pause and resume) |
| Concurrent jobs per user       | 3                             |
| Jobs per chat                  | 1                             |
| Max file size per output       | 5 GB                          |

## Viewing all jobs

Navigate to **Jobs** in the sidebar to see all your background jobs. The page shows:

* Job title and status (running, paused, completed, failed, cancelled)
* Progress indicator (steps completed)
* Duration
* Creation date

Click any job to open its detail panel with the full timeline, messages, files, and execution plan.
