46 Uint1 arg_window_size,
47 Uint4 arg_window_step,
52 arg_window_size, arg_window_step, arg_unit_step ),
73 for( ; ++
end <
data.size() && iter < step ; ++iter )
87 if( ++last_unit == num_units ) last_unit = 0;
89 units[last_unit] = unit;
95 if( iter != step )
state =
false;
109 ++iter, ++
end, --ambig_pos )
bool ambig
Ambiguity status of the window.
CSeqMaskerWindowAmbig(const objects::CSeqVector &arg_data, Uint1 arg_unit_size, Uint1 arg_window_size, Uint4 window_step, TUnit arg_ambig_unit, Uint4 window_start=0, Uint1 arg_unit_step=1)
Object constructor.
void FillWindow(Uint4 winstart)
Computes the units starting at specified position.
TUnit ambig_unit
Value to use for units containing ambiguity characters.
virtual void Advance(Uint4 step)
Advance the window by a specified number of characters.
Sliding window skipping over the ambiguities.
Uint1 window_size
The window size.
static Uint1 LOOKUP[]
Table used to translate bases from iupacna to ncbi2na format.
TUnits units
The array of units.
TUnits::size_type first_unit
The position in the array of units of the first unit of the current window.
Uint1 unit_step
The distance between consequtive units within a window.
Uint4 start
The start of the current window.
Uint1 NumUnits() const
Get the number of units in a window.
Uint4 TUnit
Integer type used to represent units within a window.
const objects::CSeqVector & data
The sequence data in iupacna format.
Uint1 unit_size
The unit size.
Uint4 end
The end if the current window.
TUnit unit_mask
The mask to use when accessing the integer value of a unit.
uint8_t Uint1
1-byte (8-bit) unsigned integer
int32_t Int4
4-byte (32-bit) signed integer
uint32_t Uint4
4-byte (32-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static Uint4 letter(char c)
static bool ambig(char c)