Example #1
0
void Do_Formatdb()
{
	ref.InitialIndex();
	pthread_t pids_ab, pids_ac, pids_ad;
	//cal kmer freq
	pthread_create(&pids_ab, NULL, t_SeedFreq_ab, NULL);
	pthread_create(&pids_ac, NULL, t_SeedFreq_ac, NULL);
	pthread_create(&pids_ad, NULL, t_SeedFreq_ad, NULL);
	pthread_join(pids_ab, NULL);
	pthread_join(pids_ac, NULL);
	pthread_join(pids_ad, NULL);
	ref.AllocIndex();
	//record kmer locations
	pthread_create(&pids_ab, NULL, t_Index_ab, NULL);
	pthread_create(&pids_ac, NULL, t_Index_ac, NULL);
	pthread_create(&pids_ad, NULL, t_Index_ad, NULL);
	pthread_join(pids_ab, NULL);
	pthread_join(pids_ac, NULL);
	pthread_join(pids_ad, NULL);
	//
	ref._blocks.clear();
	cout<<"Create seed table. "<<Cal_AllTime()<<" secs passed"<<endl;	
};