830 - MaqIndex::GetWord()

From Genome Analysis Wiki
Jump to navigationJump to search
long long MaqIndex::GetWord(String & sequence, unsigned int position)
{
	long long word = 0;

	if (position + mask.Length() > sequence.Length())
		return -1;

	for (unsigned int i = 0; i < mask.Length(); i++)
		if (mask[i] == '1')
		{
			char base = sequence[position + i];

			if (base < 1 || base > 4) return -1;

			word = word * 4 + base - 1;
		}

	return word;
}

long long MaqIndex::GetReferenceWord(unsigned int position)
{
	return GetWord(reference, position);
}