Assuming each of these 3 samples were sequenced in the same run/lane, you should denoise them together as they will share an error model, and QIIME 2 doesn't expose a way to share the error model between invocations. Incidentally, I don't think you would actually end up using any less memory as we analyze each sample independently within the method. So even if you split out your data for each sample, it would be the same thing that our q2-dada2
plugin does internally.
How long are your reads, and what are they of exactly? Are these amplicon sequences still?
Since it does seem like memory is probably the issue you could experiment with setting the n-reads-learn
parameter, but because we don't have a way to view the error model generated, I would be cautious of setting it too low (the default is to use a million reads).