Пример #1
0
	def test_calch2(self):
		logging.info("Leap test_calch2")		
		related_file = os.path.abspath(os.path.join(self.gold_dir, 'dataset1.related'))
		bed, _ = leapUtils.loadData(self.bedbase, None, self.phen_fn, loadSNPs=False)
		keepArr = leapUtils.loadRelatedFile(bed, related_file)
		
		for i in range(1,11):
			h2_file = os.path.abspath(os.path.join(self.gold_dir, 'dataset1_nochr{0}.h2'.format(i)))
			eigen_file = os.path.abspath(os.path.join(self.tempout_dir, 'dataset1_nochr{}.npz'.format(i)))
			eigen = np.load(eigen_file)
			extractSim = 'dataset1/extracts/nochr{0}_extract.txt'.format(i)
			expected_h2 = np.loadtxt(h2_file, usecols=[0])
			h2 = leapMain.calcH2(self.phen_fn, 0.001, eigen, keepArr=keepArr, h2coeff=1.0)
			assert np.abs(h2-expected_h2)<1e-5, 'Incorrect heritability estimated'
Пример #2
0
	def test_probit(self):
		logging.info("Leap test_probit")		
		related_file = os.path.abspath(os.path.join(self.gold_dir, 'dataset1.related'))
		bed, _ = leapUtils.loadData(self.bedbase, None, self.phen_fn, loadSNPs=False)
		keepArr = leapUtils.loadRelatedFile(bed, related_file)
		
		for i in range(1,11):
			h2_file = os.path.abspath(os.path.join(self.gold_dir, 'dataset1_nochr{0}.h2'.format(i)))
			h2 = np.loadtxt(h2_file, usecols=[0])
			eigen_file = os.path.abspath(os.path.join(self.tempout_dir, 'dataset1_nochr{}.npz'.format(i)))
			eigen = np.load(eigen_file)
			ref_file = os.path.abspath(os.path.join(self.gold_dir, 'dataset1_nochr{}.liabs'.format(i)))
			extractSim = 'dataset1/extracts/nochr{0}_extract.txt'.format(i)
			bed, _ = leapUtils.loadData(self.bedbase, extractSim, self.phen_fn, loadSNPs=True)
			output_file = os.path.abspath(os.path.join(self.tempout_dir, 'dataset1_nochr{}'.format(i)))
			leapMain.probit(bed, self.phen_fn, h2=h2, prev=0.001, eigen=eigen, outFile=output_file, keepArr=keepArr, hess=False)
			self.compare_pheno(ref_file, output_file+'.liabs')
Пример #3
0
    bed, phe = leapUtils.loadData(args.bfilesim,
                                  args.extractSim,
                                  args.pheno,
                                  args.missingPhenotype,
                                  loadSNPs=(args.eigen is None),
                                  standardize=True)

    #Read/create eigendecomposition
    if (args.eigen is not None): eigen = np.load(args.eigen)
    else:
        import eigenDecompose
        eigen = eigenDecompose.eigenDecompose(bed)

    #Compute relatedness
    if (args.relCutoff <= 0): keepArr = np.ones(bed.iid.shape[0], dtype=bool)
    else:
        if (args.related is None):
            bed2 = bed
            if (args.extractSim is not None or args.eigen is not None):
                bed2, _ = leapUtils.loadData(args.bfilesim,
                                             None,
                                             args.pheno,
                                             args.missingPhenotype,
                                             loadSNPs=True)
            keepArr = leapUtils.findRelated(bed2, args.relCutoff)
        else:
            keepArr = leapUtils.loadRelatedFile(bed, args.related)

    leapMain.calcH2(phe, args.prev, eigen, keepArr, args.numRemovePCs,
                    args.h2coeff, args.lowtail == 1)
Пример #4
0
	
	#Read/create eigendecomposition
	if (args.eigen is not None): eigen = np.load(args.eigen)
	else:
		import eigenDecompose
		eigen = eigenDecompose.eigenDecompose(bed)	

	#Compute relatedness
	if (args.relCutoff <= 0): keepArr = np.ones(bed.iid.shape[0], dtype=bool)
	else:		
		if (args.related is None):
			bed2 = bed
			if (args.extractSim is not None or args.eigen is not None): bed2, _ = leapUtils.loadData(args.bfilesim, None, args.pheno, args.missingPhenotype, loadSNPs=True)			
			keepArr = leapUtils.findRelated(bed2, args.relCutoff)
		else:
			keepArr = leapUtils.loadRelatedFile(bed, args.related)	
	
	
	#Add significant SNPs as fixed effects	
	covar = None
	if (args.resfile is not None):	
		bed_fixed, _ = leapUtils.loadData(args.bfile, args.extract, args.pheno, args.missingPhenotype, loadSNPs=True)
		covar = leapUtils.getSNPCovarsMatrix(bed_fixed, args.resfile, args.pthresh, args.mindist)		
		print 'using', covar.shape[1], 'SNPs as covariates'		
	#Read covar file
	if (args.covar is not None):		
		covarsMat = leapUtils.loadCovars(bed, args.covar)			
		print 'Read', covarsMat.shape[1], 'covariates from file'
		if (covar is None): covar = covarsMat
		else: covar = np.concatenate((covar, covarsMat), axis=1)