@@ -444,7 +444,7 @@ else if (line.startsWith("Percentage unmapped"))
444444 if (type .doGenerateCalls ())
445445 {
446446 ctx .getJob ().setStatus (PipelineJob .TaskStatus .running , "Generating HTO calls for edit distance: " + editDistance );
447- File htoCalls = generateFinalCalls (outputMatrix .getParentFile (), ctx .getOutputDir (), outputBasename , ctx .getLogger (), null , true , minCountPerCell , ctx .getSourceDirectory ());
447+ File htoCalls = generateFinalCalls (outputMatrix .getParentFile (), ctx .getOutputDir (), outputBasename , ctx .getLogger (), null , true , minCountPerCell , ctx .getSourceDirectory (), true , true );
448448 File html = new File (htoCalls .getParentFile (), outputBasename + ".html" );
449449
450450 if (!html .exists ())
@@ -665,7 +665,7 @@ private File ensureLocalCopy(File input, File outputDir, Logger log, Set<File> t
665665 return input ;
666666 }
667667
668- public File generateFinalCalls (File citeSeqCountOutDir , File outputDir , String basename , Logger log , @ Nullable File cellBarcodeWhitelist , boolean doHtoFiltering , Integer minCountPerCell , File localPipelineDir ) throws PipelineJobException
668+ private File generateFinalCalls (File citeSeqCountOutDir , File outputDir , String basename , Logger log , @ Nullable File cellBarcodeWhitelist , boolean doHtoFiltering , Integer minCountPerCell , File localPipelineDir , boolean useSeurat , boolean useMultiSeq ) throws PipelineJobException
669669 {
670670 log .debug ("generating final calls from folder: " + citeSeqCountOutDir .getPath ());
671671
@@ -695,6 +695,9 @@ public File generateFinalCalls(File citeSeqCountOutDir, File outputDir, String b
695695 File rawCallsFile = new File (outputDir , basename + ".raw.txt" );
696696 File metricsFile = getMetricsFile (callsFile );
697697 List <String > args = new ArrayList <>(Arrays .asList ("/bin/bash" , scriptWrapper , citeSeqCountOutDir .getName (), htmlFile .getName (), callsFile .getName (), rawCallsFile .getName (), (doHtoFiltering ? "T" : "F" ), (minCountPerCell == null ? "0" : minCountPerCell .toString ()), metricsFile .getName ()));
698+ args .add (useSeurat ? "TRUE" : "FALSE" );
699+ args .add (useMultiSeq ? "TRUE" : "FALSE" );
700+
698701 if (cellBarcodeWhitelist != null )
699702 {
700703 args .add (cellBarcodeWhitelist .getName ());
@@ -877,7 +880,7 @@ else if (htoReadset.getReadData().size() != 1)
877880 return ret ;
878881 }
879882
880- public File runCiteSeqCount (PipelineStepOutput output , String category , Readset htoReadset , File htoList , File cellBarcodeList , File outputDir , String basename , Logger log , List <String > extraArgs , boolean doHtoFiltering , @ Nullable Integer minCountPerCell , File localPipelineDir , @ Nullable Integer editDistance , boolean scanEditDistances , Readset parentReadset , @ Nullable Integer genomeId , BARCODE_TYPE type , boolean createOutputFiles ) throws PipelineJobException
883+ public File runCiteSeqCount (PipelineStepOutput output , String category , Readset htoReadset , File htoList , File cellBarcodeList , File outputDir , String basename , Logger log , List <String > extraArgs , boolean doHtoFiltering , @ Nullable Integer minCountPerCell , File localPipelineDir , @ Nullable Integer editDistance , boolean scanEditDistances , Readset parentReadset , @ Nullable Integer genomeId , BARCODE_TYPE type , boolean createOutputFiles , boolean useSeurat , boolean useMultiSeq ) throws PipelineJobException
881884 {
882885 HtoMergeResult htoFastqs = possiblyMergeHtoFastqs (htoReadset , outputDir , log );
883886 if (!htoFastqs .intermediateFiles .isEmpty ())
@@ -964,7 +967,7 @@ public File runCiteSeqCount(PipelineStepOutput output, String category, Readset
964967
965968 File citeSeqCountOutDir = new File (outputDir , basename + ".citeSeqCounts." + ed + "." + type .name ());
966969 String outputBasename = basename + "." + ed + "." + type .name ();
967- Map <String , Object > callMap = executeCiteSeqCountWithJobCtx (outputDir , outputBasename , citeSeqCountOutDir , htoFastqs .files .getLeft (), htoFastqs .files .getRight (), toolArgs , ed , log , cellBarcodeList , doHtoFiltering , minCountPerCell , localPipelineDir , unknownBarcodeFile , type );
970+ Map <String , Object > callMap = executeCiteSeqCountWithJobCtx (outputDir , outputBasename , citeSeqCountOutDir , htoFastqs .files .getLeft (), htoFastqs .files .getRight (), toolArgs , ed , log , cellBarcodeList , doHtoFiltering , minCountPerCell , localPipelineDir , unknownBarcodeFile , type , useSeurat , useMultiSeq );
968971 results .put (ed , callMap );
969972
970973 if (type .doGenerateCalls ())
@@ -1065,7 +1068,7 @@ public File runCiteSeqCount(PipelineStepOutput output, String category, Readset
10651068 }
10661069 }
10671070
1068- private Map <String , Object > executeCiteSeqCountWithJobCtx (File outputDir , String basename , File citeSeqCountOutDir , File fastq1 , File fastq2 , List <String > baseArgs , Integer ed , Logger log , File cellBarcodeList , boolean doHtoFiltering , Integer minCountPerCell , File localPipelineDir , File unknownBarcodeFile , BARCODE_TYPE type ) throws PipelineJobException
1071+ private Map <String , Object > executeCiteSeqCountWithJobCtx (File outputDir , String basename , File citeSeqCountOutDir , File fastq1 , File fastq2 , List <String > baseArgs , Integer ed , Logger log , File cellBarcodeList , boolean doHtoFiltering , Integer minCountPerCell , File localPipelineDir , File unknownBarcodeFile , BARCODE_TYPE type , boolean useSeurat , boolean useMultiSeq ) throws PipelineJobException
10691072 {
10701073 CellHashingHandler .CiteSeqCountWrapper wrapper = new CellHashingHandler .CiteSeqCountWrapper (log );
10711074 File doneFile = new File (citeSeqCountOutDir , "citeSeqCount." + type .name () + "." + ed + ".done" );
@@ -1132,7 +1135,7 @@ else if (line.startsWith("Percentage unmapped"))
11321135
11331136 if (type .doGenerateCalls ())
11341137 {
1135- File htoCalls = generateFinalCalls (outputMatrix .getParentFile (), outputDir , basename , log , cellBarcodeList , doHtoFiltering , minCountPerCell , localPipelineDir );
1138+ File htoCalls = generateFinalCalls (outputMatrix .getParentFile (), outputDir , basename , log , cellBarcodeList , doHtoFiltering , minCountPerCell , localPipelineDir , useSeurat , useMultiSeq );
11361139 if (!htoCalls .exists ())
11371140 {
11381141 throw new PipelineJobException ("missing expected file: " + htoCalls .getPath ());
0 commit comments