Sha256: a602284a4d58aedd7cdfd4ad5c2bebc27b3bcebe8abbe7b6323734e5e6d01364

Contents?: true

Size: 1.79 KB

Versions: 6

Compression:

Stored size: 1.79 KB

Contents

#Copyright (c) 2014, Carlo B. Bifulco. All rights reserved.


require "csv"
require_relative "analyzer"
require_relative "data_struct"
require_relative "immunoscore_results_loader"
require_relative "../config.rb"



def export_clean_all
  `rm -rf #{EXPORT_DIR}/*`
end

def cd3? file_path
  not (file_path !~ /_CD3_/)
end

def cd8? file_path
  not (file_path !~ /_CD8_/)
end

def export_file case_dir,file_path
  if cd8? file_path
    Dir.mkdir(case_dir+"/CD8")  unless Dir.exist?(case_dir+"/CD8")
    fh=File.new(case_dir+"/CD8/"+File.basename(file_path),"w")
  else
    Dir.mkdir(case_dir+"/CD3")  unless Dir.exist?(case_dir+"/CD3")
    fh=File.new(case_dir+"/CD3/"+File.basename(file_path),"w")
  end

end

# exports novel directory structure with only relevant files
def export_mongo
  # defined in immunoscore_results_loader
  JSON_CLASS_MAPPER.values.each do |mm_class|
    mm_class.all.each do |mm_object|
      puts "#{mm_object}: #{mm_object[:case_n]}"
      next unless mm_object[:case_n] != nil
      case_dir=(EXPORT_DIR+"/"+ mm_object[:case_n]) 
      Dir.mkdir case_dir unless Dir.exist?(case_dir)
      fh=export_file case_dir, mm_object[:path]
      fh.write(mm_object[:data_load])
      fh.close
   
    end
  end
end



def make_html reporting_order=[
                :histogram,
                :original,
                :density,
                :ct_tile,
                :im_tile,
                :statistic,
                :classification]
  all_cases=[]
  ImmunoScoreResults.all.each do |i|
    case_summary=[]
    i.cd.sort.each do |slide_cd|
      reporting_order.each do |feature|
        slide_cd.public_send(feature).sort!{|a,b| a.path<=>b.path}.each do |report|
          #binding.pry
          case_summary<< report[:path]
        end
      end
    end
    all_cases << case_summary
  end
  all_cases
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
immunoscore_results_aggregator-0.1.0 lib/exporter.rb
immunoscore_results_aggregator-0.0.9 lib/exporter.rb
immunoscore_results_aggregator-0.0.8 lib/exporter.rb
immunoscore_results_aggregator-0.0.7 lib/exporter.rb
immunoscore_results_aggregator-0.0.6 lib/exporter.rb
immunoscore_results_aggregator-0.0.3 lib/exporter.rb