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