CSegMasker::CSegMasker(int window /* = kSegWindow */, double locut /* = kSegLocut */, double hicut /* = kSegHicut */) : m_SegParameters(SegParametersNewAa()) { if ( !m_SegParameters ) { throw runtime_error("Failed to allocate SegParameters structure"); } m_SegParameters->window = window; m_SegParameters->locut = locut; m_SegParameters->hicut = hicut; }
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; }