Difference between revisions of "830 - MaqIndex::GetWord()"

From Genome Analysis Wiki
Jump to navigationJump to search
(Created page with "<source lang="cpp"> long long MaqIndex::GetWord(String & sequence, unsigned int position) { long long word = 0; if (position + mask.Length() > sequence.Length()) return -...")
 
(No difference)

Latest revision as of 13:39, 28 October 2013

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);
}