Hello everyone! Being completely new to OBItools, I am trying to build an ecoPCR database in order to design species-specific primers within a metabarcoding fragment. For this I would like to convert my "manually" created alignment in fasta format to an ecoPCR database. My fasta file looks like this:
>Acinonyx_jubatus_AF344830_1
GGGTTGGTAAATTTCGTGCCAGCCACCGCGGTCATACGATTAACCCAAACTAATAGACCCACGGCGTAAAGCGTGTTATAGAGAAAAAAATTACTAAAGTTAAACCTTAACTAGGCCGTAAAAAGCTATAGTTAACATGAAAATACAGCACGAAAGTAACTTTAATACCTCCAACTGCACGATAGCTAAGACCCAAACTGGGATTAGATACCCCACTATG
>Acinonyx_jubatus_AY463959_1
GGGTTGGTAAATTTCGTGCCAGCCACCGCGGTCATACGATTAACCCAAACTAATAGACCCACGGCGTAAAGCGTGTTATAGAGAAAAAAATTACTAAAGTTAAACCTTAACTAGGCCGTAAAAAGCTATAGTTAACATGAAAATACAGCACGAAAGTAACTTTAATACCTCCAACTGCACGATAGCTAAGACCCAAACTGGGATTAGATACCCCACTATG
>Acinonyx_jubatus_KP202271_1
GGGTTGGTAAATTTCGTGCCAGCCACCGCGGTCATACGATTAACCCAAACTAATAGACCCACGGCGTAAAGCGTGTTATAGAGAAAAAAATTACTAAAGTTAAACCTTAACTAGGCCGTAAAAAGCTACAGTTAACATGAAAATACAGCACGAAAGTAACTTTAATACCTCCAACTGCACGATAGCTAAGACCCAAACTGGGATTAGATACCCCACTATG
>....`
and I am trying to run the command:
obiconvert --fasta --ecopcrdb-output=sequencesdb 12S_MiMammal_August2022.fas
Unfortunately, I keep getting this error message:
Traceback (most recent call last):
File "/usr/bin/obiconvert", line 52, in <module>
writer(entry)
File "/usr/lib/python3/dist-packages/obitools/format/options.py", line 371, in sequenceWriter
writer.put(sequence)
File "/usr/lib/python3/dist-packages/obitools/ecopcr/sequence.py", line 173, in put
self._file.write(self._ecoSeqPacker(sequence))
File "/usr/lib/python3/dist-packages/obitools/ecopcr/sequence.py", line 115, in _ecoSeqPacker
compactseq = gzip.zlib.compress(str(seq).upper(),9)
TypeError: a bytes-like object is required, not 'str'
When I convert it from fasta to OBITools extended fasta format, the command runs fine. I suspect that it is related to the prefix-filename that I am entering?
Any suggestions what I am missing here? Any help will be highly appreciated!
Thanks!