This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Will many zero values of relative frequency cause LEFSe error?

Hello, I need to run LEFSe after Qiime2 pipeline.
First I do follow steps to export relative frequency data and convert file format.
Get genus(level 6 of silver) ralativate frequency and convert file format.

# extract level 6 data
qiime taxa collapse \
--i-table table-dada2.qza \
--i-taxonomy taxonomy/taxonomy.qza \
--p-level 6 \
--o-collapsed-table table-level6.qza

# get relative frequency data
qiime feature-table relative-frequency \
--i-table table-level6.qza \
--o-relative-frequency-table frequency-table-level6.qza \
--output-dir aollapse.ferquency/

# export data
qiime tools export \
--input-path frequency-table-level6.qza \
--output-path aollapse.ferquency/

# convert to tsv
biom convert \
-i aollapse.ferquency/feature-table.biom \
-o LEfSe/frequency-table.txt \
--header-key "taxonomy" \
--to-tsv

# Last, modify frequency-table.txt by adding 2 rows of class and sub class.

Then, run LEFSe pipeline.

# convert file format
format_input.py frequency-table.txt frequency-table.in -c 1 -s 2 -u 3

# run analysis
run_lefse.py frequency-table.in frequency-table.res

Here rise an error, message:

Traceback (most recent call last):
  File "/home/linuxbrew/.linuxbrew/Cellar/lefse/1.0.0-dev-e3cabe9/libexec/bin/run_lefse.py", line 89, in 
<module>
    if params['rank_tec'] == 'lda': lda_res,lda_res_th = 
...
...
  File "/home/linuxbrew/.linuxbrew/Cellar/lefse/1.0.0-dev-e3cabe9/libexec/lib/python2.7/site- 
packages/rpy2/robjects/functions.py", line 178, in __call__
     return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
   File "/home/linuxbrew/.linuxbrew/Cellar/lefse/1.0.0-dev-e3cabe9/libexec/lib/python2.7/site- 
packages/rpy2/robjects/functions.py", line 106, in __call__
     res = super(Function, self).__call__(*new_args, **new_kwargs)
 rpy2.rinterface.RRuntimeError: Error in svd(X, nu = 0L) : infinite or missing values in 'x'

May this error caused by many 0 in relative frequency data. A few lines and columns in frequency-table.txt

D_4__Methanobacteriaceae|D_5__Methanobacterium     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     
0.0     0.0     0.0     0.0     
D_4__Methanobacteriaceae|D_5__Methanobrevibacter   0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     
0.008139322467371668    0.01874744774845
D_4__Methanobacteriaceae|D_5__Methanosphaera       0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     
0.0     0.0     0.0     0.0     
4__Actinomycetaceae|D_5__Actinomyces       0.0005721291377196567   0.0     0.0007087024491922876   
0.0006946052326927529   0.0     7.919537499010058e-05   
D_4__Bifidobacteriaceae|D_5__Bifidobacterium       0.11437133905462471     0.013930213686773059    
0.015591453882230329    0.0026791916118149043   0.002685
_Micrococcaceae|D_5__Rothia        0.0     4.50815976918222e-05    0.0004377279833246483   
0.0003638408361723944   0.000616959117385545    0.0     0.000313
_4__Atopobiaceae|D_5__Atopobium    0.0     0.0     0.00014590932777488276  0.0     0.0     0.0     0.0     0.0     
0.0     0.0     0.0     0.0     0.0     
_4__Atopobiaceae|D_5__Olsenella    0.00010897697861326794  0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     
0.0014849463563128783   0.0     
_4__Atopobiaceae|D_5__uncultured   0.0     0.0     0.0     0.0     0.0     0.0     0.0     0.0     6.089268678831672e-05   
0.00014849463563128783  0.0     
_4__Coriobacteriaceae|D_5__Collinsella     0.0     0.0     0.03034914017717561     0.009856779016306685    
0.016621604456622332    0.010077611467490298

How to solve such problem, thanks! Its there any other tools can do the same analyse like LEFSe ?

qiime2 lefse

Hello, I learned a lot about ANCOM after this post. I think ANCOM maybe a better choice to compare between groups, except the plot output is not beauty.

0 answers

No answers yet.

Log in to answer this question.