selected_sites = {
let s = _.map (
_.filter (
_.map (annotation_json,
(v,k)=>[k,v]),
(s)=>s[1].bMEME.p<=0.05),
(d)=>{return {'coordinate' : +d[0],
'p' : d[1].bMEME.p,
'meme_branches' : d[1].bMEME["br"],
'gene': MapGene(+d[0]),
'site' : d[1].S,
'fel_p' : d[1].bFEL.p,
'fel_n' : d[1].bFEL.b < d[1].bFEL.a,
'prime' : (j) => {if (d[1].prime.p != undefined) {
_.map(
_.filter (
_.map (d[1].prime.p,
(p,i)=>[i,p,i>0 ? d[1].prime['lambda'][i-1] : null]),
(pr)=>pr[1]<0.05),
(d)=>{if (d[0]>0) d[0] = prime_annotation [d[0]-1];
else
d [0] = "Overall";
return d;
})
}}
};
});
s = _.sortBy (s, (d)=>d.p);
let tests = summary_json[segment_id].map.length;
_.each (s, (d,i)=> {
d.q = Math.min (1,d.p * (tests/(i+1)));
});
return _.sortBy (s, (d)=>d.site);
}