q2 boots: should I use replacement or no-replacement with low-frequency samples?

Hi @gregcaporaso! I appreciate you for taking the time to write out such a thorough reply.

I have a lot of follow-up questions, but I'll limit myself to two(ish :slight_smile:) for now.

I'm just interested in how the code/math works. It probably doesn't matter in the grand scheme of things, but I don't want to report a significance value "based on 50 samples" if only 25 samples were actually included in the analysis based on the command parameters I used.

If I do subsampling at p-5,000 without replacement for 100 iterations, I imagine the samples included at each iteration would look something like this:

Sample # of Reads Included in iteration 1? Included in iteration 2? Included in iteration 3? .... Included in iteration 100?
A 5,000 yes no no no
B 10,000 yes yes no no
C 15,000 yes yes yes no
...M 499,000 yes yes yes no
...Z 3,000,000 yes yes yes yes

From this result, how is the median/medioid found? Does qiime/boots completely exclude samples A through M if they don't make it through all 100 iterations, or is the median/medioid compiled from the results of each rarefaction?

I would love to, but my IT department requires me to go through a rather superfluous process to update my distribution on the HPC, so I'd rather not. I'd also need to update conda since I've seen some people were having issues with compatibility, so that would mean another collaboration with IT.

If I do go through the trouble of getting permission for an updated deployment, will I need to go back and re-do my whole pipeline (importing, denoising, etc.)? If I were to not re-do the pipeline, and I publish my methods with "QIIME2 2025.7 was used for some things" and "QIIME 2026.10 was used for other things", would you find that weird as a reviewer?

Again, I appreciate your time. I'll continue looking at literature/source code to see if I can find more answers.