Skip to content

Commit

Permalink
Generate all temp files in output directory
Browse files Browse the repository at this point in the history
  • Loading branch information
DongqingSun committed Jul 16, 2020
1 parent d3944bd commit 9373410
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 17 deletions.
17 changes: 17 additions & 0 deletions MAESTRO.egg-info/PKG-INFO
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Metadata-Version: 1.1
Name: MAESTRO
Version: 1.2.0
Summary: MAESTRO(Model-based AnalysEs of Single-cell Transcriptome and RegulOme) is a comprehensive single-cell RNA-seq and ATAC-seq analysis suit built using snakemake.
Home-page: https://github.com/chenfeiwang/MAESTRO
Author: Chenfei Wang, Dongqing Sun
Author-email: UNKNOWN
License: GPL-3.0
Description: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GPL License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
27 changes: 27 additions & 0 deletions MAESTRO.egg-info/SOURCES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
README.md
setup.py
MAESTRO/MAESTRO
MAESTRO/MAESTRO_PipeInit.py
MAESTRO/__init__.py
MAESTRO/integrate_HTMLReport.py
MAESTRO/scATAC_10x_BarcodeCorrect.py
MAESTRO/scATAC_10x_PeakCount.py
MAESTRO/scATAC_BamAddTag.py
MAESTRO/scATAC_FragmentCorrect.py
MAESTRO/scATAC_FragmentGenerate.py
MAESTRO/scATAC_Genescore.py
MAESTRO/scATAC_H5Process.py
MAESTRO/scATAC_HTMLReport.py
MAESTRO/scATAC_QC.py
MAESTRO/scATAC_microfluidic_PeakCount.py
MAESTRO/scATAC_microfluidic_QC.py
MAESTRO/scATAC_sci_BarcodeExtract.py
MAESTRO/scATAC_utility.py
MAESTRO/scRNA_AnalysisPipeline.py
MAESTRO/scRNA_HTMLReport.py
MAESTRO/scRNA_QC.py
MAESTRO/scRNA_utility.py
MAESTRO.egg-info/PKG-INFO
MAESTRO.egg-info/SOURCES.txt
MAESTRO.egg-info/dependency_links.txt
MAESTRO.egg-info/top_level.txt
1 change: 1 addition & 0 deletions MAESTRO.egg-info/dependency_links.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions MAESTRO.egg-info/top_level.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
MAESTRO
51 changes: 34 additions & 17 deletions MAESTRO/Snakemake/scATAC/Snakefile
Original file line number Diff line number Diff line change
Expand Up @@ -331,9 +331,9 @@ if config["platform"] == "10x-genomics" or config["platform"] == "sci-ATAC-seq":
fastqs = config["fastqdir"],
fasta = config["genome"]["fasta"]
output:
r1cat = temp(os.path.join(config["fastqdir"], "%s_R1.fastq" %(config["fastqprefix"]))),
r2cat = temp(os.path.join(config["fastqdir"], "%s_R2.fastq" %(config["fastqprefix"]))),
r3cat = temp(os.path.join(config["fastqdir"], "%s_R3.fastq" %(config["fastqprefix"]))),
r1cat = temp(os.path.join("Result/Tmp", "%s_R1.fastq" %(config["fastqprefix"]))),
r2cat = temp(os.path.join("Result/Tmp", "%s_R2.fastq" %(config["fastqprefix"]))),
r3cat = temp(os.path.join("Result/Tmp", "%s_R3.fastq" %(config["fastqprefix"]))),
params:
r1 = getfastq_10x(config["fastqdir"], config["fastqprefix"])["r1"],
r2 = getfastq_10x(config["fastqdir"], config["fastqprefix"])["barcode"],
Expand Down Expand Up @@ -383,24 +383,41 @@ if config["platform"] == "10x-genomics" or config["platform"] == "sci-ATAC-seq":
fastq1 = os.path.join(config["fastqdir"], "%s_1.fastq" %(config["fastqprefix"])),
fastq2 = os.path.join(config["fastqdir"], "%s_2.fastq" %(config["fastqprefix"])),
output:
r1 = temp(os.path.join("Result/Tmp", "%s_R1.fastq" %(config["fastqprefix"]))),
r2 = temp(os.path.join("Result/Tmp", "%s_R2.fastq" %(config["fastqprefix"]))),
r3 = temp(os.path.join("Result/Tmp", "%s_R3.fastq" %(config["fastqprefix"]))),
params:
outdir = "Result/Tmp"
benchmark:
"Result/Benchmark/%s_Preprocess.benchmark" %(config["outprefix"])
shell:
"python " + SCRIPT_PATH + "/scATAC_sci_BarcodeExtract.py --R1 {input.fastq1} --R2 {input.fastq2} -O {params.outdir}"

rule scatac_preprocess_fastqrename:
input:
fasta = config["genome"]["fasta"],
r1 = os.path.join(config["fastqdir"], "%s_R1.fastq" %(config["fastqprefix"])),
r2 = os.path.join(config["fastqdir"], "%s_R2.fastq" %(config["fastqprefix"])),
r3 = os.path.join(config["fastqdir"], "%s_R3.fastq" %(config["fastqprefix"])),
output:
r1 = temp(os.path.join("Result/Tmp", "%s_R1.fastq" %(config["fastqprefix"]))),
r2 = temp(os.path.join("Result/Tmp", "%s_R2.fastq" %(config["fastqprefix"]))),
r3 = temp(os.path.join("Result/Tmp", "%s_R3.fastq" %(config["fastqprefix"]))),
params:
outdir = config["fastqdir"]
outdir = "Result/Tmp"
benchmark:
"Result/Benchmark/%s_Preprocess.benchmark" %(config["outprefix"])
shell:
"python " + SCRIPT_PATH + "/scATAC_sci_BarcodeExtract.py --R1 {input.fastq1} --R2 {input.fastq2} -O {params.outdir}"
"cp {input.r1} {input.r2} {input.r3} {params.outdir};"

