Exemple #1
0
def smallrnaseqpipeline(config, run_info_yaml, parallel, dirs, samples):
    # causes a circular import at the top level
    from bcbio.srna.group import report as srna_report

    samples = rnaseq_prep_samples(config, run_info_yaml, parallel, dirs,
                                  samples)

    with prun.start(
            _wres(parallel, ["aligner", "picard", "samtools"],
                  ensure_mem={
                      "bowtie": 8,
                      "bowtie2": 8,
                      "star": 2
                  }), [samples[0]], config, dirs, "alignment") as run_parallel:
        with profile.report("prepare", dirs):
            samples = run_parallel("seqcluster_prepare", [samples])
        with profile.report("seqcluster alignment", dirs):
            samples = run_parallel("srna_alignment", [samples])

    with prun.start(
            _wres(parallel, ["aligner", "picard", "samtools"],
                  ensure_mem={
                      "tophat": 10,
                      "tophat2": 10,
                      "star": 2,
                      "hisat2": 8
                  }),
            samples,
            config,
            dirs,
            "alignment_samples",
            multiplier=alignprep.parallel_multiplier(samples)) as run_parallel:
        with profile.report("alignment", dirs):
            samples = run_parallel("process_alignment", samples)

    with prun.start(_wres(parallel, ["picard", "miraligner"]), samples, config,
                    dirs, "annotation") as run_parallel:
        with profile.report("small RNA annotation", dirs):
            samples = run_parallel("srna_annotation", samples)

    with prun.start(
            _wres(parallel, ["seqcluster", "mirge"],
                  ensure_mem={"seqcluster": 8}), [samples[0]], config, dirs,
            "cluster") as run_parallel:
        with profile.report("cluster", dirs):
            samples = run_parallel("seqcluster_cluster", [samples])

    with prun.start(_wres(parallel, ["picard", "fastqc"]), samples, config,
                    dirs, "qc") as run_parallel:
        with profile.report("quality control", dirs):
            samples = qcsummary.generate_parallel(samples, run_parallel)
        with profile.report("report", dirs):
            srna_report(samples)
        with profile.report("upload", dirs):
            samples = run_parallel("upload_samples", samples)
            for sample in samples:
                run_parallel("upload_samples_project", [sample])

    return samples
Exemple #2
0
    def run(self, config, run_info_yaml, parallel, dirs, samples):
        # causes a circular import at the top level
        from bcbio.srna.group import report as srna_report

        with prun.start(_wres(parallel, ["picard", "cutadapt"]), samples,
                        config, dirs, "trimming") as run_parallel:
            with profile.report("organize samples", dirs):
                samples = run_parallel("organize_samples", [[
                    dirs, config, run_info_yaml,
                    [x[0]["description"] for x in samples]
                ]])
            with profile.report("adapter trimming", dirs):
                samples = run_parallel("prepare_sample", samples)
                samples = run_parallel("trim_srna_sample", samples)

        with prun.start(
                _wres(parallel, ["aligner", "picard", "samtools"],
                      ensure_mem={
                          "bowtie": 8,
                          "bowtie2": 8,
                          "star": 2
                      }), [samples[0]], config, dirs,
                "alignment") as run_parallel:
            with profile.report("prepare", dirs):
                samples = run_parallel("seqcluster_prepare", [samples])
            with profile.report("alignment", dirs):
                samples = run_parallel("srna_alignment", [samples])

        with prun.start(_wres(parallel, ["picard", "miraligner"]), samples,
                        config, dirs, "annotation") as run_parallel:
            with profile.report("small RNA annotation", dirs):
                samples = run_parallel("srna_annotation", samples)

        with prun.start(
                _wres(parallel, ["seqcluster"], ensure_mem={"seqcluster": 8}),
            [samples[0]], config, dirs, "cluster") as run_parallel:
            with profile.report("cluster", dirs):
                samples = run_parallel("seqcluster_cluster", [samples])

        with prun.start(_wres(parallel, ["picard", "fastqc"]), samples, config,
                        dirs, "qc") as run_parallel:
            with profile.report("quality control", dirs):
                samples = qcsummary.generate_parallel(samples, run_parallel)
            with profile.report("report", dirs):
                srna_report(samples)
            with profile.report("upload", dirs):
                samples = run_parallel("upload_samples", samples)
                for sample in samples:
                    run_parallel("upload_samples_project", [sample])

        return samples
