Skip to content
Snippets Groups Projects
Commit 3133235b authored by OTT Oceane's avatar OTT Oceane
Browse files

Commit

parent 5815d711
No related branches found
No related tags found
No related merge requests found
#The list of subcommands
help:
@echo "Available subcommands"
@echo "\t- run"
@echo "\t- clean"
@echo "\t- graph"
@echo "\t- rulegraph"
@echo "\t- dry"
run:
@bash -c "module unload snakemake; \
module load snakemake/7.25.0 ; \
snakemake --cluster 'sbatch -c {params.cpu} --mem {params.mem} --partition=fast --account=2427_data_master' -c 3000 -j 500 --rerun-incomplete --rerun-trigger mtime"
dry:
@bash -c "module unload snakemake; \
module load snakemake/7.25.0 ; \
snakemake --cluster 'sbatch -c {params.cpu} --mem {params.mem} --partition=fast --account=2427_data_master' -c 3000 -j 500 --rerun-incomplete --rerun-trigger mtime -n -p"
# Clean unnecessary files
clean:
@rm -f slurm*.out graph.png rulegraph.png
graph:
@bash -c "module unload snakemake; \
module load snakemake/7.25.0; \
module load graphviz/2.40.1; \
snakemake --dag | fdp -Tpng > graph.png"
rulegraph:
@bash -c "module unload snakemake; \
module load snakemake/7.25.0; \
module load graphviz/2.40.1; \
snakemake --rulegraph | dot -Tpng > graph.png"
queue:
@squeue -u $$USER
\ No newline at end of file
# Librairie
import os
import re
import sys
#Definir le répértoir de travail
workdir:os.getcwd()
# Définition des chemins de fichiers et répertoires
DATADIR="/shared/projects/2427_data_master/datasets/E-MTAB-8560/"
STARINDEX="/shared/bank/mus_musculus/mm10/star-2.7.5a"
GTF ="/shared/bank/mus_musculus/mm10/gff/Mus_musculus.GRCm38.97.gtf"
SZ="/shared/bank/mus_musculus/mm10/star-2.7.5a/chrNameLength.txt"
# Extraction et traitement des noms d'échantillons
SAMPLE=os.listdir(DATADIR)
SAMPLE=[x for x in SAMPLE if ".fq.gz" in x]
SAMPLE=[re.sub("_R[12]\\.fq\\.gz","",x)for x in SAMPLE]
SAMPLE=list(set(SAMPLE))
SAMPLE=sorted(SAMPLE)
SAMPLE=SAMPLE[:10]
# Règle principale pour définir les sorties globales
rule final:
input: expand("fastqc/{smp}_R1_fastqc.zip" , smp=SAMPLE), \
expand("fastqctrim/{smp}_R1_fastqc.zip" , smp=SAMPLE) , \
expand("star/{smp}.bam.bai" , smp=SAMPLE) , \
expand("coverage/{smp}.bw" , smp=SAMPLE) , \
expand("featurecounts/{smp}.txt" , smp=SAMPLE) , \
expand("star/{smp}.bam" , smp=SAMPLE)
rule fastqc:
input: r1 = DATADIR + "{smp}_R1.fq.gz", \
r2 = DATADIR + "{smp}_R2.fq.gz"
output: r1 ="fastqc/{smp}_R1_fastqc.zip", \
r2 ="fastqc/{smp}_R2_fastqc.zip"
params : cpu="1" , mem="4G"
shell:"""
module load fastqc/0.12.1
fastqc --outdir fastqc {input.r1} {input.r2}
"""
rule trimmomatic:
input: r1 = DATADIR + "{smp}_R1.fq.gz", \
r2 = DATADIR + "{smp}_R2.fq.gz"
output: r1 ="trimmomatic/{smp}_R1.fq.gz", \
r2 ="trimmomatic/{smp}_R2.fq.gz", \
r1u ="trimmomatic/{smp}_R1U.fq.gz", \
r2u ="trimmomatic/{smp}_R2U.fq.gz"
params : cpu="4" , mem="4G"
shell:"""
module load trimmomatic/0.39
trimmomatic PE -threads 1 -phred33 \
{input.r1} {input.r2} \
{output.r1} {output.r1u} \
{output.r2} {output.r2u} \
SLIDINGWINDOW:4:20 MINLEN:20
"""
rule fastqc_trim:
input: r1 = "trimmomatic/{smp}_R1.fq.gz", \
r2 = "trimmomatic/{smp}_R2.fq.gz"
output: r1 ="fastqctrim/{smp}_R1_fastqc.zip", \
r2 ="fastqctrim/{smp}_R2_fastqc.zip"
params : cpu="1" , mem="4G"
shell:"""
module load fastqc/0.12.1
fastqc --outdir fastqctrim {input.r1} {input.r2}
"""
rule star:
input: r1="trimmomatic/{smp}_R1.fq.gz", \
r2="trimmomatic/{smp}_R2.fq.gz"
output: "star/{smp}.bam"
params: cpu="20", mem="50G", index=STARINDEX
shell: """
module unload star
module load star/2.7.5a
STAR --genomeDir {params.index} \
--runThreadN {params.cpu} \
--readFilesIn {input.r1} {input.r2} \
--outFileNamePrefix star/{wildcards.smp} \
--outSAMtype BAM SortedByCoordinate \
--readFilesCommand zcat \
--outFilterMultimapNmax 1
mv star/{wildcards.smp}Aligned.sortedByCoord.out.bam {output}
"""
rule samtools_index:
input: "star/{smp}.bam"
output: "star/{smp}.bam.bai"
params: cpu="1" , mem="4G"
shell:"""
module unload samtools
module load samtools/1.18
samtools index {input}
"""
rule big_wig:
input: "star/{smp}.bam"
output: "coverage/{smp}.bw"
params: cpu="20" , mem="50G" , sz=SZ
shell:"""
module unload rseqc
module unload ucsc-wigtobigwig
module load ucsc-wigtobigwig/377
module load rseqc/2.6.4
mkdir -p coverage
bam2wig.py -s {params.sz} \
-i {input} \
-o coverage/{wildcards.smp}
"""
rule feature:
input: "star/{smp}.bam"
output: "featurecounts/{smp}.txt"
params: cpu="4" , mem="16G" , gtf=GTF
shell:"""
module unload subread
module load subread/2.0.6
featureCounts -p --countReadPairs -t exon -g gene_id -a {params.gtf} \
-o featurecounts/{wildcards.smp}.txt {input}
"""
\ No newline at end of file
# Download Clone # Description:
This project automates the execution of four scripts for the analysis of GWAS (Genome-Wide Association Study) data.
mkdir m2bsgreprod #Steps to Run the Project
git clone git@etulab.univ-amu.fr:o22025448/tp1ara.git > m2bsgreprod ## Step 1:
Follow the instructions in doc/01install.md to install the necessary dependencies and set up the environment.
# Install the micromamba or equiv. ## Step 2:
After setup, proceed with doc/02run.md to execute the analysis scripts and complete the workflow.
# Create a m2bsgreprod micromamba environment and install apptainer 1.3.2
# Build the apptainer image
mkdir -p results/containers
sudo /home/gonzalez/Software/micromamba/envs/m2bsgreprod/bin/apptainer build results/containers/m2bsgreprod.sif containers/m2bsgreprod.def
# Execute the Rscripts
micromamba activate m2bsgreprod
apptainer exec results/containers/m2bsgreprod3.sif make -f workflows/makefile
## Vesion
To obtain version information, please consult the commit and branch indicated in the Release.md file.
Version for evaluation # Version for evaluation
#Installation Guide
1. Clone the Repository
mkdir m2bsgreprod
git clone git@etulab.univ-amu.fr:o22025448/tp1ara.git > m2bsgreprod
2. Install the micromamba or equiv.
3. Create a m2bsgreprod micromamba environment and install apptainer 1.3.2
4. Build the apptainer image
mkdir -p results/containers
sudo build results/containers/m2bsgreprod.sif containers/m2bsgreprod.def
# Execute the Rscripts
1. Activate the Environnement
micromamba activate m2bsgreprod
2. Run the Workflow
apptainer exec results/containers/m2bsgreprod3.sif make -f workflows/makefile
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment