Beispiel #1
0
def test_mdmr_with_connectir_distances():
    """uses the distances from output of connectir to specifically test the mdmr portion of things"""
    import os

    os.chdir("../C-PAC")

    from CPAC.cwas.mdmr import mdmr
    import numpy as np
    from os import path as op
    import rpy2.robjects as robjects
    from rpy2.robjects.numpy2ri import numpy2ri
    from rpy2.robjects.packages import importr

    robjects.conversion.py2ri = numpy2ri
    from pandas import read_csv

    bigmemory = importr("bigmemory")
    base = importr("base")

    sdir = "/home/data/Projects/CPAC_Regression_Test/2013-05-30_cwas/results_adhd04.r"
    sfile = op.join(sdir, "subdist.desc")
    dmats = np.array(robjects.r("as.matrix(attach.big.matrix('%s'))" % sfile))
    n = np.sqrt(dmats.shape[0])

    rfile = "/home2/data/Projects/CPAC_Regression_Test/2013-05-30_cwas/configs/adhd04_regressors.txt"
    regressors = np.loadtxt(rfile)

    ps, Fs, _, _ = mdmr(dmats[:, :10], regressors, [1], 1000)
def mdmr_for_rois(rois,
                  func_list,
                  mask_inds,
                  regressors,
                  cols_of_interest,
                  nperms=14999):
    print "Computing Distances"
    Ds = distances_for_rois(rois, func_list, mask_inds)

    print "Computing MDMR"
    p_set, F_set, F_perms, _ = mdmr(Ds, regressors, cols_of_interest, nperms)

    return (p_set, F_set, F_perms)
Beispiel #3
0
def calc_mdmrs(D, regressor, cols, permutations):
    from CPAC.cwas.mdmr import mdmr

    voxels = D.shape[0]
    subjects = D.shape[1]

    F_set = np.zeros(voxels)
    p_set = np.zeros(voxels)

    cols = np.array(cols, dtype=np.int32)

    for i in range(voxels):
        F_set[i], p_set[i] = mdmr(D[i].reshape(subjects**2, 1), regressor,
                                  cols, permutations)

    return F_set, p_set
Beispiel #4
0
def calc_mdmrs(D, regressor, cols, permutations):
    cols = np.array(cols, dtype=np.int32)
    F_set, p_set = mdmr(D, regressor, cols, permutations)
    return F_set, p_set
Beispiel #5
0
import numpy as np
from CPAC.cwas.mdmr import mdmr

# Basics
nsubjs = 68
nperms = 5000

pvals  = np.zeros((2,3))
fstats = np.zeros((2,3))

cpaste

for i in range(2):
	#  Loadup model python starts at 0, so column 2 should be indicated using 1
	model = np.loadtxt("/home/data/Projects/workingMemory/gRAICARAnalysis/modelTest.txt")
	for ji,j in enumerate([1,2,3]):

		cols = [j]
		# Setup Distance Matrix
		dmat = np.loadtxt("/home/data/Projects/workingMemory/gRAICARAnalysis/testDistMatrix%i.txt" % (i+1))

		nsubjs = dmat.shape[0]

		# Compute MDMR
		# Since there is only one distance matrix: pvals and fstats should be length 1
		pvals[i,ji], fstats[i,ji], _, _ = mdmr(dmat.reshape(nsubjs**2,1), model, cols, nperms)
--
np.savetxt('/home/data/Projects/workingMemory/gRAICARAnalysis/pvals.txt', pvals, fmt='%f')


Beispiel #6
0
nsubs       = len(funcs)
ntpts       = funcs[0].shape[0]
nparcels    = funcs[0].shape[1]

# Everything should get the same permutations
nperms      = 4999
perms       = gen_perms(nperms, nsubs, strata)



# Compute distances
# Compute MDMR
# mdmr here runs in 6 seconds
## convert to z-scores
D           = calc_subdists(funcs, [0,nparcels])
ps, Fs, _,_ = mdmr(D.reshape(nparcels, nsubs**2).T, dmat, cols, perms, strata)
zs          = scipy.stats.norm.isf(ps)

save_rois_image(zs, rois, mask, mask_file, op.join(odir, "10_mdmr_standard.nii.gz"))

our_zs = rois2voxels(zs, rois)
ref_zs = nb.load("/home2/data/Projects/CWAS/ldopa/cwas/rois_random_k0800_only/ldopa_subjects+meanFD.mdmr/cluster_correct_v05_c05/easythresh/zstat_conditions.nii.gz").get_data()[mask_inds]



###
# Positive Values (0.79)
###

D           = calc_subdists_enhanced(funcs, [0,nparcels], compute_distances_pos)
ps, Fs, _,_ = mdmr(D.reshape(nparcels, nsubs**2).T, dmat, cols, perms, strata)
Beispiel #7
0
func_list = read_table(list_file, header=None).ix[:, 0].tolist()
funcs = load_subjects(func_list)
nsubs = len(funcs)
ntpts = funcs[0].shape[0]
nparcels = funcs[0].shape[1]

# Everything should get the same permutations
nperms = 4999
perms = gen_perms(nperms, nsubs, strata)

# Compute distances
# Compute MDMR
# mdmr here runs in 6 seconds
## convert to z-scores
D = calc_subdists(funcs, [0, nparcels])
ps, Fs, _, _ = mdmr(D.reshape(nparcels, nsubs**2).T, dmat, cols, perms, strata)
zs = scipy.stats.norm.isf(ps)

save_rois_image(zs, rois, mask, mask_file,
                op.join(odir, "10_mdmr_standard.nii.gz"))

our_zs = rois2voxels(zs, rois)
ref_zs = nb.load(
    "/home2/data/Projects/CWAS/ldopa/cwas/rois_random_k0800_only/ldopa_subjects+meanFD.mdmr/cluster_correct_v05_c05/easythresh/zstat_conditions.nii.gz"
).get_data()[mask_inds]

###
# Positive Values (0.79)
###

D = calc_subdists_enhanced(funcs, [0, nparcels], compute_distances_pos)