class GffContig
Public Instance Methods
report(contig,seqid,parent,name_mode)
click to toggle source
# File lib/gene_assembler/gff_contig.rb, line 9 def report(contig,seqid,parent,name_mode) features_parent=nil seq=nil # Para especificar la secuencia del contig o del hit #Contig if !parent.nil? #Caso de q cada contig sea una unidad independiente seqid=parent #Se redefine el seqid con el nombre del contig q actua de parent if !contig.seq.nil? #Se especifica secuencia para el contig hijo ya q Gbrowse toma como secuencia aquella perteneciente al parent, por lo q hay especificar la secuencia del contig en el gff seq=contig.seq end end parent_hit=nil contig_text=[] if parent.nil? #Caso de cada contig sea una unidad independiente parent_hit=contig.name text="#{seqid}\tunknown\t#{contig.type}\t1\t#{contig.length}\t.\t+\t.\tID=#{contig.name};Name=#{contig.name}" contig_text << text end #Hit gff_hit=GffHit.new contig.each_hit{|hit| text,features_parent= gff_hit.report(hit, parent_hit, seqid, contig.name, name_mode, seq) #En caso de que un contig dependa de otro, features_parent proporcio contig_text << text } #Frameshift gff_frameshift=GffFrameshift.new contig.each_q_frameshift{|fs| contig_text << gff_frameshift.report(fs,features_parent,seqid) } #Stop gff_stop=GffStop.new contig.each_stop{|stop| contig_text << gff_stop.report(stop,features_parent,seqid) } #SNP gff_snp=GffSNP.new contig.each_snp_with_index{|snp,n| contig_text << gff_snp.report(snp, features_parent, seqid,n) } #GO gff_go=GffGo.new contig.each_go{|go| contig_text << gff_go.report(go, features_parent, seqid) } #Localization gff_localization=Localization.new contig.each_localization_with_index{|localization,n| contig_text << gff_localization.report(localization,features_parent, seqid, contig, n) } return contig_text end