Exemple #3
0
    def run(self, config, run_info_yaml, parallel, dirs, samples):
        # causes a circular import at the top level
        from bcbio.srna.group import report as srna_report

        with prun.start(_wres(parallel, ["picard", "cutadapt"]),
                        samples, config, dirs, "trimming") as run_parallel:
            with profile.report("organize samples", dirs):
                samples = run_parallel("organize_samples", [[dirs, config, run_info_yaml,
                                                             [x[0]["description"] for x in samples]]])
            with profile.report("adapter trimming", dirs):
                samples = run_parallel("prepare_sample", samples)
                samples = run_parallel("trim_srna_sample", samples)

        with prun.start(_wres(parallel, ["aligner", "picard", "samtools"],
                              ensure_mem={"bowtie": 8, "bowtie2": 8, "star": 2}),
                        [samples[0]], config, dirs, "alignment") as run_parallel:
            with profile.report("prepare", dirs):
                samples = run_parallel("seqcluster_prepare", [samples])
            with profile.report("alignment", dirs):
                samples = run_parallel("srna_alignment", [samples])

        with prun.start(_wres(parallel, ["picard", "miraligner"]),
                        samples, config, dirs, "annotation") as run_parallel:
            with profile.report("small RNA annotation", dirs):
                samples = run_parallel("srna_annotation", samples)

        with prun.start(_wres(parallel, ["seqcluster"],
                              ensure_mem={"seqcluster": 8}),
                        [samples[0]], config, dirs, "cluster") as run_parallel:
            with profile.report("cluster", dirs):
                samples = run_parallel("seqcluster_cluster", [samples])

        with prun.start(_wres(parallel, ["picard", "fastqc"]),
                        samples, config, dirs, "qc") as run_parallel:
            with profile.report("quality control", dirs):
                samples = qcsummary.generate_parallel(samples, run_parallel)
            with profile.report("report", dirs):
                srna_report(samples)
            with profile.report("upload", dirs):
                samples = run_parallel("upload_samples", samples)
                for sample in samples:
                    run_parallel("upload_samples_project", [sample])

        return samples
Exemple #4
0
def smallrnaseqpipeline(config, run_info_yaml, parallel, dirs, samples):
    # causes a circular import at the top level
    from bcbio.srna.group import report as srna_report

    samples = rnaseq_prep_samples(config, run_info_yaml, parallel, dirs, samples)

    with prun.start(_wres(parallel, ["aligner", "picard", "samtools"],
                          ensure_mem={"bowtie": 8, "bowtie2": 8, "star": 2}),
                    [samples[0]], config, dirs, "alignment") as run_parallel:
        with profile.report("prepare", dirs):
            samples = run_parallel("seqcluster_prepare", [samples])
        with profile.report("seqcluster alignment", dirs):
            samples = run_parallel("srna_alignment", [samples])

    with prun.start(_wres(parallel, ["aligner", "picard", "samtools"],
                            ensure_mem={"tophat": 10, "tophat2": 10, "star": 2, "hisat2": 8}),
                    samples, config, dirs, "alignment_samples",
                    multiplier=alignprep.parallel_multiplier(samples)) as run_parallel:
        with profile.report("alignment", dirs):
            samples = run_parallel("process_alignment", samples)

    with prun.start(_wres(parallel, ["picard", "miraligner"]),
                    samples, config, dirs, "annotation") as run_parallel:
        with profile.report("small RNA annotation", dirs):
            samples = run_parallel("srna_annotation", samples)

    with prun.start(_wres(parallel, ["seqcluster", "mirge"],
                          ensure_mem={"seqcluster": 8}),
                    [samples[0]], config, dirs, "cluster") as run_parallel:
        with profile.report("cluster", dirs):
            samples = run_parallel("seqcluster_cluster", [samples])

    with prun.start(_wres(parallel, ["picard", "fastqc"]),
                    samples, config, dirs, "qc") as run_parallel:
        with profile.report("quality control", dirs):
            samples = qcsummary.generate_parallel(samples, run_parallel)
        with profile.report("report", dirs):
            srna_report(samples)
        with profile.report("upload", dirs):
            samples = run_parallel("upload_samples", samples)
            for sample in samples:
                run_parallel("upload_samples_project", [sample])

    return samples