theislab / diffxpy

Differential expression analysis for single-cell RNA-seq data.
https://diffxpy.rtfd.io
BSD 3-Clause "New" or "Revised" License
191 stars 23 forks source link

de.fit.model raises ValueError: too many values to unpack (expected 2) #182

Closed ilibarra closed 3 years ago

ilibarra commented 3 years ago

Hi,

While running de.wald.test I get output when using some datasets. I am interested in extracting the fitted mean/dispersions without DE-testing, so I think de.fit.model is appropriate. I get an running error when calling the same function.

This runs

test= de.test.wald(
    data=adata,
    formula_loc="~ 1 + cell_class",
    factor_loc_totest="cell_class",
    noise_model="nb",
)

This fails

de.fit.model(data=adata,
             formula_loc="~ 1 + cell_class",
             noise_model="nb")
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-74-8e93fa734973> in <module>
      1 de.fit.model(data=ad,
      2              formula_loc="~ 1 + cell_ontology_class",
----> 3              noise_model="nb")

~/miniconda3/envs/mypython3/lib/python3.7/site-packages/diffxpy/fit/fit.py in model(data, formula_loc, formula_scale, as_numeric, init_a, init_b, gene_names, sample_description, dmat_loc, dmat_scale, constraints_loc, constraints_scale, noise_model, size_factors, batch_size, training_strategy, quick_scale, dtype, **kwargs)
    196         as_numeric=as_numeric,
    197         constraints=constraints_loc,
--> 198         return_type="patsy"
    199     )
    200     design_scale, constraints_scale = constraint_system_from_star(

ValueError: too many values to unpack (expected 2)

Any clue on that error? If there's a tutorial case available I can debug against it.

Thanks,

davidsebfischer commented 3 years ago

Fixed on dev now!