/****************************************************************************************/ /* */ /* Project : 1D-BRNN */ /* Release : 3.3 */ /* */ /* File : Sequence.cpp */ /* Description : Sequence data and model predictions for the sequence */ /* */ /* Author(s) : Christophe Magnan (2013) - New generic version */ /* : Jianlin Cheng (2003) - New custom version for SCRATCH */ /* : Gianluca Pollastri (2001) - Customized version for SCRATCH */ /* : Paolo Frasconi (1997) - Initial generic version */ /* */ /* Copyright : Institute for Genomics and Bioinformatics */ /* University of California, Irvine */ /* */ /* Modified : 2015/07/01 */ /* */ /****************************************************************************************/ #include "Sequence.h" /*******************************************/ /* Interface */ /*******************************************/ // Constructor Sequence::Sequence() : Num_Positions(-1),Num_Classes(-1),Classes(NULL), Targets(NULL),Features(NULL),Predictions(NULL), Outputs_MAIN(NULL),Outputs_FWD(NULL),Outputs_BWD(NULL), BackProp_FWD(NULL),BackProp_BWD(NULL){} // Destructor Sequence::~Sequence() { for(int p=0;p> Num_Positions; Num_Classes=cl; Classes=new int[Num_Positions]; Targets=new float*[Num_Positions]; Features=new float*[Num_Positions]; for(int p=0;p> Classes[p]; Targets[p]=new float[Num_Classes]; for(int c=0;c> Features[p][f]; } } check_viability(); } // Allocate memory for propagation void Sequence::alloc_propagation(int out_fwd,int out_bwd) { Predictions=new int[Num_Positions]; Outputs_MAIN=new float*[Num_Positions]; Outputs_FWD=new float*[Num_Positions]; Outputs_BWD=new float*[Num_Positions]; for(int p=0;p=Num_Classes)){ cerr << "\n\nERROR: incorrect class found: " << Classes[p] << "\n"; exit(1); } } }