qiime2/q2-feature-classifier

No way to figure out read orientation used after executing an action

Opened this issue · 5 comments

Current Behavior
From the help text in classify-sklearn:

  --p-read-orientation [reverse-complement|same]
                                  [optional]
                                  Direction of reads with respect
                                  to reference sequences. same will cause
                                  reads to be classified unchanged; reverse-
                                  complement will cause reads to be reversed
                                  and complemented prior to classification.
                                  Default is to autodetect based on the
                                  confidence estimates for the first 100
                                  reads.

When this parameter is not specified, there doesn't seem to be a way to figure out what orientation was used. For example, when I look at the provenance information of this artifact, this parameter is listed as "null":

screen shot 2017-09-05 at 5 20 12 pm

Perhaps having a separate action that guesses the read orientation for you would solve the issue? I'm not sure how to record this in provenance. Or would it work to have classify-sklearn print what the guessed read orientation is (e.g. so it's available in the debug logs)?

I'd prefer printing the guessed read orientation while the method is executing, and possibly updating the default parameter value to 'guess' (though None seems fine, it's documented in the command).

I'm less excited about renaming the Confidence column to indicate read orientation because confidence isn't associated with read orientation, it's the confidence of the classification for each feature. The guessed read orientation seems more informational in nature -- one day provenance will capture logging info, print statements, warnings, etc. that are emitted by actions, so perhaps printing the guessed orientation is a quick & easy way to go for now, and will be future-proof when provenance supports logging 🚀 🌞