Same barcode and sfffiles.txt does not work

Dear forum,

I have 8 sff files that need to be processed together but 2 of them have the same barcode. So I have assigned a seprate oligo file to each sff file in sfffiles.txt because serparating out only one sff file did not work. As soon as sff.multiple() ist called it overwrites sfffiles.txt assigning 1 sfffiles.oligos to each sff file. The file sfffiles.oligos does not exist because I have created a single oligo file for each sff file and sff.multiple() stops.

I created a different sfffile.txt and named it something else and it works except that count.goups() ignores the group file for some mysterious reason. I would need to change the entire pipeline after sff.multiple() which would be ok but I would like to know if this behaviour of overwriting sfffiles.txt is a bug or a feature or iof I just don’t get it how to process sff files with the same barcode.

Thanks a lot for clarification!


Did you get a chance to check out the sff.multiple wiki page, The sff.multiple can process sff file that have the same barcodes. In the wiki example the oligos files are all the same. Could you post the contents of the file you are giving sff.multiple, the command you are running and the output mothur is giving you?

Hi Scott,

thanks for your reply!

Yes, I used the wiki as inspiration but soon learned that sff.multiple will always overwrite my file sfffiles.txt with this:

ABA.sff sfffiles.oligos
ABC.sff sfffiles.oligos
ABI.sff sfffiles.oligos
ABS.sff sfffiles.oligos
ASA.sff sfffiles.oligos
ASC.sff sfffiles.oligos
ASI.sff sfffiles.oligos
ASS.sff sfffiles.oligos

My folder contains the SFF files ABC.sff, etc but no file named sfffiles.oligos . My original sfffile.txt looked like that:

ABA.sff sfffiles.oligos_ABA
ABC.sff sfffiles.oligos_ABC
ABI.sff sfffiles.oligos_ABI
ABS.sff sfffiles.oligos_ABS
ASA.sff sfffiles.oligos_ASA
ASC.sff sfffiles.oligos_ASC
ASI.sff sfffiles.oligos_ASI
ASS.sff sfffiles.oligos_ASS

A typical oligo file is for example sfffiles.oligos_ABC:


My sff.multiple() command is invoked as follows:

sff.multiple(file=sff_oligo.txt, pdiffs=2, bdiffs=1, maxhomop=9, minlength=300, minflows=300, maxflows=720, processors=8)

the file sff_oligo.txt is the file that I am using now with the above content (ABA.sff sfffiles.oligos_ABA …). However, mothur still creates a new file sfffiles.txt assuming that I have everything in one oligo file (ABA.sff sfffiles.oligos …).

This works fine but I need to rename the files that are created by sff.multiple. Ok with me but not for the other users in the lab.

Thanks a lot for your help!