ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/gclib/tophat_cpp/bam_merge.cpp
(Generate patch)
# Line 34 | Line 34
34     CBamLine(int fno=-1, bam1_t* br=NULL) {
35       fileno=fno;
36       read_id=0;
37 <         b=br;
37 >     b=br;
38       b_init();
39       }
40      void b_init() {
# Line 82 | Line 82
82         bam1_t *b = bam_init1();
83         if (samread(fp, b) > 0) {
84            srcfiles[fno]=fp;
85 <          lines.Add(new CBamLine(fno, b));
85 >          lines.Add(new CBamLine(fno, b));
86            }
87         }
88      if (lines.Count()==0) {
# Line 98 | Line 98
98                    err_die("Invalid call with uninitialized value.");
99        bamwriter.write(from->b, from->read_id);
100        if (samread(srcfiles[from->fileno], from->b)>0) {
101 <           from->b_init();
102 <           //adjust the position in the sorted list
103 <           if (last<7) {//for a few lines this may be faster
101 >           from->b_init();
102 >                //adjust the position in the sorted list
103 >                if (last<7) {//for a few lines this may be faster
104                     int i=last;
105                     while (i>0 && lines[i-1]->read_id<lines[i]->read_id) {
106                             //swap
# Line 110 | Line 110
110                             i--;
111                             }
112                            }
113 <              else { //use quick-insert for more lines
114 <                lines.Pop();
115 <                lines.Add(from);
116 <              }
113 >                 else { //use quick-insert for more lines
114 >                    lines.Pop();
115 >                    lines.Add(from);
116 >                  }
117             }
118          else { //no more BAM records
119 <           lines.Pop();
119 >           lines.Pop();
120             from->b_free();
121             }
122         }
123      for (int i=0;i<num_src;i++)
124          samclose(srcfiles[i]);
125      GFREE(srcfiles);
126
126      return 0;
127   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines