19
#TODO: Add validity constraints
20
setValidity("CuffGene",function(object){
21
objLen = length(object)
23
write("No gene set returned (Gene might not be in database?)",stderr())
27
write("Warning: Possibly more than one gene returned",stderr())
24
36
setMethod("show","CuffGene",function(object){
25
37
cat(class(object),"instance for gene",object@id,"\nShort name:\t",unique(object@annotation$gene_short_name),
26
"\nSlots:\n\t annotation\n\t fpkm\n\t diff\n\t",
38
"\nSlots:\n\t annotation\n\t features\n\t fpkm\n\t repFpkm\n\t diff\n\t count\n\t",
27
39
"isoforms\t",class(object@isoforms),"instance of size",length(object@isoforms),"\n\t",
28
40
"TSS\t\t",class(object@TSS),"instance of size",length(object@TSS),"\n\t",
29
41
"CDS\t\t",class(object@CDS),"instance of size",length(object@CDS),"\n"
65
83
return(object@relCDS)
87
setMethod("features","CuffGene",function(object){
88
return(object@features)
b'\\ No newline at end of file'
94
.makeGeneRegionTrack<-function(object){
95
featCols<-c('seqnames','start','end','source','gene_id','exon_number','isoform_id','isoform_id','exon_number','strand')
96
feats<-features(object)[,featCols]
97
newColnames<-c('seqnames','start','end','feature','gene','exon','transcript','symbol','rank','strand')
98
mychr<-unique(feats$seqnames)
99
colnames(feats)<-newColnames
102
feats$symbol[is.na(feats$symbol)]<-"NA"
103
#THIS NEEDS TO BE MADE GENERIC
104
genetrack<-GeneRegionTrack(feats,genome=object@genome,chromosome=mychr,name='CuffDiff',showId=T,stacking="pack")
108
setMethod("makeGeneRegionTrack",signature(object="CuffGene"),.makeGeneRegionTrack)
110
.plot<-function(object){
112
myStart<-min(object@features$start)
113
myEnd<-max(object@features$end)
114
#Make the following conditional on network connectivity
115
ideoTrack <- IdeogramTrack(genome = object@genome, chromosome = unique(object@features$seqnames))
116
trackList<-c(trackList,ideoTrack)
118
axtrack<-GenomeAxisTrack()
119
trackList<-c(trackList,axtrack)
121
genetrack<-.makeGeneRegionTrack(object)
123
trackList<-c(trackList,genetrack)
125
biomTrack<-BiomartGeneRegionTrack(genome=object@genome,chromosome=as.character(unique(object@features$seqnames)),start=myStart,end=myEnd,name="ENSEMBL",showId=T)
126
trackList<-c(trackList,biomTrack)
129
plotTracks(trackList,from=myStart-2000,to=myEnd+2000)
132
setMethod("genePlot",signature(object="CuffGene"),.plot)
138
.asGRanges<-function(object){
139
#featCols<-c('seqnames','start','end','source','gene_id','exon_number','isoform_id','isoform_id','exon_number','strand')
140
feats<-object@features
141
#newColnames<-c('seqnames','start','end','feature','gene','exon','transcript','symbol','rank','strand')
142
colnames(feats)[colnames(feats)=='isoform_id']<-'transcript'
143
colnames(feats)[colnames(feats)=='gene_id']<-'gene'
144
colnames(feats)[colnames(feats)=='exon_number']<-'exon'
145
colnames(feats)[colnames(feats)=='source']<-'feature'
146
feats$symbol<-feats$transcript
147
corCols<-c('seqnames','start','end','strand')
148
myGR<-GRanges(Rle(feats$seqnames),ranges=IRanges(feats$start,end=feats$end),strand=Rle(feats$strand),elementMetadata=feats[,!colnames(feats) %in% corCols])
b'\\ No newline at end of file'