https://github.com/arjunrajlaboratory/RajLabSeqTools
Revision c5b88eb5aa3fa9f6a657d8b078405ce82f7e0e2d authored by Eric Sanford on 09 October 2019, 20:53:45 UTC, committed by Eric Sanford on 09 October 2019, 20:53:45 UTC
1 parent e650685
Tip revision: c5b88eb5aa3fa9f6a657d8b078405ce82f7e0e2d authored by Eric Sanford on 09 October 2019, 20:53:45 UTC
Updated STAR version, set default reference genome to hg38, added gene_names from gtf file when there is no HGNC symbol match, made it easier to change the reference genome by defining it in the setEnvironmentVariables.sh script. Modified some snakemake files to make that alternate pipeline almost runnable on the cluster in an interactive node.
Updated STAR version, set default reference genome to hg38, added gene_names from gtf file when there is no HGNC symbol match, made it easier to change the reference genome by defining it in the setEnvironmentVariables.sh script. Modified some snakemake files to make that alternate pipeline almost runnable on the cluster in an interactive node.
Tip revision: c5b88eb
Snakefile
import pandas as pd
from snakemake.utils import validate, min_version
##### set minimum snakemake version #####
min_version("5.1.2")
##### load config and sample sheets #####
configfile: "config.yaml"
validate(config, schema="schemas/config.schema.yaml")
samples = pd.read_table(config["samples"]).set_index("sample", drop=False)
validate(samples, schema="schemas/samples.schema.yaml")
units = pd.read_table(config["units"], dtype=str).set_index(["sample", "unit"], drop=False)
units.index = units.index.set_levels([i.astype(str) for i in units.index.levels]) # enforce str in index
validate(units, schema="schemas/units.schema.yaml")
##### target rules #####
rule all:
input:
expand(["results/diffexp/{contrast}.diffexp.tsv",
"results/diffexp/{contrast}.ma-plot.svg",
"results/diffexp/{contrast}.diffexp.volcano.pdf"],
contrast=config["diffexp"]["contrasts"]),
"results/pca.svg",
"qc/multiqc_report.html"
##### setup singularity #####
# this container defines the underlying OS for each job when using the workflow
# with --use-conda --use-singularity
singularity: "docker://continuumio/miniconda3"
##### setup report #####
report: "report/workflow.rst"
##### load rules #####
include: "rules/common.smk"
include: "rules/trim.smk"
include: "rules/align.smk"
include: "rules/diffexp.smk"
include: "rules/qc.smk"
include: "rules/plot.smk"

Computing file changes ...