davidliwei / mageck

Experimental source code for MAGeCK (Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout)
Other
17 stars 9 forks source link

Error: mageck mle; how to solve this problem? #5

Open geng-lee opened 3 years ago

geng-lee commented 3 years ago

Error: mageck mle; how to solve this problem?

mageck mle --count-table BatchCorrect.txt \ --design-matrix designmatrix.txt \ --norm-method control \ --control-sgrna ctrl_sgrna_list.txt \ --output-prefix braf.mle

INFO @ Sat, 29 May 2021 20:11:57: Parameters: /backup/home/anaconda3/envs/MAGeCK/bin/mageck mle --count-table BatchCorrect.txt --design-matrix designmatrix.txt --norm-method control --control-sgrna ctrl_sgrna_list.txt --output-prefix braf.mle INFO @ Sat, 29 May 2021 20:11:58: Cannot parse design matrix as a string; try to parse it as a file name ... INFO @ Sat, 29 May 2021 20:11:58: Design matrix: INFO @ Sat, 29 May 2021 20:11:58: [[1. 1. 0. 0.] INFO @ Sat, 29 May 2021 20:11:58: [1. 1. 0. 0.] INFO @ Sat, 29 May 2021 20:11:58: [1. 0. 1. 0.] INFO @ Sat, 29 May 2021 20:11:58: [1. 0. 1. 0.] INFO @ Sat, 29 May 2021 20:11:58: [1. 0. 0. 1.] INFO @ Sat, 29 May 2021 20:11:58: [1. 0. 0. 1.]] INFO @ Sat, 29 May 2021 20:11:58: Beta labels:baseline,Day4,Day10,Day18 INFO @ Sat, 29 May 2021 20:11:58: Included samples:sample1_1,sample2_1,sample1_2,sample2_2,sample1_3,sample2_3 INFO @ Sat, 29 May 2021 20:11:58: Loaded samples:sample1_1;sample2_1;sample1_2;sample2_2;sample1_3;sample2_3 INFO @ Sat, 29 May 2021 20:11:58: Sample index: 0;3;1;4;2;5 INFO @ Sat, 29 May 2021 20:11:58: Loaded 7637 genes. INFO @ Sat, 29 May 2021 20:11:58: 200 out of 200 control sgRNAs are found in count table. INFO @ Sat, 29 May 2021 20:11:58: Loaded 200 control sgRNAs from ctrl_sgrna_list.txt INFO @ Sat, 29 May 2021 20:11:58: control sgRNAs for normalization:200 INFO @ Sat, 29 May 2021 20:11:58: Final size factor: 0.7418480620804788 0.9801916242140984 1.22032074908657 1.3618267986174515 1.0019762721094752 0.7725871057326363 INFO @ Sat, 29 May 2021 20:11:58: size factor: 1.3479849191700333,1.020208676851104,0.8194566885374328,0.7343077702797567,0.9980276258385695,1.2943524329877476 INFO @ Sat, 29 May 2021 20:11:58: Thread 0 started. INFO @ Sat, 29 May 2021 20:11:58: Thread 0: total 1 instances. /backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/numpy/matrixlib/defmatrix.py:445: RuntimeWarning: Mean of empty slice. return N.ndarray.mean(self, axis, dtype, out, keepdims=True)._collapse(axis) /backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/numpy/core/_methods.py:180: RuntimeWarning: invalid value encountered in true_divide ret = um.true_divide( Process Thread 0: Traceback (most recent call last): File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap self.run() File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/multiprocessing/process.py", line 108, in run self._target(self._args, self._kwargs) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/mlemultiprocessing.py", line 38, in thread_p_func iteratenbem(tginst,iteratenbemargs) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/mleem.py", line 533, in iteratenbem retlist=em_whileloop(sk,beta_init_mat,size_vec,wfrac_list,alpha_dispersion,alpha_val,estimateeff,updateeff,removeoutliers,debug) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/mleem.py", line 265, in em_whileloop xwx_inv=linalg.inv(xwx_mat) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/scipy/linalg/basic.py", line 934, in inv a1 = _asarray_validated(a, check_finite=check_finite) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/scipy/_lib/_util.py", line 262, in _asarray_validated a = toarray(a) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/numpy/lib/function_base.py", line 488, in asarray_chkfinite raise ValueError( ValueError: array must not contain infs or NaNs INFO @ Sat, 29 May 2021 20:11:58: Thread 0 completed. INFO @ Sat, 29 May 2021 20:11:58: All threads completed. INFO @ Sat, 29 May 2021 20:11:58: Modeling the mean and variance ... INFO @ Sat, 29 May 2021 20:11:58: Run the algorithm for the second time ... INFO @ Sat, 29 May 2021 20:11:58: Thread 0 started. INFO @ Sat, 29 May 2021 20:11:58: Thread 0: total 7637 instances. /backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/numpy/matrixlib/defmatrix.py:445: RuntimeWarning: Mean of empty slice. return N.ndarray.mean(self, axis, dtype, out, keepdims=True)._collapse(axis) /backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/numpy/core/_methods.py:180: RuntimeWarning: invalid value encountered in true_divide ret = um.true_divide( Process Thread 0: Traceback (most recent call last): File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap self.run() File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/multiprocessing/process.py", line 108, in run self._target(self._args, self._kwargs) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/mlemultiprocessing.py", line 38, in thread_p_func iteratenbem(tginst,iteratenbemargs) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/mleem.py", line 533, in iteratenbem retlist=em_whileloop(sk,beta_init_mat,size_vec,wfrac_list,alpha_dispersion,alpha_val,estimateeff,updateeff,removeoutliers,debug) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/mleem.py", line 265, in em_whileloop xwx_inv=linalg.inv(xwx_mat) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/scipy/linalg/basic.py", line 934, in inv a1 = _asarray_validated(a, check_finite=check_finite) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/scipy/_lib/_util.py", line 262, in _asarray_validated a = toarray(a) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/numpy/lib/function_base.py", line 488, in asarray_chkfinite raise ValueError( ValueError: array must not contain infs or NaNs INFO @ Sat, 29 May 2021 20:11:58: Thread 0 completed. INFO @ Sat, 29 May 2021 20:11:58: All threads completed. INFO @ Sat, 29 May 2021 20:11:58: Using 200 genes and 200 sgRNAs as negative controls for permutation... INFO @ Sat, 29 May 2021 20:11:58: Permuting groups of gene with 1 sgRNAs per gene. Group progress: 1/1 INFO @ Sat, 29 May 2021 20:11:58: Start permuting 2 rounds ... INFO @ Sat, 29 May 2021 20:11:58: Collecting 200 sgRNAs from 200 genes. INFO @ Sat, 29 May 2021 20:11:58: Permuting round 0 ... INFO @ Sat, 29 May 2021 20:11:58: Thread 0 started. INFO @ Sat, 29 May 2021 20:11:58: Thread 0: total 7637 instances. /backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/numpy/matrixlib/defmatrix.py:445: RuntimeWarning: Mean of empty slice. return N.ndarray.mean(self, axis, dtype, out, keepdims=True)._collapse(axis) /backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/numpy/core/_methods.py:180: RuntimeWarning: invalid value encountered in true_divide ret = um.true_divide( Process Thread 0: Traceback (most recent call last): File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap self.run() File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/multiprocessing/process.py", line 108, in run self._target(*self._args, self._kwargs) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/mlemultiprocessing.py", line 38, in thread_p_func iteratenbem(tginst,iteratenbemargs) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/mleem.py", line 533, in iteratenbem retlist=em_whileloop(sk,beta_init_mat,size_vec,wfrac_list,alpha_dispersion,alpha_val,estimateeff,updateeff,removeoutliers,debug) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/mleem.py", line 265, in em_whileloop xwx_inv=linalg.inv(xwx_mat) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/scipy/linalg/basic.py", line 934, in inv a1 = _asarray_validated(a, check_finite=check_finite) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/scipy/_lib/_util.py", line 262, in _asarray_validated a = toarray(a) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/numpy/lib/function_base.py", line 488, in asarray_chkfinite raise ValueError( ValueError: array must not contain infs or NaNs INFO @ Sat, 29 May 2021 20:11:59: Thread 0 completed. INFO @ Sat, 29 May 2021 20:11:59: All threads completed. Traceback (most recent call last): File "/backup/home/anaconda3/envs/MAGeCK/bin/mageck", line 66, in main(); File "/backup/home/anaconda3/envs/MAGeCK/bin/mageck", line 43, in main args=crisprseq_parseargs(); File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/argsParser.py", line 258, in crisprseq_parseargs mageckmle_main(parsedargs=args); # ignoring the script path, and the sub command File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/mlemageck.py", line 218, in mageckmle_main iteratenbem_permutation_by_nsg(allgenedict,args,size_f=size_f) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/mlemultiprocessing.py", line 278, in iteratenbem_permutation_by_nsg last_permuted_beta=iteratenbem_permutation(this_genedict,args,sg_per_gene=ngene,background_genedict=bg_genedict,nround=args.permutation_round,allgenedict=genedict,removeoutliers=args.remove_outliers,size_factor=size_f) File "/backup/home/anaconda3/envs/MAGeCK/lib/python3.8/site-packages/mageck/mlemultiprocessing.py", line 199, in iteratenbem_permutation betazeros[betaz_id,:]=beta_es ValueError: could not broadcast input array from shape (0,) into shape (3,)

Nunzia7 commented 9 months ago

Hi! Did you find a solution? I'm having the same problem

imev2023 commented 2 months ago

Hi, for me the solution was changing the first row of the design matrix to include a 1 for baseline and 0 for all other conditions, this should be the baseline sample. If you only have treatment vs control Mageck RRA is the algorithm you'd want to run.

Design matrix for eight samples:

Samples baseline Pos Neg 1BASE 1 0 0 2POS 1 1 0 3POS 1 1 0 4POS 1 1 0 5NEG 1 0 1 6NEG 1 0 1 7NEG 1 0 1 8NEG 1 0 1

Source: "https://sourceforge.net/p/mageck/wiki/demo/#the-first-tutorial-starting-from-read-count-tables."

AASTHAPAL9 commented 1 week ago

Hi,

I am having the same error. How did you fix it?

Sample baseline EGF KCNM PTPRZ POST-EGF-O 1 1 0 0 POST-KCNM-O 1 0 1 0 POST-PTPRZ-O 1 0 0 1

This is how my design matrix look like.

Any suggestions?

Thank you so much!

davidliwei commented 1 week ago

Hi, for the design matrix, you need to have at least one sample that is "baseline" only; in other words, this sample should have only "1" for "baseline" and "0" for other columns. Otherwise, the program will report an error.