Camoco
Camoco copied to clipboard
GWAS GO-Simulations non constant candidates
As FCR increases, there are random genes within the GO term that are not within the COB that get replaced with genes that ARE in the COB which results in an increase in candidate genes list as FCR goes up.
offending code in SimulateGWAS.py
:
if num_genes == 0:
continue
eloci = term.effective_loci(
window_size=window_size
)
if args.percent_fcr != None and args.percent_fcr > 0:
# replace some loci with random genes if FDR specified
num_fcr = int(len(eloci) * args.percent_fcr)
fcr_loci = cob.refgen.random_genes(num_fcr,window=window_size)
# permute and truncate the loci then add fcr loci
fcr_loci = np.concatenate([
np.random.permutation(eloci)[0:-1*len(fcr_loci)],
np.array(list(fcr_loci))
])
assert len(fcr_loci) == len(eloci)
eloci = fcr_loci
candidates = cob.refgen.candidate_genes(
eloci,
flank_limit=flank_limit
)
TODO: fix and write a regression test