Taxonomic results from Humann2 did not consistent with metaphlan2

Hi, I am using humann2 v0.11.2 and MetaPhlAn2 version 2.7.7 for metagenomic data, after running, I found that certain species found from humann2 was not in those found by metaphlan2.
For example, Pseudomonas protegens Pf-5 found from humann2 was absent in the results from metaphlan2. I blast the fasta reads against the legacy kegg database first, then the result was provided as the input of humann2. By the way, I did not provide the --taxonomic-profile parameter while running humann2. Here is an example of my code.

diamond blastx -p 12 -q A57RS1T1.fa -d /public/home/jkyin/biosoft/database/humann-0.99/data/kegg.reduced.dmnd -o /public/home/jkyin/yjk/tomato_micro/meta/result/humann2/A57RS1T1.txt

humann2 --input A57RS1T1.txt --output /public/home/jkyin/yjk/tomato_micro/meta/result/humann2/func \ --id-mapping /public/home/jkyin/biosoft/database/humann-0.99/data/legacy_kegg_idmapping.tsv \ --pathways-database /public/home/jkyin/biosoft/database/humann-0.99/data/keggc --threads 32 \ --remove-temp-output

Is it necessary to add --taxonomic-profile with metaphlan2 output?

After trying to add --taxonomic-profile, I got the same results to those without the --taxonomic-profile. Was it because I performed blastx against the kegg database?

You’re using the legacy mode of HUMAnN 2, which tries to emulate the behavior of HUMAnN 1 (using the KEGG database). Among other differences, HUMAnN 1 is not doing an explicit taxonomic prescreen, so it may be reporting isolated species:gene combinations where MetaPhlAn would not have said the species was confidently present. The list of species included in the legacy KEGG database is probably also different from those recognized by MetaPhlAn 2, such that MetaPhlAn 2 could identify species not found by HUMAnN in the legacy KEGG mode.

I would advise using MetaPhlAn 2 and HUMAnN 2 together with their default databases, or moving on to MetaPhlAn + HUMAnN 3. The legacy KEGG databases are quite old at this point.