; // end of json stream $(document).ready( function() { var table = $("#calls").DataTable( { order: [[ 6, "desc" ]], data: data, columns: [ {data: "id"}, {data: "chrom"}, {data: "pos"}, {data: "genes"}, {data: "ref"}, {data: "alt"}, {data: "worst_consequence"}, {data: "qual"}, % for i in range(len(samples)): {data: "sample_info.${i}.genotype"}, % endfor ], columnDefs: [ { render: function(data, type, row) { return '' + data + ''; }, targets: 2 }, { render: function(data, type, row) { return '+'; }, targets: 0, orderable: false }, { render: function(data, type, row) { var s = ''; for(var i=0; i' + data[i] + ''; if(i < data.length - 1) { s += ', '; } } return s; }, targets: 3 }, ] } ); } ); var read_counts_table = null; function show_details(i) { if(read_counts_table != null) { genotype_details_table.destroy(); read_counts_table.destroy(); } genotype_details_table = $("#genotype-details").DataTable( { data: data[i].sample_info, columns: [ {data: "sample"}, {data: "genotype"}, {data: "depth"}, {data: "ref_depth"}, {data: "alt_depths"}, {data: "strand_bias"} ], bPaginate: false, bFilter: false, bInfo: false } ); read_counts_table = $("#read-counts").DataTable( { data: data[i].sample_info, columns: [ {data: "sample"}, % for k, a in enumerate(alleles): {data: "read_counts.${k}"}, {data: "read_counts.${k + 6}"}, % endfor ], columnDefs: [ { render: function(data, type, row) { if(data == 0) { return ""; } return data; }, targets: [ % for k in range(1, len(alleles) * 2 + 1): ${k}, %endfor ] } ], bPaginate: false, bFilter: false, bInfo: false } ); $("#details").foundation("reveal", "open"); }