Zymo-Research/figaro

Issue running figaro with 16S V4 data

Opened this issue · 5 comments

Hi,

I am running Figaro via docker. The runs start ok but keep finishing with an error message:

Traceback (most recent call last):
File "/opt/figaro/figaro/figaro.py", line 218, in
main()
File "/opt/figaro/figaro/figaro.py", line 210, in main
resultTable, forwardCurve, reverseCurve = trimParameterPrediction.performAnalysisLite(parameters.inputDirectory.value, parameters.minimumCombinedReadLength.value, subsample = parameters.subsample.value, percentile = parameters.percentile.value, forwardPrimerLength=parameters.forwardPrimerLength.value, reversePrimerLength=parameters.reversePrimerLength.value, namingStandardAlias=fileNamingStandard)
File "/opt/figaro/figaro/trimParameterPrediction.py", line 457, in performAnalysisLite
resultTable = runTrimParameterTestLite(forwardExpectedErrorMatrix, reverseExpectedErrorMatrix, trimPositions, minimumTrimmingPositions, forwardCurve, reverseCurve, forwardPrimerLength, reversePrimerLength)
File "/opt/figaro/figaro/trimParameterPrediction.py", line 347, in runTrimParameterTestLite
reverseExpectedErrors = reverseExpectedErrorMatrix[reverseTrimPosition - reverseMinimumTrimPosition]
IndexError: index 327 is out of bounds for axis 0 with size 27

Any idea what the problem could be. Could it be a memory issue?

I would have see what your run parameters are as well as your reads. My first guess would be that you might have some very short reads in your sample. Can you check that all your reads are of uniform length in the fastq (especially the paired-end 2 reads)?

Hi,

Run parameters:

docker container run --rm -e AMPLICONLENGTH=254 -e FORWARDPRIMERLENGTH=0 -e REVERSEPRIMERLENGTH=0 -e MINIMUMOVERLAP=20

FastQC gives no indication that there are very short reads, just stating that R1 and R2 read files contain reads of 301 bp

Are the lengths of the reads longer than your intended amplicon? If so, check out #36

If this is the case, would this program still be appropriate for using with 16S V4 paired reads? I am just wondering whether this would introduce biases into the trimming optimisation results