gusevfe
2/19/2014 - 3:25 AM

Ruby & IGV

Ruby & IGV

require 'nokogiri'

tracks = []

%w{H3k4me1 H3k4me3 H3k27ac}.each do |mark|
  url = "http://ftp.ebi.ac.uk/pub/databases/ensembl/encode/supplementary/integration_data_jan2011/byDataType/signal/jan2011/bigwig/wgEncodeBroadHistoneGm12878#{mark}StdAln_2Reps.norm5.rawsignal.bw"
  tracks << {path: url, color: "217,95,14", name: mark}
end

builder = Nokogiri::XML::Builder.new do |xml|
  xml.Global(:genome => "hg19", :version => "3") {
    xml.Resources {
      tracks.each do |t|
        xml.Resource(:path => t[:path])
      end
    }
    xml.Panel {
      tracks.each do |t|
        xml.Track(:id => t[:path], :name => t[:name],
                  :color => t[:color])
      end
    }
  }
end

puts builder.to_xml