Context
With DNA/RNA structure support added to protein_compare (feature/dna branch), the characterization pipeline can now load and report on nucleic acid structures. However, secondary structure analysis is skipped for DNA/RNA because DSSP only works on proteins.
Why DSSP doesn't work on DNA/RNA
DSSP assigns secondary structure by detecting hydrogen bond patterns in the protein backbone (N-H...O=C between amide groups). It requires N, CA, C, O atoms per residue and classifies based on specific H-bond geometries (i to i+4 for alpha helix, inter-strand for beta sheet).
DNA/RNA has a completely different backbone chemistry:
- Protein:
-N-Ca-C(=O)-N-Ca-C(=O)- (amide bonds)
- DNA:
-O-P(=O)-O-C5'-C4'-C3'-O- (phosphodiester bonds)
DSSP cannot find the atoms it needs and fails.
DNA/RNA does have secondary structure — A-form, B-form, Z-form helices, hairpins, bulges, G-quadruplexes, pseudoknots — but these are defined by base pairing and stacking geometry, not backbone hydrogen bonds.
Proposed Solution
Integrate DSSR (Dissecting the Spatial Structure of RNA) from the 3DNA suite as an optional nucleic acid secondary structure analyzer:
- DSSR handles both DNA and RNA
- Assigns base pairs, stacking, helical form (A/B/Z), hairpins, junctions
- Outputs JSON with rich structural annotations
Implementation (in protein_structure_analysis repo)
- Add
DSSRAnalyzer class alongside the existing DSSP-based SecondaryStructureAnalyzer
- Auto-select analyzer based on
ProteinStructure.molecule_type
- Map DSSR output to report sections: base pair counts, helical form, stacking geometry
- Add visualization: base pair diagram, stacking pattern
Alternative tools
- x3dna-dssr: Most comprehensive, requires license for commercial use
- RNApdbee: Web-based, not suitable for batch processing
- forgi (ViennaRNA): RNA-focused, limited DNA support
Current Behavior
DNA/RNA structures show all-coil for secondary structure, and the SS composition/profile plots are omitted from HTML/PDF reports. Confidence, contacts, and nucleotide composition work correctly.
Context
With DNA/RNA structure support added to protein_compare (feature/dna branch), the characterization pipeline can now load and report on nucleic acid structures. However, secondary structure analysis is skipped for DNA/RNA because DSSP only works on proteins.
Why DSSP doesn't work on DNA/RNA
DSSP assigns secondary structure by detecting hydrogen bond patterns in the protein backbone (N-H...O=C between amide groups). It requires
N,CA,C,Oatoms per residue and classifies based on specific H-bond geometries (i to i+4 for alpha helix, inter-strand for beta sheet).DNA/RNA has a completely different backbone chemistry:
-N-Ca-C(=O)-N-Ca-C(=O)-(amide bonds)-O-P(=O)-O-C5'-C4'-C3'-O-(phosphodiester bonds)DSSP cannot find the atoms it needs and fails.
DNA/RNA does have secondary structure — A-form, B-form, Z-form helices, hairpins, bulges, G-quadruplexes, pseudoknots — but these are defined by base pairing and stacking geometry, not backbone hydrogen bonds.
Proposed Solution
Integrate DSSR (Dissecting the Spatial Structure of RNA) from the 3DNA suite as an optional nucleic acid secondary structure analyzer:
Implementation (in protein_structure_analysis repo)
DSSRAnalyzerclass alongside the existing DSSP-basedSecondaryStructureAnalyzerProteinStructure.molecule_typeAlternative tools
Current Behavior
DNA/RNA structures show all-coil for secondary structure, and the SS composition/profile plots are omitted from HTML/PDF reports. Confidence, contacts, and nucleotide composition work correctly.