Partial Charges

Calculate and visualize atomic partial charges for molecular structures.

Features

Charge Calculation

Multiple charge calculation methods

Visualization

Color-coded charge representation

Analysis

Charge distribution analysis

Export

Export charge data in various formats

Configuration

interface ChargeConfig {
  method: 'gasteiger' | 'mmff94' | 'am1' | 'custom';  // Calculation method
  visualization?: {              // Visualization settings
    colorScale?: string;         // Color scale for charges
    min?: number;                // Minimum charge value
    max?: number;                // Maximum charge value
    opacity?: number;            // Visualization opacity
  };
  analysis?: {                   // Analysis settings
    groupCharges?: boolean;      // Calculate group charges
    netCharge?: boolean;         // Calculate net charge
    dipole?: boolean;            // Calculate dipole moment
  };
}

Methods

calculateCharges

Calculates partial charges

calculateCharges(config: ChargeConfig): Promise<ChargeResult>

updateVisualization

Updates charge visualization

updateVisualization(options: Partial<VisualizationConfig>): void

getAtomCharge

Gets charge for specific atom

getAtomCharge(atomIndex: number): number

exportCharges

Exports charge data

exportCharges(format: 'json' | 'csv' | 'pdb'): string

Example

// Calculate charges
const charges = await model.calculateCharges({
  method: 'gasteiger',
  visualization: {
    colorScale: 'redblue',
    min: -1,
    max: 1,
    opacity: 0.8
  },
  analysis: {
    groupCharges: true,
    netCharge: true,
    dipole: true
  }
});

// Update visualization
charges.updateVisualization({
  opacity: 0.9,
  colorScale: 'rainbow'
});

// Get specific atom charge
const charge = charges.getAtomCharge(0);

// Export charges
const chargeData = charges.exportCharges('json');