def singlecell_rnaseq(samples, run_parallel): quantifier = dd.get_in_samples(samples, dd.get_singlecell_quantifier) quantifier = quantifier.lower() samples = run_parallel("run_umi_transform", samples) demultiplexed = run_parallel("demultiplex_samples", samples) # break demultiplixed lanes into their own samples samples = [] for lane in demultiplexed: for index in lane: samples.append([index]) samples = run_parallel("run_filter_barcodes", samples) samples = run_parallel("run_barcode_histogram", samples) if quantifier == "rapmap": samples = run_parallel("run_rapmap_index", [samples]) samples = run_parallel("run_rapmap_align", samples) samples = run_parallel("run_tagcount", samples) samples = run_parallel("run_concatenate_sparse_counts", [samples]) elif quantifier == "kallisto": samples = run_parallel("run_kallisto_singlecell", samples) else: logger.error(("%s is not supported for singlecell RNA-seq " "quantification." % quantifier)) sys.exit(1) samples = scrnaseq_concatenate_metadata(samples) singlecellexperiment.make_scrnaseq_object(samples) return samples
def singlecell_rnaseq(samples, run_parallel): quantifier = dd.get_in_samples(samples, dd.get_singlecell_quantifier) quantifier = quantifier.lower() samples = run_parallel("run_umi_transform", samples) demultiplexed = run_parallel("demultiplex_samples", samples) # break demultiplixed lanes into their own samples samples = [] for lane in demultiplexed: for index in lane: samples.append([index]) samples = run_parallel("run_filter_barcodes", samples) samples = run_parallel("run_barcode_histogram", samples) if quantifier == "rapmap": samples = run_parallel("run_rapmap_index", [samples]) samples = run_parallel("run_rapmap_align", samples) samples = run_parallel("run_tagcount", samples) samples = run_parallel("run_concatenate_sparse_counts", [samples]) elif quantifier == "kallisto": samples = run_parallel("run_kallisto_singlecell", samples) else: logger.error(("%s is not supported for singlecell RNA-seq " "quantification." % quantifier)) sys.exit(1) samples = scrnaseq_concatenate_metadata(samples) singlecellexperiment.make_scrnaseq_object(samples) return samples
def singlecell_rnaseq(samples, run_parallel): quantifier = dd.get_in_samples(samples, dd.get_singlecell_quantifier) quantifier = quantifier.lower() samples = run_parallel("run_umi_transform", samples) demultiplexed = run_parallel("demultiplex_samples", samples) # break demultiplixed lanes into their own samples samples = [] for lane in demultiplexed: for index in lane: samples.append([index]) if not samples: logger.error(f"No samples were found matching the supplied sample barcodes. See " f"https://github.com/bcbio/bcbio-nextgen/issues/3428#issuecomment-772609904 " f"for how to debug this issue.") sys.exit(1) samples = run_parallel("run_filter_barcodes", samples) samples = run_parallel("run_barcode_histogram", samples) if quantifier == "rapmap": samples = run_parallel("run_rapmap_index", [samples]) samples = run_parallel("run_rapmap_align", samples) samples = run_parallel("run_tagcount", samples) samples = run_parallel("run_concatenate_sparse_counts", [samples]) elif quantifier == "kallisto": samples = run_parallel("run_kallisto_singlecell", samples) else: logger.error(("%s is not supported for singlecell RNA-seq " "quantification." % quantifier)) sys.exit(1) samples = scrnaseq_concatenate_metadata(samples) singlecellexperiment.make_scrnaseq_object(samples) return samples