From 7bbb1f6e5c87e6a953789c1f3ef49d3ce891e31e Mon Sep 17 00:00:00 2001 From: Bo Li Date: Mon, 24 Sep 2012 02:58:35 -0500 Subject: [PATCH] Fixed a bug to make RSEM generated BAM file valid input for RSEM --- BamWriter.h | 26 -------------------------- README.md | 2 +- 2 files changed, 1 insertion(+), 27 deletions(-) diff --git a/BamWriter.h b/BamWriter.h index bbdd298..8c568f3 100644 --- a/BamWriter.h +++ b/BamWriter.h @@ -173,33 +173,7 @@ void BamWriter::work(HitWrapper wrapper) { } void BamWriter::convert(bam1_t *b, double prb) { - const Transcript& transcript = transcripts.getTranscriptViaEid(b->core.tid + 1); - - int pos = b->core.pos; - int readlen = b->core.l_qseq; - - std::vector data; - data.clear(); - - int core_pos, core_n_cigar; - std::vector vec; - vec.assign(1, Interval(1, transcript.getLength())); - // make an artificial chromosome coordinates for the transcript to get new CIGAR strings - tr2chr(Transcript("", "", "", '+', vec, ""), pos + 1, pos + readlen, core_pos, core_n_cigar, data); - assert(core_pos >= 0); - - int rest_len = b->data_len - b->core.l_qname - b->core.n_cigar * 4; - b->data_len = b->core.l_qname + core_n_cigar * 4 + rest_len; - expand_data_size(b); - uint8_t* pt = b->data + b->core.l_qname; - memmove(pt + core_n_cigar * 4, pt + b->core.n_cigar * 4, rest_len); - for (int i = 0; i < core_n_cigar; i++) { memmove(pt, &data[i], 4); pt += 4; } - - b->core.pos = core_pos; - b->core.n_cigar = core_n_cigar; b->core.qual = getMAPQ(prb); - b->core.bin = bam_reg2bin(b->core.pos, bam_calend(&(b->core), bam1_cigar(b))); - float val = (float)prb; bam_aux_append(b, "ZW", 'f', bam_aux_type2size('f'), (uint8_t*)&val); } diff --git a/README.md b/README.md index 8ce3d38..1e64574 100644 --- a/README.md +++ b/README.md @@ -174,7 +174,7 @@ Here are some guidance for visualizing transcript coordinate files using IGV: 1) Import the transcript sequences as a genome -Select File -> Import Genome, then fill in ID, Name and Fasta file. Fasta file should be 'reference_name.transcripts.fa'. After that, click Save button. Suppose ID is filled as 'reference_name', a file called 'reference_name.genome' will be generated. Next time, we can use: File -> Load Genome, then select 'reference_name.genome'. +Select File -> Import Genome, then fill in ID, Name and Fasta file. Fasta file should be 'reference_name.idx.fa'. After that, click Save button. Suppose ID is filled as 'reference_name', a file called 'reference_name.genome' will be generated. Next time, we can use: File -> Load Genome, then select 'reference_name.genome'. 2) Load visualization files -- 2.39.2