Closes #83. In this PR, I updated Alevin-fry to use the new Alevin-fry 0.2.0, adding an option to use the unfiltered permit list of barcodes from 10x with the -unfiltered-pl argument during the generate-permit-list step.
I first updated the docker image for Alevin-fry so it contains Alevin-fry:0.2.0 which can be pulled using docker pull ghcr.io/alexslemonade/scpca-alevin-fry:latest. In that update, there is a dependency on the most recent version of libcxx, requiring the install using the -conda-forge channel.
I then added in the option to include the unfiltered barcode list from the 10X whitelist, which can be utilized by using the --unfiltered flag. When this option is used, the corresponding 10X barcode list for that sample is used, otherwise true cells are determined using the --knee-distance option. I had tried to put the argument in a ternary operator and do something like ${params.unfiltered ? '-u' ${barcode_file} : '--knee-distance'} but nextflow doesn't like that. So I chose to do a conditional process based on the unfiltered parameter being true or not which works.
I also added in the resolution as a parameter. The default is set as full, but can be changed at the command line if we want to test other options.
Closes #83. In this PR, I updated Alevin-fry to use the new Alevin-fry 0.2.0, adding an option to use the unfiltered permit list of barcodes from 10x with the
-unfiltered-pl
argument during the generate-permit-list step.I first updated the docker image for Alevin-fry so it contains Alevin-fry:0.2.0 which can be pulled using
docker pull ghcr.io/alexslemonade/scpca-alevin-fry:latest
. In that update, there is a dependency on the most recent version oflibcxx
, requiring the install using the-conda-forge
channel.I then added in the option to include the unfiltered barcode list from the 10X whitelist, which can be utilized by using the
--unfiltered
flag. When this option is used, the corresponding 10X barcode list for that sample is used, otherwise true cells are determined using the--knee-distance
option.I had tried to put the argument in a ternary operator and do something like ${params.unfiltered ? '-u' ${barcode_file} : '--knee-distance'} but nextflow doesn't like that. So I chose to do a conditional process based on the unfiltered parameter being true or not which works.I also added in the resolution as a parameter. The default is set as full, but can be changed at the command line if we want to test other options.