Int2 BlastSetUp_Filter(EBlastProgramType program_number, Uint1* sequence, Int4 length, Int4 offset, const SBlastFilterOptions* filter_options, BlastSeqLoc** seqloc_retval, Blast_Message* *blast_message) { Int2 status=0; /* return value. */ ASSERT(filter_options); ASSERT(seqloc_retval); *seqloc_retval = NULL; status = SBlastFilterOptionsValidate(program_number, filter_options, blast_message); if (status) return status; if (filter_options->segOptions) { SSegOptions* seg_options = filter_options->segOptions; SegParameters* sparamsp=NULL; sparamsp = SegParametersNewAa(); sparamsp->overlaps = TRUE; if (seg_options->window > 0) sparamsp->window = seg_options->window; if (seg_options->locut > 0.0) sparamsp->locut = seg_options->locut; if (seg_options->hicut > 0.0) sparamsp->hicut = seg_options->hicut; status = SeqBufferSeg(sequence, length, offset, sparamsp, seqloc_retval); SegParametersFree(sparamsp); sparamsp = NULL; } return status; }
CSegMasker::~CSegMasker() { SegParametersFree(m_SegParameters); }