Skip to main content

    The code workspace

    Every chat has a private Linux workspace where Ivy writes and runs Python, R, Julia, Octave, notebooks and bioinformatics command-line tools against your files and results.

    sandboxcomputeworkspacecode-execution

    Every chat comes with its own Linux workspace, and Ivy runs code in it for you. Ask for an analysis in plain language, such as "merge the docking scores with the ADMET table and plot them" or "run DESeq2 on the counts I uploaded", and Ivy writes the script, runs it, reads the output and shows you the result. Nothing here needs to be called by name, and there is no separate console to open. The workspace shares a folder with your uploads and with every job result from the chat, so a single script can read a docking result and an ADMET result side by side and join them.

    Use it for the step no packaged tool covers: filtering and ranking a large result, statistics across datasets, a custom plot, an RDKit substructure filter, a variant-calling one-liner, or running a notebook or script you uploaded.

    What Ivy can run there

    Language or runtimeWhat it is good for
    Python 3.11The default for data work: tables, statistics, cheminformatics, structural biology, single-cell and plotting
    R 4.3+ with BioconductorDifferential expression (DESeq2, edgeR, limma), genomic ranges, tidyverse analysis and ggplot2 figures
    Jupyter notebooksUpload a .ipynb and Ivy executes it headlessly, keeping every cell's output (plots, tables) in the result notebook. Notebooks can take parameters, and Python and R kernels are available
    Julia 1.11DataFrames, CSV, statistics and BioSequences/FASTX for sequence work
    GNU Octave 9MATLAB-style numerics, with the control, signal, statistics, optim, image and io packages
    ShellUnix text tools (grep, awk, sed, ripgrep, jq, Miller) and the bioinformatics command-line tools below

    What comes preinstalled

    The workspace image ships a broad scientific stack, so most analyses need no setup. The highlights:

    AreaPreinstalled
    Data and statisticspandas, polars, NumPy, SciPy, scikit-learn, statsmodels, DuckDB (Python module), PyArrow, h5py, Zarr, networkx
    Plottingmatplotlib, seaborn, plotly, py3Dmol, nglview, pyCirclize, gnuplot, Circos
    CheminformaticsRDKit, Open Babel, datamol, Meeko, ProLIF
    Structural biologyBiopython, Biotite, ProDy, MDTraj, MDAnalysis, gemmi, FreeSASA, PDBFixer, PyMOL (open source)
    Sequences and alignmentBLAST+, HMMER (CLI and pyhmmer), MAFFT, MUSCLE, Clustal W, seqkit, pyfaidx
    Reads and variantssamtools, bcftools, bedtools, htslib/tabix, vcftools, BWA, minimap2, FastQC, fastp, MultiQC, cutadapt, pysam, cyvcf2, CNVkit
    Assembly, annotation and long readsSPAdes, Unicycler, Flye, QUAST, Prokka, Medaka, NanoPlot, Porechop
    Phylogenetics and metagenomicsIQ-TREE, ETE 3, scikit-bio, pyani, SRA Toolkit, Entrez Direct
    Single-cell and spatialScanpy, AnnData, Squidpy, leidenalg
    Omics and pathwaysPyDESeq2, GSEApy, MAGeCK, COBRApy, cooler and cooltools (Hi-C)
    Proteomics, metabolomics and cytometrypyOpenMS, matchms, FlowSOM, FlowUtils, fcsparser
    Biomedical textscispaCy with the en_core_sci_lg and en_ner_bc5cdr_md models
    Sequence design and imagingDNA Chisel, codon tables, pydicom
    Lab automationThe Opentrons API and PyLabRobot, for generating and simulating liquid-handling protocols

    Ask Ivy to "list the installed packages" for exact versions. If something you need is missing, Ivy can install it from PyPI for the rest of the session, but each new session starts again from the preinstalled set.

    Your files and where results go

    The workspace sees the same files as the Files panel and the ivybloom CLI:

    FolderHoldsKept after the session?
    /workspace/files/uploads/Files you attached to the chatYes. Ivy can read them but not modify them
    /workspace/files/data/Context files pushed into the chatYes. Ivy can read them but not modify them
    /workspace/files/downloads/Results from the chat's compute jobs and other toolsYes. Ivy can read them but not modify them
    /workspace/scratch/Files Ivy's code writes: intermediate tables, figures, deliverablesOnly if you ask Ivy to save them
    /workspace/inbox/Public datasets, files and repositories Ivy downloadsOnly if you ask Ivy to save them

    Files that code writes are temporary. To keep a table or figure, ask Ivy to save it to your files, which uploads it and lists it in the Files panel. Anything that is not saved should be treated as lost when the session ends.

    Large tool results are never pasted whole into the conversation. Ivy sees a compact summary, and the full payload stays in /workspace/files/downloads/, where the workspace reads it when a later step needs every row.

    Limits

    • Memory: about 4 GB per chat, so Ivy streams or chunks very large files instead of loading them whole.
    • Run time: a single command or script gets up to 2 minutes, and a notebook up to 10 minutes. Longer work belongs in a compute job, which runs on its own hardware and reports back when it finishes.
    • No GPU. Folding, docking and the other model-heavy tools run as compute jobs, and the workspace handles the CPU work around them.
    • Downloads: Ivy can fetch public URLs (a PDB file, a FASTA, a GEO or SRA dataset) and clone public Git repositories. Files over about 50 MB download in the background while Ivy keeps working.
    • One workspace per chat. Chats never share a workspace. It starts while Ivy reads your first message, stays warm while you work, and is replaced automatically if it stops responding.

    Guest (signed-out) chats get a workspace too, with tighter limits. See guest mode.

    Was this page helpful?

    On this page

    On this page

    Loading...