> ## 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.

# Structure Viewer

> Open molecular structures in 3D, understand supported file formats, and check preview limits.

The Structure Viewer opens molecular coordinate files inside your Purna workspace. Use it to inspect proteins, molecular complexes, and ligands alongside the conversation that produced or references them.

![A CIF structure displayed as an orange ribbon model in Purna's Structure Viewer beside the conversation, approved roadmap, notes, and compute panels](https://cms.purna.ai/_emdash/api/media/file/01M6GZCEQYTGA97XMG2EPGEVQC.01M6GZCFRF3X66WJ85FHTP2CS9.webp)

Inspect a saved molecular structure alongside your conversation and workspace panels.

The viewer uses Mol\* for rendering. Opening an existing structure does not submit a prediction, perform docking, minimize coordinates, or start a background analysis.

## What you can do

* Open supported structures uploaded to **Files**, attached in chat, or saved as outputs from Purna.
* Rotate, pan, and zoom to inspect the geometry already present in the file.
* Inspect proteins and ligands using the file's coordinates and Mol\*'s default representations.
* Resize the workspace pane using its divider on desktop layouts.
* Keep multiple file tabs open and switch between them.
* Download the original structure for analysis or editing in another tool.

The notebook exposes a compact preview. It does not expose every control available in the standalone Mol\* application.

## Open a structure

1. Upload a supported coordinate file through **Files** or the chat attachment control.
2. Select the file from **Files** or its chat attachment.
3. Wait for the 3D viewer to load, then interact with the structure.

To view a generated structure, wait for the producing job to save its output, then open that structure file. See [Structure Prediction](https://docs.purna.ai/chat-experiences/structure-prediction.md) for creating a predicted structure from a sequence.

In the workspace, the file opens in a closable tab. Some contexts use a preview dialog. Use the **Download** action in the file toolbar to save the original file.

## Supported file formats

| Format | File extensions | Typical content |
| - | - | - |
| PDB | `.pdb`, `.ent` | Protein, complex, or ligand coordinates |
| Macromolecular CIF | `.cif`, `.mmcif` | Macromolecular structures and associated metadata |
| SDF | `.sdf` | Small-molecule coordinates and records |
| MOL2 | `.mol2` | Molecular coordinates, atom types, and bonds |
| GROMACS GRO | `.gro` | Molecular coordinates from a prepared simulation system |
| MDL MOL | `.mol` | Small-molecule coordinates and connectivity |
| PDBQT | `.pdbqt` | Docking structures or poses |
| XYZ | `.xyz` | Atom symbols and Cartesian coordinates |

Extensions are case-insensitive. The file must contain valid data for the selected format; renaming an unrelated file does not convert it.

The `.cif` route expects macromolecular CIF/mmCIF. It does not provide general support for small-molecule crystallographic CIF dialects. GRO coordinates are converted from nanometers to angstroms by the renderer; the original file remains unchanged.

### Compressed structures

Each extension above supports the following compression suffixes:

| Compression | Suffix | Examples |
| - | - | - |
| Gzip | `.gz` | `protein.pdb.gz`, `complex.cif.gz`, `ligand.mol.gz` |
| BGZF | `.bgz` | `protein.mmcif.bgz`, `system.gro.bgz` |
| BGZF | `.bgzf` | `protein.pdb.bgzf`, `docked.pdbqt.bgzf`, `atoms.xyz.bgzf` |

Keep the underlying format in the filename. For example, use `protein.pdb.gz`, not `protein.gz`, so Purna can select the PDB parser.

Compressed structures are decompressed temporarily in your browser. No second file, decompressed upload, or preparation job is created. BGZF blocks are decoded individually, including the empty end-of-file member.

Your browser must support native gzip decompression. If it does not, decompress the structure locally and upload the supported uncompressed file.

## Navigation controls

| Action | Control |
| - | - |
| Rotate the structure | Left-click and drag |
| Zoom in or out | Scroll over the 3D canvas |
| Pan | Right-click and drag, or Ctrl + left-click and drag |
| Change the pane width | Drag the divider between workspace panes on desktop |
| Switch structures | Select another open file tab |
| Close the preview | Select the tab's close button |
| Download | Select **Download** in the file toolbar |

The structure preview does not expose a separate Mol\* expand/fullscreen button. Resize the containing workspace pane to give the canvas more space.

## Colors and interpretation

PDB and mmCIF previews use a confidence-style color scale. When the source stores pLDDT scores in the expected field, the colors run from orange for lower values through yellow and cyan to blue for higher values.

Treat this as pLDDT only when the source identifies the stored values as pLDDT. Experimental structures may store temperature factors in the same field. The viewer does not calculate confidence or establish the meaning of that field for an arbitrary uploaded structure.

Other formats use the renderer's default representation and coloring. A rendered docking pose does not establish binding affinity, docking quality, or experimental validity.

## Size and performance limits

The following bounds apply to compressed previews:

| Limit | Maximum |
| - | - |
| Compressed structure input | 32 MiB |
| Decompressed structure text | 64 MiB |
| BGZF members | 4,096 |

These are preview bounds, separate from the platform's upload limits. A file may upload successfully and still exceed a preview limit. The original remains available to download.

Uncompressed structures use the existing loading path and do not have these compressed-preview bounds. They still need to fit in browser memory. Large atom counts, many models, or complex representations can consume substantial memory and reduce responsiveness. A successful upload is not a guarantee that a large structure will render comfortably.

The preview loads a structure into browser memory; it does not stream progressively renderable atom subsets or offer a server-generated low-resolution structure. For a large system, prepare a smaller viewing copy, such as a selected model or region, while retaining the full original for analysis.

## Temporary state and file access

* Viewing does not change the stored coordinates, atom identifiers, bonds, or source file.
* Camera changes and selections are temporary. They are not saved as annotations or automatically handed to chat or the background agent.
* Hiding the tab, workspace, or browser page releases rendering resources. Compressed reads are canceled, and returning to the viewer recreates it; camera position and selection may reset.
* Closing and reopening a tab reloads the structure. Reloading the page does not restore the viewer's interaction state.
* Private files use the platform's existing access checks. Opening a tab does not grant additional access to its source.

## Unsupported inputs and capabilities

The current native preview does not provide:

* PQR (`.pqr`) support or general BinaryCIF (`.bcif`) upload-and-open support.
* Structure discovery inside arbitrary ZIP or TAR archives.
* General sequence or alignment viewing from FASTA, FASTQ, or alignment files. A sequence does not contain 3D coordinates by itself.
* Dedicated trajectory playback, topology/trajectory pairing, or multi-record SDF browsing controls.
* Structure editing, bond correction, docking-score analysis, automatic superposition, or scientific validation.
* A general sequence panel, representation editor, or the complete standalone Mol\* toolset.
* Saved viewer annotations, persistent selections, or automatic selection handoff to the agent.

Use a dedicated molecular application when you need these workflows, or ask Purna to perform a separate, explicit analysis or export.

## Troubleshooting

| What you see | What to check |
| - | - |
| **Preview unavailable** | Check that the file uses a supported structure extension. An accepted upload type may have no native preview. |
| **Failed to load 3D viewer** | Check that the file is complete and valid for its extension. Download and inspect it in another compatible tool if needed. |
| A gzip-signature or corrupt-file error | Confirm the file is actually gzip/BGZF data. Do not rename a plain file or ZIP archive to `.gz`. Recreate a truncated or corrupt archive. |
| A compressed or decompressed size-limit error | Download the original, or create a smaller viewing copy that meets both limits. |
| Too many BGZF blocks | Use a smaller viewing copy or export it as a supported uncompressed structure. |
| Access denied or an unavailable file | Confirm you still have access to the file and its project. Reopen it after access is restored. |
| The browser cannot decompress the structure | Decompress the file locally and upload its supported uncompressed form. |
| An empty canvas, rendering failure, or poor performance | Check browser graphics/WebGL availability and available memory. Try a smaller structure. |
| Colors do not match expected confidence | Check what the source stores in its temperature-factor/confidence field. The viewer does not infer whether those values are pLDDT. |

Return to [Scientific Components](https://docs.purna.ai/scientific-components/overview.md) for the component overview, or see [Files](https://docs.purna.ai/guides/files.md) for upload and download instructions.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.