Cool, thanks for the info. Are you planning on processing with DADA2? If so, it is important to not combine any sequencing runs, DADA2 expects samples from one run at a time while it does its thing.
The partial demultiplexing seems pretty strange to me, and looks like it might make more work for you than desirable. If I were in your shoes, I would start as far upstream as possible and build demultiplex all of the samples at once, although I recognize this is probably easier said than done.
If you want to keep going with the data you have, as-is, here is a strategy that I think can get you moving (note, this only works if you still have barcode sequence in your reads). I will outline a hypothetical data directory:
raw reads
$ ls .
group_a_r1.fastq.gz
group_a_r2.fastq.gz
group_b_r1.fastq.gz
group_b_r2.fastq.gz
Groups A and B are just generic placeholder here, from what I understand from you, these would actually be your partially demultiplexed reads, like S28
& S32
.
group a demux-only metadata, group_a.tsv
#SampleID Barcode
a1 AAAA
a2 GGGG
a3 CCCC
a4 TTTT
group b demux-only metadata, group_b.tsv
#SampleID Barcode
b1 AAAA
b2 GGGG
b3 CCCC
b4 TTTT
import and demux group a
$ mkdir group_a
$ ln group_a_r1.fastq.gz group_a/forward.fastq.gz
$ ln group_a_r2.fastq.gz group_a/reverse.fastq.gz
$ qiime tools import \
--type MultiplexedPairedEndBarcodeInSequence \
--input-path group_a \
--output-path group_a.qza
$ qiime cutadapt demux-paired \
--i-seqs group_a.qza \
--m-barcodes-file group_a.tsv \
--m-barcodes-category Barcode \
--p-error-rate 0 \
--o-per-sample-sequences demux-a.qza \
--o-untrimmed-sequences untrimmed-a.qza \
--verbose
# Hypothetical downstream steps
$ qiime demux summarize ...
$ qiime dada2 denoise-paired ...
import and demux group b
$ mkdir group_b
$ ln group_b_r1.fastq.gz group_b/forward.fastq.gz
$ ln group_b_r2.fastq.gz group_b/reverse.fastq.gz
$ qiime tools import \
--type MultiplexedPairedEndBarcodeInSequence \
--input-path group_b \
--output-path group_b.qza
$ qiime cutadapt demux-paired \
--i-seqs group_b.qza \
--m-barcodes-file group_b.tsv \
--m-barcodes-category Barcode \
--p-error-rate 0 \
--o-per-sample-sequences demux-b.qza \
--o-untrimmed-sequences untrimmed-b.qza \
--verbose
# Hypothetical downstream steps
$ qiime demux summarize ...
$ qiime dada2 denoise-paired ...
You would need to do this once per your partially demuxed reads, so 12 times for the first set, and 4 times for the second. This is why my initial recommendation was to see if you can get your hands on the reads before they were partially demultiplexed, because it might be easier to handle there (you would only need to demultiplex twice, once per run). There is a lot to digest here, so please let us know if you have any questions! 