AlexsLemonade / alsf-scpca

Management and analysis tools for ALSF Single-cell Pediatric Cancer Atlas data.
BSD 3-Clause "New" or "Revised" License
0 stars 1 forks source link

Updates to Alevin-fry workflow to include unfiltered permit list #85

Closed allyhawkins closed 3 years ago

allyhawkins commented 3 years ago

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.