I have already trimmed and filtered my data with Trimmomatic. I'm using the 341F and 805R primers. So I'm expecting a 464 amplicon and 250+300-464 = 86 overlap, but the reads still have a very low percentage of joining. The most I got was 30% merged with a --p-min-overlap 4. Is this normal for 16S data? Or am I doing something wrong? Because I can't figure it out, and I've already tried several parameters.
This isn't normal for 16S data. Usually this occurs because there is adaptors left in the sequence or because there isn't enough overlap. I see that you have addressed all of thoses issues. So lets dive in alittle more
Trying to get reads through DADA2 is always a bit of a guessing game. You haven't done anything wrong though! Just alittle bit of trial and error.
Here are two of the nexts steps I think you should try:
You could try trimming your forward read a little bit to see if you could get more sequences passed the initial filter and see if that helps with downstream filtering steps.
and
You could also try to search for your adapter in your reads to verify that your reads are adapter free
Hope this helps! Let me know how this goes, and definitely come back if it doesn't work and we will try something else