rule scatac_fqaddbarcode:
input:
r1 = os.path.join(config["fastqdir"], "%s_R1.fastq" %(config["fastqprefix"])),
r2 = os.path.join(config["fastqdir"], "%s_R2.fastq" %(config["fastqprefix"])),
r3 = os.path.join(config["fastqdir"], "%s_R3.fastq" %(config["fastqprefix"])),
r1 = os.path.join("Result/Tmp", "%s_R1.fastq" %(config["fastqprefix"])),
r2 = os.path.join("Result/Tmp", "%s_R2.fastq" %(config["fastqprefix"])),
r3 = os.path.join("Result/Tmp", "%s_R3.fastq" %(config["fastqprefix"])),
output:
r1 = temp(os.path.join(config["fastqdir"], "%s_R1.barcoded.fastq" %(config["fastqprefix"]))),
r3 = temp(os.path.join(config["fastqdir"], "%s_R3.barcoded.fastq" %(config["fastqprefix"]))),
r1 = temp(os.path.join("Result/Tmp", "%s_R1.barcoded.fastq" %(config["fastqprefix"]))),
r3 = temp(os.path.join("Result/Tmp", "%s_R3.barcoded.fastq" %(config["fastqprefix"]))),
# r1 = "%s/%s_R1.barcoded.fastq" %(config["fastqdir"], config["fastqprefix"]),
# r3 = "%s/%s_R3.barcoded.fastq" %(config["fastqdir"], config["fastqprefix"]),
benchmark:
Expand All @@ -412,8 +429,8 @@ if config["platform"] == "10x-genomics" or config["platform"] == "sci-ATAC-seq":
rule scatac_map:
input:
fasta = config["genome"]["fasta"],
r1 = os.path.join(config["fastqdir"], "%s_R1.barcoded.fastq" %(config["fastqprefix"])),
r3 = os.path.join(config["fastqdir"], "%s_R3.barcoded.fastq" %(config["fastqprefix"])),
r1 = os.path.join("Result/Tmp", "%s_R1.barcoded.fastq" %(config["fastqprefix"])),
r3 = os.path.join("Result/Tmp", "%s_R3.barcoded.fastq" %(config["fastqprefix"])),
output:
bam = temp("Result/minimap2/%s.sortedByPos.bam" %(config["outprefix"])),
threads:
Expand Down Expand Up @@ -441,7 +458,7 @@ if config["platform"] == "10x-genomics" or config["platform"] == "sci-ATAC-seq":
if config["whitelist"]:
rule scatac_barcodecorrect:
input:
r2 = os.path.join(config["fastqdir"], "%s_R2.fastq" %(config["fastqprefix"])),
r2 = os.path.join("Result/Tmp", "%s_R2.fastq" %(config["fastqprefix"])),
whitelist = config["whitelist"],
output:
bc_correct = "Result/minimap2/barcode_correct.txt",
Expand All @@ -456,7 +473,7 @@ if config["platform"] == "10x-genomics" or config["platform"] == "sci-ATAC-seq":
else:
rule scatac_barcodecorrect:
input:
r2 = os.path.join(config["fastqdir"], "%s_R2.fastq" %(config["fastqprefix"])),
r2 = os.path.join("Result/Tmp", "%s_R2.fastq" %(config["fastqprefix"])),
output:
bc_correct = "Result/minimap2/barcode_correct.txt",
bc_correct_uniq = "Result/minimap2/barcode_correct_uniq.txt",
Expand Down Expand Up @@ -537,15 +554,15 @@ if config["platform"] == "10x-genomics" or config["platform"] == "sci-ATAC-seq":
bam = "Result/minimap2/%s.sortedByPos.CRadded.rmdp.bam" %(config["outprefix"]),
metric = "Result/minimap2/%s.rmdp.txt" %(config["outprefix"]),
fragbed = "Result/QC/%s_frag.bed" %(config["outprefix"]),
tmp = temp(directory("Result/Tmp"))
params:
sam = "Result/minimap2/%s.sortedByPos.CRadded.rmdp.sample.sam" %(config["outprefix"])
sam = "Result/minimap2/%s.sortedByPos.CRadded.rmdp.sample.sam" %(config["outprefix"]),
tmp = "Result/Tmp",
threads:
int(config["cores"])-2
benchmark:
"Result/Benchmark/%s_Rmdp.benchmark" %(config["outprefix"])
shell:
"picard MarkDuplicates INPUT={input.bam} OUTPUT={output.bam} METRICS_FILE={output.metric} TMP_DIR={output.tmp};"
"picard MarkDuplicates INPUT={input.bam} OUTPUT={output.bam} METRICS_FILE={output.metric} TMP_DIR={params.tmp};"
"samtools view -@ {threads} -s 0.01 -o {params.sam} {input.bam};"
"awk '{{if ($9>0) print $9}}' {params.sam} > {output.fragbed};"

Expand Down

0 comments on commit 9373410

Please sign in to comment.