Exemplo n.º 1
0
PRIVATE void update_dfold_params(void){
  vrna_md_t md;
  if(P)
    free(P);
  set_model_details(&md);
  P = vrna_params(&md);
  make_pair_matrix();
}
Exemplo n.º 2
0
PRIVATE void
add_params( vrna_fold_compound_t *vc,
            vrna_md_t *md_p,
            unsigned int options){

  /* ALWAYS add regular energy parameters */
  vc->params = vrna_params(md_p);

  if(options & VRNA_OPTION_PF){
    vc->exp_params  = (vc->type == VRNA_VC_TYPE_SINGLE) ? \
                        vrna_exp_params(md_p) : \
                        vrna_exp_params_comparative(vc->n_seq, md_p);
  }

}
Exemplo n.º 3
0
InteractionEnergyVrna::InteractionEnergyVrna(
		const Accessibility & accS1
		, const ReverseAccessibility & accS2
		, VrnaHandler &vrnaHandler
		, const size_t maxInternalLoopSize1
		, const size_t maxInternalLoopSize2
		, const bool initES
	)
 :
	InteractionEnergy(accS1, accS2, maxInternalLoopSize1, maxInternalLoopSize2)
// get final VRNA folding parameters
	, foldModel( vrnaHandler.getModel() )
	, foldParams( vrna_params( &foldModel ) )
	, RT(vrnaHandler.getRT())
	, bpCG( BP_pair[RnaSequence::getCodeForChar('C')][RnaSequence::getCodeForChar('G')] )
	, bpGC( BP_pair[RnaSequence::getCodeForChar('G')][RnaSequence::getCodeForChar('C')] )
	, esValues1(NULL)
	, esValues2(NULL)
{
	vrna_md_defaults_reset( &foldModel );

	// init ES values if needed
	if (initES) {
//	23.11.2017 : should not be relevant anymore
//#if INTARNA_MULITHREADING
//		#pragma omp critical(intarna_omp_callingVRNA)
//#endif
//		{
		// create ES container to be filled
		esValues1 = new EsMatrix();
		esValues2 = new EsMatrix();
		// fill ES container
		computeES( accS1, *esValues1 );
		computeES( accS2, *esValues2 );
//		} // omp critical(intarna_omp_callingVRNA)
	}
}