1 #ifndef VIENNA_RNA_PACKAGE_LIGAND_H 2 #define VIENNA_RNA_PACKAGE_LIGAND_H 3 4 /** 5 * @file constraints/ligand.h 6 * @ingroup ligand_binding 7 * @brief Functions for incorporation of ligands binding to hairpin and interior loop motifs using the soft constraints framework 8 */ 9 10 /** 11 * @addtogroup constraints_ligand 12 * 13 * @brief Ligand binding to specific hairpin/interior loop like motifs using the @ref soft_constraints feature 14 * 15 * Here is an example that adds a theophylline binding motif. Free energy 16 * contribution is derived from @f$k_d = 0.32 \mu mol / l @f$, taken from 17 * Jenison et al. 1994 18 * 19 * @image html theo_aptamer.svg 20 * @image latex theo_aptamer.eps 21 * 22 * @code{.c} 23 vrna_sc_add_hi_motif(vc, 24 "GAUACCAG&CCCUUGGCAGC", 25 "(...((((&)...)))...)", 26 -9.22, VRNA_OPTION_DEFAULT); @endcode 27 */ 28 29 30 typedef struct vrna_sc_motif_s vrna_sc_motif_t; 31 32 #include <ViennaRNA/datastructures/basic.h> 33 #include <ViennaRNA/fold_compound.h> 34 35 struct vrna_sc_motif_s { 36 int i; 37 int j; 38 int k; 39 int l; 40 int number; 41 }; 42 43 44 /** 45 * @brief Add soft constraints for hairpin or interior loop binding motif 46 * 47 * @ingroup constraints_ligand 48 * 49 * @param vc The #vrna_fold_compound_t the motif is applied to 50 * @param seq The sequence motif (may be interspaced by '&' character 51 * @param structure The structure motif (may be interspaced by '&' character 52 * @param energy The free energy of the motif (e.g. binding free energy) 53 * @param options Options 54 * @return non-zero value if application of the motif using soft constraints was successful 55 * 56 */ 57 int 58 vrna_sc_add_hi_motif(vrna_fold_compound_t *vc, 59 const char *seq, 60 const char *structure, 61 FLT_OR_DBL energy, 62 unsigned int options); 63 64 65 vrna_sc_motif_t * 66 vrna_sc_ligand_detect_motifs(vrna_fold_compound_t *vc, 67 const char *structure); 68 69 70 vrna_sc_motif_t * 71 vrna_sc_ligand_get_all_motifs(vrna_fold_compound_t *vc); 72 73 74 #endif 75