Protein Surface

Advanced protein surface visualization with customizable rendering options and analysis tools.

Surface Types

Van der Waals Surface

Shows the outer boundary of the protein's atoms

Solvent Accessible Surface

Represents the surface accessible to solvent molecules

Molecular Surface

Shows the actual surface of the protein

Electrostatic Surface

Displays electrostatic potential on the surface

Configuration

interface SurfaceConfig {
  type: 'vdw' | 'sas' | 'ms' | 'es';  // Surface type
  probeRadius?: number;                // Probe radius for surface calculation
  resolution?: number;                 // Surface mesh resolution
  color?: string;                      // Surface color
  opacity?: number;                    // Surface opacity
  wireframe?: boolean;                 // Show wireframe
  smooth?: number;                     // Surface smoothing factor
  electrostatic?: {                    // Electrostatic surface options
    scale?: number;                    // Color scale
    min?: number;                      // Minimum value
    max?: number;                      // Maximum value
  };
}

Methods

computeSurface

Computes the protein surface

computeSurface(config: SurfaceConfig): Promise<Surface>

updateSurface

Updates surface properties

updateSurface(options: Partial<SurfaceConfig>): void

getSurfaceArea

Calculates surface area

getSurfaceArea(): number

getSurfaceVolume

Calculates surface volume

getSurfaceVolume(): number

Example

// Compute solvent accessible surface
const surface = await model.computeSurface({
  type: 'sas',
  probeRadius: 1.4,
  resolution: 1.0,
  color: '#00ff00',
  opacity: 0.8,
  smooth: 0.5
});

// Update to electrostatic surface
surface.updateSurface({
  type: 'es',
  electrostatic: {
    scale: 1.0,
    min: -10,
    max: 10
  }
});

// Get surface properties
const area = surface.getSurfaceArea();
const volume = surface.getSurfaceVolume();