Metaphlan3 not using latest available local database

If I run metaphlan 3.0.7 with no internet connection, but try to provide a local copy of the database via --bowtie2db $DBDIR, I get the warning:

WARNING: It seems that you do not have Internet access.
WARNING: Cannot connect to the database server. The latest available local database will be used.

…and the bugs output files are all empty for all samples, but when I use an internet connection with the same metaphlan command, the bugs files are filled with taxonomic information.

It appears that metaphlan 3.0.7 is not actually defaulting to a local database if no internet connection; it instead just using nothing and does not warn the user or die.

Also, how is one supposed to properly provide a local database? I thought that it was --bowtie2db $DBDIR, but that doesn’t seem to do it.

Installing the databases within the metaphlan install directory is an option that I want to avoid, given that software install locations are not meant for large database files, and that option precludes the possibility of sharing the same database with many users and/or metaphlan installs, which results in a lot of redundant database downloading and storage.

If you provide the name of the database with --index mpa_v30_CHOCOPhlAn_201901, its location with --bowtie2db $DBDIR, and it is correctly built under $DBDIR, it should run without problems.

The warnings are printed because probably you left --index latest and so it tries to resolve the name of the latest database.

1 Like

Yeah, it was due to not using the --index mpa_v30_CHOCOPhlAn_201901 along with providing the local copy of the bowtie database

I had the same problem - I think it is confusing in the manual that you also have to provide --index. It would make more sense for metaphlan to read the index version from the filename. Also, it took me a while to realise that --index does not take the file path, only the index version root name.