app/views/projects/_medoid_clade.html.erb
<% root_name += "-" unless root_name == "" %>
<% medoids_file = File.expand_path("miga-project.medoids", root) %>
<% classif_file = File.expand_path("../miga-project.classif", root) %>
<% if File.exist? medoids_file %>
<ul class="medoid-tree list-group">
<% File.open(medoids_file, "r") do |f| %>
<% i = 0 %>
<% f.each_line do |ln| %>
<% i += 1 %>
<% sc_name = "#{root_name}#{i}" %>
<% ln.chomp! %>
<li class="list-group-item">
<%= link_to(medoid_clade_url(project.id, metric, sc_name),
:id => "link-#{metric}-#{root_name}#{i}",
:remote => true, :"data-target" => "##{metric}-#{sc_name}",
:"data-url" => medoid_clade_as_url(project.id,
metric, sc_name)) do %>
<i class='glyphicon glyphicon-tree-deciduous'> </i>
<%= metric %> clade <%= sc_name %>
<% end %>
<script>
$('#link-<%= "#{metric}-#{sc_name}" %>').click(function(event) {
var t = $($(this).data("target"));
if(t.data('loaded')){
t.toggle();
}else{
t.html("loading...");
t.load($(this).data('url'));
t.data('loaded', true);
}
event.preventDefault();
event.stopPropagation();
});
</script>
<span class="medoid">
<%= link_to(
"<i class='permalink glyphicon glyphicon-link'> </i>".html_safe,
medoid_clade_url(project.id, metric, "#{root_name}#{i}"),
title: "permalink") %>
medoid: <%= link_to ln.unmiga_name,
reference_dataset_url(project.id, ln) %>
</span>
<div id="<%= "#{metric}-#{root_name}#{i}" %>">
<% if target =~ /^#{root_name}#{i}(-.+)?$/ %>
<script>
$('#<%= "#{metric}-#{root_name}#{i}" %>').data('loaded', true);
</script>
<%= render partial: "medoid_clade",
locals: { project: project, result: result, metric: metric,
target: target, root: "#{root}/miga-project.sc-#{i}",
root_name: "#{root_name}#{i}" } %>
<% end %>
</div>
</li>
<% end %>
<% end %>
</ul>
<% elsif File.exist? classif_file %>
<% lowest_class = root_name.split("-").last %>
<% datasets = [] %>
<% id = [] %>
<% File.open(classif_file, "r") do |f| %>
<% f.each_line do |ln| %>
<% r = ln.chomp.split(/\t/) %>
<% next unless r[1] == lowest_class %>
<% datasets << r[0] %>
<% id << r[3].to_f.round(2).to_s %>
<% end %>
<% end %>
<div class="datasets list-group-item">
<b><%= pluralize(datasets.size, "dataset") %>:</b>
<%= datasets.map do |d| %>
<% link_to(d.unmiga_name, reference_dataset_url(project.id, d)) +
" <span class=medoid>(#{metric}: #{id.shift}%)</span>".html_safe %>
<% end.to_sentence.html_safe %>
</div>
<% end %>