//============================== // Please cite the following if you use MC-Sym: // 1) Major F et al. (1991) Science 253, 1255. // 2) Major F. (2003) Comp Sci Eng. 5, 44. //============================== // this MC-Sym script builds the H/ACA box small // nucleolar RNA pseudouridylation pocket from article: // Wu H, Feigon J. 2007 PNAS 104:6655-6660. // // Sequence numbering and chain IDs follow that of // PDB file 2P89. //========== Sequence ========== sequence( r A1 GGCCUUAGGAAACAGUUCGCUGUGCCGAAAGGUC ) sequence( r B35 UUCGGCUCUUCCUA ) //========== Relations ========== relation( // adjacent nucleotides A23 A24 { adjacent_5p } 10% B40:B43 { adjacent_5p } 10% // coaxial stacking between P2 and P2S A11 A12 { adjacent_5p && stack } 25% // coaxial stacking between P1 and P1S A29 A30 { adjacent_5p && stack } 25% ) //========== Cycles ========== frag_P1 = library( pdb( "HACA_P1-*.pdb.gz" ) #1:#5, #6:#10 <- A1:A5, A30:A34 rmsd( 0.1 sidechain && !( pse || lp || hydrogen ) ) ) frag_P1S = library( pdb( "HACA_P1S-*.pdb.gz" ) #1:#6, #7:#12 <- A24:A29, B35:B40 rmsd( 0.1 sidechain && !( pse || lp || hydrogen ) ) ) frag_P2 = library( pdb( "HACA_P2-*.pdb.gz" ) #1:#12<- A12:A23 rmsd( 0.1 sidechain && !( pse || lp || hydrogen ) ) ) frag_P2S = library( pdb( "HACA_P2S-*.pdb.gz" ) #1:#6, #7:#12 <- A6:A11, B43:B48 rmsd( 0.1 sidechain && !( pse || lp || hydrogen ) ) ) //=========== Backtrack =========== // assemble the whole structure: structure = backtrack( // start with P1 stem frag_P1 // coax stacking between P1 and P1S place( A30 A29 frag_P1S ) // now P2 stem place( A24 A23 frag_P2 ) // coax stacking between P2 and P2S place( A12 A11 frag_P2S ) ) //=========== Feasible =========== // constraints on loop nucleotides `feasible`: // for 2 nucleotides i and i+k the 99th quantile // distance D between C1' atoms on RNA select // goes like D = 4.4 * k + 5.8 // pseudouridylation pocket: //distance( B40:C1' B42:C1' 0.0 14.6 ) distance( B40:C1' B43:C1' 0.0 19.0 ) //distance( B41:C1' B43:C1' 0.0 14.6 ) // ========= Constraints / Restraints ========= clash ( structure 2.0 !( pse || lp || hydrogen ) ) ribose_rst ( structure method = estimate, threshold = 2.0, pucker = C3p_endo, glycosyl = anti ) backtrack_rst ( structure method = probabilistic, width_limit = 25%, height_limit = 100% ) implicit_phosphate_rst( structure sampling = 90% ) // ========= Exploration Initialization ========= explore( structure option( time_limit = 12h, seed = 3210 ) reference( pdb("2P8901.pdb") ) pdb( "HACA" zipped ) )