Exemplo n.º 1
0
			~node_t()
			{
				child_iterator_range c_range(children.begin(), children.end());
				for(child_iterator it = c_range.begin(); it != c_range.end(); ++it)
				{
					node_descriptor c = *it;
					delete static_cast< node_t* >(c);
				}
			}
Exemplo n.º 2
0
			// Assumes children is empty
			void copy_children_from(const node_t& rhs)
			{
				child_iterator_range c_range(rhs.children.begin(), rhs.children.end());
				for(child_iterator it = c_range.begin(); it != c_range.end(); ++it)
				{
					node_descriptor c = *it;
					children.push_back(copy_node(c));

					static_cast< node_t* >(children.back())->parent = this;
				}
			}
Exemplo n.º 3
0
void PE_match()
{
	//find all matched paired end reads for every paired end read
	//brute force
	//clustering

	long i, j, overlap_start, overlap_end;
	

	PE_matchset_acknowledge_initialization();

	for (i = 1; i < PE_num; i++)
	{
		//PE_matchset_acknowledge(PE_list_ordered[i], 50, 50, NULL);
		PE_matchset_acknowledge(i, 50, 50, NULL);

		j = i + 1;

		cluster c_range(PE_list[PE_list_ordered[i]]);
		
		while (j <= PE_num && PE_list[PE_list_ordered[j]]->startrange_low <= c_range.end1_range_high)// && PE_list[PE_list_ordered[j]]->endrange_low <= c_range.end2_range_high)
		{
			if (c_range.searchANDmodify(PE_list[PE_list_ordered[j]], &overlap_start, &overlap_end) == true)
			{
				//PE_matchset_acknowledge(PE_list_ordered[j], overlap_start, overlap_end, NULL);
				PE_matchset_acknowledge(j, overlap_start, overlap_end, NULL);
			}
			
			j++;
		}

		PE_matchset_acknowledge(0, 0, 0, &c_range); //end the current set		
	}

	PE_matchset_acknowledge_end();

	return;
}