projected-area-computation
Summary
Compute voxel-projected area features from 3D molecular conformers using Fibonacci grid sampling and coordinate plane projections. This is a critical input featurization step for deep-learning CCS prediction, where projected area encodes molecular shape and cross-sectional geometry.
When to use
You have 3D optimized molecular conformers (RDKit mol objects or SDF files) and need to extract shape-based features for collision cross section prediction, graph neural network input, or conformer comparison. Use this when the input molecules have already been embedded to 3D coordinates and force-field optimized, and you are preparing data for PACCS model training or inference.
When NOT to use
- Input is a 2D SMILES or mol graph without 3D coordinates — conformer generation and optimization must precede this skill.
- Molecules are already represented as pre-computed feature tensors or neural embeddings — projected area computation is redundant.
- Use case requires all-atoms surface area or solvent-accessible surface area instead of projected area — different geometric models.
Inputs
- RDKit mol object with 3D conformer embedded and force-field optimized
- Molecular conformer in SDF format
- SMILES string (must be converted to 3D conformer first via ETKDGv3 + MMFF optimization)
Outputs
- Scalar projected area value (float, in Ų units)
- Projected area vector [area_xy, area_xz, area_yz] before averaging
- Feature tensor ready for concatenation with m/z, graph, and adduct encoding
How to apply
Load each molecular conformer and apply the voxel projected area algorithm: (1) distribute points evenly over 3D atomic van der Waals surfaces using Fibonacci grid sampling; (2) project these point clouds orthogonally onto three coordinate planes (xy, xz, yz); (3) compute the occupied area on each plane; (4) average the three plane areas to obtain a single scalar projected area value per conformer. The method is implemented in VoxelProjectedArea.py and operates directly on RDKit mol objects. This scalar feature is then combined with m/z (from MZ.py), molecular graph encoding (from MolecularRepresentations.py), and adduct one-hot encoding to form the complete input tensor for the PACCS neural network.
Related tools
- RDKit (Load and manipulate 3D molecular conformers; provide mol objects and atomic coordinate access for voxel distribution and projection) — https://rdkit.org/
- VoxelProjectedArea.py (Core implementation of Fibonacci grid sampling, plane projection, and area aggregation; called for each conformer) — https://github.com/yuxuanliao/PACCS
- NumPy (Numerical computation of Fibonacci grid points, orthogonal projections onto xy/xz/yz planes, and area averaging) — https://numpy.org/
- MZ.py (Sibling module to compute mass-to-charge ratio; projected area is concatenated with m/z for model input) — https://github.com/yuxuanliao/PACCS
- MolecularRepresentations.py (Sibling module to construct molecular graph; projected area is concatenated with graph encoding for model input) — https://github.com/yuxuanliao/PACCS
Examples
from PACCS.VoxelProjectedArea import compute_projected_area
from rdkit import Chem
from rdkit.Chem import AllChem
mol = Chem.MolFromSmiles('CCO')
mol = Chem.AddHs(mol)
ps = AllChem.ETKDGv3()
AllChem.EmbedMultipleConfs(mol, numConfs=1, params=ps)
AllChem.MMFFOptimizeMoleculeConfs(mol, numThreads=0)
projected_area = compute_projected_area(mol, confId=0)
Evaluation signals
- Projected area scalar is a positive float > 0; typical range ~50–500 Ų for organic molecules.
- Three intermediate plane areas (xy, xz, yz) are computed and their average equals the final scalar output.
- Projected area remains invariant under conformer reorientation (rotation and translation do not change geometric projection).
- Conformer with larger van der Waals radius or more extended shape yields larger projected area than compact conformer of same molecule.
- Output tensor can be successfully concatenated with m/z and graph features without shape mismatch (scalar appends to feature vector).
Limitations
- Accuracy depends on accurate 3D conformer generation and force-field optimization beforehand; garbage-in-garbage-out.
- Fibonacci grid resolution (number of surface points sampled per atom) is a hidden hyperparameter; insufficient sampling may undersample concave or intricate surfaces.
- Projected area is orientation-invariant but does not capture directional anisotropy or asymmetry in shape; symmetric molecules with different 3D shapes may yield identical projected areas.
- Method assumes van der Waals radii are accurately defined in RDKit; anomalous or heavy-metal atoms may have poor or absent radii.
- Single conformer per molecule loses ensemble effects; if multiple conformers exist, projected area should be computed per conformer and aggregated or selected carefully.
Evidence
- [readme] PACCS calculates the projected area with the voxel-based approach: "PACCS calculates the projected area with the voxel-based approach, computes the m/z, and constructs the molecular graph."
- [readme] Using Fibonacci grids and projection on three coordinate planes: "Using the Fibonacci grids approach to distribute points evenly over the surfaces of 3D atomic spheres. Projected on three coordinate planes (xy, xz, yz). Averaging."
- [readme] PACCS is a Projected Area-based CCS prediction method: "We developed a Projected Area-based CCS prediction method (PACCS) directly from molecular conformers."
- [readme] Voxel projected area features are core inputs to the deep-learning model: "The predicted CCS values of molecules are obtained by feeding the voxel projected area, molecular graph, one-hot encoding of adduct type, and m/z into the already trained PACCS model"
- [readme] Conformers must be 3D-embedded and force-field optimized first: "MMFFOptimizeMoleculeConfs optimizes the 3D conformers of molecules."
1---2name: projected-area-computation3description: Use when you have 3D optimized molecular conformers (RDKit mol objects or SDF files) and need to extract shape-based features for collision cross section prediction, graph neural network input, or conformer comparison.4license: CC-BY-4.05---67# projected-area-computation89## Summary1011Compute voxel-projected area features from 3D molecular conformers using Fibonacci grid sampling and coordinate plane projections. This is a critical input featurization step for deep-learning CCS prediction, where projected area encodes molecular shape and cross-sectional geometry.1213## When to use1415You have 3D optimized molecular conformers (RDKit mol objects or SDF files) and need to extract shape-based features for collision cross section prediction, graph neural network input, or conformer comparison. Use this when the input molecules have already been embedded to 3D coordinates and force-field optimized, and you are preparing data for PACCS model training or inference.1617## When NOT to use1819- Input is a 2D SMILES or mol graph without 3D coordinates — conformer generation and optimization must precede this skill.20- Molecules are already represented as pre-computed feature tensors or neural embeddings — projected area computation is redundant.21- Use case requires all-atoms surface area or solvent-accessible surface area instead of projected area — different geometric models.2223## Inputs2425- RDKit mol object with 3D conformer embedded and force-field optimized26- Molecular conformer in SDF format27- SMILES string (must be converted to 3D conformer first via ETKDGv3 + MMFF optimization)2829## Outputs3031- Scalar projected area value (float, in Ų units)32- Projected area vector [area_xy, area_xz, area_yz] before averaging33- Feature tensor ready for concatenation with m/z, graph, and adduct encoding3435## How to apply3637Load each molecular conformer and apply the voxel projected area algorithm: (1) distribute points evenly over 3D atomic van der Waals surfaces using Fibonacci grid sampling; (2) project these point clouds orthogonally onto three coordinate planes (xy, xz, yz); (3) compute the occupied area on each plane; (4) average the three plane areas to obtain a single scalar projected area value per conformer. The method is implemented in VoxelProjectedArea.py and operates directly on RDKit mol objects. This scalar feature is then combined with m/z (from MZ.py), molecular graph encoding (from MolecularRepresentations.py), and adduct one-hot encoding to form the complete input tensor for the PACCS neural network.3839## Related tools4041- **RDKit** (Load and manipulate 3D molecular conformers; provide mol objects and atomic coordinate access for voxel distribution and projection) — https://rdkit.org/42- **VoxelProjectedArea.py** (Core implementation of Fibonacci grid sampling, plane projection, and area aggregation; called for each conformer) — https://github.com/yuxuanliao/PACCS43- **NumPy** (Numerical computation of Fibonacci grid points, orthogonal projections onto xy/xz/yz planes, and area averaging) — https://numpy.org/44- **MZ.py** (Sibling module to compute mass-to-charge ratio; projected area is concatenated with m/z for model input) — https://github.com/yuxuanliao/PACCS45- **MolecularRepresentations.py** (Sibling module to construct molecular graph; projected area is concatenated with graph encoding for model input) — https://github.com/yuxuanliao/PACCS4647## Examples4849```50from PACCS.VoxelProjectedArea import compute_projected_area51from rdkit import Chem52from rdkit.Chem import AllChem5354mol = Chem.MolFromSmiles('CCO')55mol = Chem.AddHs(mol)56ps = AllChem.ETKDGv3()57AllChem.EmbedMultipleConfs(mol, numConfs=1, params=ps)58AllChem.MMFFOptimizeMoleculeConfs(mol, numThreads=0)59projected_area = compute_projected_area(mol, confId=0)60```6162## Evaluation signals6364- Projected area scalar is a positive float > 0; typical range ~50–500 Ų for organic molecules.65- Three intermediate plane areas (xy, xz, yz) are computed and their average equals the final scalar output.66- Projected area remains invariant under conformer reorientation (rotation and translation do not change geometric projection).67- Conformer with larger van der Waals radius or more extended shape yields larger projected area than compact conformer of same molecule.68- Output tensor can be successfully concatenated with m/z and graph features without shape mismatch (scalar appends to feature vector).6970## Limitations7172- Accuracy depends on accurate 3D conformer generation and force-field optimization beforehand; garbage-in-garbage-out.73- Fibonacci grid resolution (number of surface points sampled per atom) is a hidden hyperparameter; insufficient sampling may undersample concave or intricate surfaces.74- Projected area is orientation-invariant but does not capture directional anisotropy or asymmetry in shape; symmetric molecules with different 3D shapes may yield identical projected areas.75- Method assumes van der Waals radii are accurately defined in RDKit; anomalous or heavy-metal atoms may have poor or absent radii.76- Single conformer per molecule loses ensemble effects; if multiple conformers exist, projected area should be computed per conformer and aggregated or selected carefully.7778## Evidence7980- [readme] PACCS calculates the projected area with the voxel-based approach: "PACCS calculates the projected area with the voxel-based approach, computes the m/z, and constructs the molecular graph."81- [readme] Using Fibonacci grids and projection on three coordinate planes: "Using the Fibonacci grids approach to distribute points evenly over the surfaces of 3D atomic spheres. Projected on three coordinate planes (xy, xz, yz). Averaging."82- [readme] PACCS is a Projected Area-based CCS prediction method: "We developed a Projected Area-based CCS prediction method (PACCS) directly from molecular conformers."83- [readme] Voxel projected area features are core inputs to the deep-learning model: "The predicted CCS values of molecules are obtained by feeding the voxel projected area, molecular graph, one-hot encoding of adduct type, and m/z into the already trained PACCS model"84- [readme] Conformers must be 3D-embedded and force-field optimized first: "MMFFOptimizeMoleculeConfs optimizes the 3D conformers of molecules."