Open letaylor opened 4 years ago
I am finding an error when I run de.test.lrt. Below is an example based on the tutorials.
import anndata import matplotlib.pyplot as plt import seaborn as sns import logging import numpy as np import pandas as pd import scipy.stats import diffxpy.api as de from batchglm.api.models.tf1.glm_nb import Simulator sim = Simulator(num_observations=200, num_features=100) sim.generate_sample_description(num_batches=0, num_conditions=2) sim.generate_params( rand_fn_loc=lambda shape: np.random.uniform(-0.1, 0.1, shape), rand_fn_scale=lambda shape: np.random.uniform(0.1, 2, shape) ) sim.generate_data() data = anndata.AnnData( X=sim.x, var=pd.DataFrame(index=["gene" + str(i) for i in range(sim.x.shape[1])]), obs=sim.sample_description ) test_lrt = de.test.lrt( data=data, full_formula_loc="1+condition", reduced_formula_loc="1" )
Throws the below error:
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-3-faaa08cbab62> in <module> 2 data=data, 3 full_formula_loc="1+condition", ----> 4 reduced_formula_loc="1" 5 ) /miniconda3/envs/diffx/lib/python3.7/site-packages/diffxpy/testing/tests.py in lrt(data, full_formula_loc, reduced_formula_loc, full_formula_scale, reduced_formula_scale, as_numeric, init_a, init_b, gene_names, sample_description, noise_model, size_factors, batch_size, backend, train_args, training_strategy, quick_scale, dtype, **kwargs) 412 quick_scale=quick_scale, 413 dtype=dtype, --> 414 **kwargs 415 ) 416 full_model = _fit( /miniconda3/envs/diffx/lib/python3.7/site-packages/diffxpy/testing/tests.py in _fit(noise_model, data, design_loc, design_scale, design_loc_names, design_scale_names, constraints_loc, constra ints_scale, init_model, init_a, init_b, gene_names, size_factors, batch_size, backend, training_strategy, quick_scale, train_args, close_session, dtype) 188 chunk_size_genes=chunk_size_genes, 189 as_dask=backend.lower() in ["numpy"], --> 190 cast_dtype=dtype 191 ) 192 /miniconda3/envs/diffx/lib/python3.7/site-packages/batchglm/models/base_glm/input.py in __init__(self, data, design_loc, design_loc_names, design_scale, design_scale_names, constraints_loc, c onstraints_scale, size_factors, observation_names, feature_names, chunk_size_cells, chunk_size_genes, as_dask, cast_dtype) 94 design_loc, design_loc_names = parse_design( 95 design_matrix=design_loc, ---> 96 param_names=design_loc_names 97 ) 98 design_scale, design_scale_names = parse_design( /miniconda3/envs/diffx/lib/python3.7/site-packages/batchglm/models/base_glm/utils.py in parse_design(design_matrix, param_names) 39 params = None 40 else: ---> 41 raise ValueError("type %s not recognized" % type(design_matrix)) 42 43 if param_names is not None: ValueError: type <class 'tuple'> not recognized
Conda environment:
channels: - hanyucui - conda-forge - bioconda - r - defaults dependencies: - pandas=1.0.5 - scipy=1.5.0 - scanpy=1.5.1 - plotnine=0.7.0 - scikit-learn=0.23.1 - joblib=0.15.1 - tensorflow-gpu=1.15.0+db2 - pip - pip: - diffxpy==0.7.4
I am finding an error when I run de.test.lrt. Below is an example based on the tutorials.
Throws the below error:
Conda environment: