Have the basic work flow changed between HuManN version 2 and 3?

Dear friends, I’ve saw a picture of HuManN 2 work flow in the website:http://huttenhower.sph.harvard.edu/humann2(shown below).
After reading the source code in HuManN 3, I did not distinguish any difference. To make sure there is no problems, I want to know: is this work flow the same with version 3 (3.0.0.alpha) ?
Thank you so much !

I had forgotten about this figure. :slight_smile: The workflow “topology” of HUMAnN 3 is the same as HUMAnN 2, it’s just the inputs (gray ellipses) and analyses modules (blue rectangles) that have been updated for improved coverage, accuracy, and computational performance.

Thank you.
Although I am about to finish the reading of HUMAnN source code, there are still few questions in my mind:

  • why a species is called “bug” in code. Or did I make a wrong understand of the “bug”?


  • in the script store.py, about line 1029, the function “_find_structure”: the only return “structure” is defined at the first line, and it seems not changed through out the function however with a large part of code of “levels” inserted there. What is the part of code dealing with “level” doing with “structure” ?

Thanks a lot again !

And … is there any detailed description about HUMAnN core algorithms? Your system of code is wonderful but huge. In order to make no mistake, getting an official description is crucial for me.

Dear @franzosa, sorry to bother you. There is another question:
In humann(3.0.0.alpha.3)/store.py, line 332, it adds all the “normalized_score” together. However, before the computation of genescore, the function “add_query_normalization_to_alignment_score” in line 456, subtracts all the former “normalized_score” (line 437). If I were not wrong, can I know the reason?

It’s shallowcopy in the 2nd question.