int main (int argc, char** argv) { if (argc != 7) usage(argc, argv); string fasta_filename = argv[1]; string masks_filename = argv[2]; string scov_filename = argv[3]; out_file = argv[4]; window_size = atoi(argv[5]); num_bins = atoi(argv[6]); //fprintf(stderr,"Using window_size %d, num_bins %d\n",window_size,num_bins); double bins_lambdas[num_bins]; sequence = read_genome(fasta_filename); //read in fasta file //printf("Read in %d chars from %s\n",sequence_length,fasta_filename); ifstream inf; open_file_binary(inf, scov_filename); scov = new double[sequence.length()]; inf.read((char *) scov, sizeof(double) * sequence.length()); inf.close(); //read in the masks open_file_binary(inf, masks_filename); masks = new char[sequence.length()]; if (masks ==NULL) { fprintf(stderr,"Problem with allocating memory!\n"); exit(1); } inf.read(masks, sequence.length()); inf.close(); build_gc_bins(bins_lambdas); delete[] scov; delete[] masks; return 0; }
int main (int argc, char** argv) { if (argc != 5) usage(argc, argv); string rmap_filename = argv[1]; string scov_filename = argv[2]; string ref_name = argv[3]; uint64_t ref_len = atol(argv[4]); double * sum_normodds = new double[ref_len]; for (int i = 0; i < ref_len; i++) sum_normodds[i] = 0; //Read in rmap file ifstream inf; open_file_binary(inf, rmap_filename); Map_t mapt; while (inf) { inf.read((char*) & mapt, sizeof(mapt)); if (mapt.ref_name == ref_name) { if (mapt.ref_pos > ref_len) { cerr << argv[0] << ": Error, out of range position " << mapt.ref_pos << " on ref " << ref_name << " of size " << ref_len << ".\n"; exit(1); } sum_normodds[mapt.ref_pos - 1] += mapt.normodds; } } inf.close(); //Write out scov file ofstream outf; open_file_binary(outf, scov_filename); outf.write((char*) sum_normodds, ref_len * sizeof(double)); if (outf.bad()) { cerr << argv[0] << ": Error writing scov file " << scov_filename << ".\n"; exit(1); } outf.close(); delete[] sum_normodds; return 0; }