BWA::BWA(const char* ann_filename, const char* amb_filename, const char* pac_filename, const char* forward_bwt_filename, const char* forward_sa_filename, const char* reverse_bwt_filename, const char* reverse_sa_filename) { // Load the bns (?) and reference bns = bns_restore_core(ann_filename,amb_filename,pac_filename); reference = new ubyte_t[bns->l_pac/4+1]; rewind(bns->fp_pac); fread(reference, 1, bns->l_pac/4+1, bns->fp_pac); fclose(bns->fp_pac); bns->fp_pac = NULL; // Load the BWTs (both directions) and suffix arrays (both directions) bwts[0] = bwt_restore_bwt(forward_bwt_filename); bwt_restore_sa(forward_sa_filename, bwts[0]); bwts[1] = bwt_restore_bwt(reverse_bwt_filename); bwt_restore_sa(reverse_sa_filename, bwts[1]); load_default_options(); // Always reinitialize the random seed whenever a new set of files are loaded. initialize_random_seed(); // initialize the bwase subsystem bwase_initialize(); }
int main(int argc, char *argv[]) { initialize_random_seed(); #if 1 make_castle(); #else do_tests(); #endif return 0; }