ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/gclib/gclib/gff.cpp
(Generate patch)
# Line 406 | Line 406
406   int GffObj::addExon(GffReader* reader, GffLine* gl, bool keepAttr, bool noExonAttr) {
407    //this will make sure we have the right subftype_id!
408    int subf_id=-1;
409 <  //if (ftype_id==gff_fid_mRNA) { //for mRNAs only parse known subfeatures!
409 >  if (!isTranscript() && gl->is_cds && monoFeature()) {
410 >          isTranscript(true);
411 >          exon_ftype_id=gff_fid_exon;
412 >          if (exons.Count()==1) exons[0]->exontype=exgffExon;
413 >          }
414    if (isTranscript()) {
415       if (exon_ftype_id<0) {//exon_ftype_id=gff_fid_exon;
416            if (gl->exontype>0) exon_ftype_id=gff_fid_exon;
# Line 427 | Line 431
431         exon_ftype_id=subf_id;
432       else {
433         if (exon_ftype_id!=subf_id) {
434 <         //if (subftype_id==ftype_id && exons.Count()==1 && exons[0]->start==start && exons[0]->end==end) {
434 >         //
435           if (exon_ftype_id==ftype_id && exons.Count()==1 && exons[0]->start==start && exons[0]->end==end) {
436              //the existing exon was just a dummy one created by default, discard it
437              exons.Clear();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines