ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/gclib/gclib/gff.h
(Generate patch)
# Line 975 | Line 975
975  
976   };
977  
978 < class GfoHolder {
979 < public:
978 > struct GfoHolder {
979     int idx; //position in GffReader::gflst array
980 <   GffObj* gffobj;
980 >   GffObj* gffobj;
981     GfoHolder(GffObj* gfo=NULL, int i=0) {
982       idx=i;
983       gffobj=gfo;
# Line 1018 | Line 1017
1017    bool transcriptsOnly; //keep only transcripts w/ their exon/CDS features
1018    GHash<int> discarded_ids; //for transcriptsOnly mode, keep track
1019                              // of discarded parent IDs
1020 <  GHash<GfoHolder> phash; //transcript_id+contig (Parent~Contig) => [gflst index, GffObj]
1020 >  GHash< GVec<GfoHolder> > phash; //transcript_id+contig (Parent~Contig) => [gflst index, GffObj]
1021    GHash<int> tids; //transcript_id uniqueness
1022    char* gfoBuildId(const char* id, const char* ctg);
1023 <  void gfoRemove(const char* id, const char* ctg);
1024 <  GfoHolder* gfoAdd(const char* id, const char* ctg, GffObj* gfo, int idx);
1025 <  GfoHolder* gfoFind(const char* id, const char* ctg);
1023 >  //void gfoRemove(const char* id, const char* ctg);
1024 >  GfoHolder* gfoAdd(GffObj* gfo, int idx);
1025 >  GfoHolder* gfoAdd(GVec<GfoHolder>& glst, GffObj* gfo, int idx);
1026 >  GfoHolder* gfoFind(const char* id, const char* ctg=NULL, char strand=0, uint start=0,
1027 >                                                             GVec<GfoHolder>** glst = NULL);
1028    CNonExon* subfPoolCheck(GffLine* gffline, GHash<CNonExon>& pex, char*& subp_name);
1029    void subfPoolAdd(GHash<CNonExon>& pex, GfoHolder* newgfo);
1030    GfoHolder* promoteFeature(CNonExon* subp, char*& subp_name, GHash<CNonExon>& pex,
# Line 1031 | Line 1032
1032   public:
1033    GfList gflst; //accumulate GffObjs being read
1034    GfoHolder* newGffRec(GffLine* gffline, bool keepAttr, bool noExonAttr,
1035 <                               GffObj* parent=NULL, GffExon* pexon=NULL);
1035 >                               GffObj* parent=NULL, GffExon* pexon=NULL, GVec<GfoHolder>* glst=NULL);
1036    GfoHolder* replaceGffRec(GffLine* gffline, bool keepAttr, bool noExonAttr, int replaceidx);
1037    GfoHolder* updateGffRec(GfoHolder* prevgfo, GffLine* gffline,
1038                                           bool keepAttr);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines