class ReportGff

Public Instance Methods

create(output_file_mode,parent=nil) click to toggle source
# File lib/gene_assembler/report_gff.rb, line 5
def create(output_file_mode,parent=nil) #output_file_mode se pone a 'w' si los contig presentes en el dataset son independientes entre si, x lo q no se especifica el parent. En caso de que  tengamos contigs dependientes, se ha de escribir primero el contig principal especificando el modo 'a'. Luego se escriben los contigs dependientes especificando el modo 'a' y el nombre del parent (que sera el contig principal que se ha escrito antes)

        #Escribir cabecero del gff3
        if parent.nil? && !File.exists?(@path) || !File.exists?(@path)
                @content_file << '##gff-version 3'
        end
        
        #Conversion de datos de dataset a content_file
        gff_contig=GffContig.new
        @dataset.each_contig{|contig|                 
                if contig.has_hit?
                        @content_file << gff_contig.report(contig,contig.name,parent,@name_mode)
                end
        }
        @content_file.flatten!
        
        #Write content_file
        gff=File.open(@path,output_file_mode)
        @content_file.each do |line|
                gff.puts line
        end
        gff.close
        
end