Skip to content
Snippets Groups Projects
Commit 6cf28511 authored by BIOPZ-Katsantoni Maria's avatar BIOPZ-Katsantoni Maria Committed by Alex Kanitz
Browse files

Major refactoring

* Sequencing mode-related changes:
  * allowed sequencing modes in Snakemake input table changed from `paired_end` and `single_end` to `pe` and `se`, respectively
  * remove sequencing mode from output paths for each rule
  * corresponding wild cards removed entirely from all rules that do not depend on sequencing mode (currently all rules that are defined in the main `Snakefile` in the project root directory)
  * where absolutely necessary, sequencing mode is added as part of output file or directory instead
  * remove dependency of sequencing mode for rule for `FastQC`; now runs separately for each strand
* Changes related to MultiQC and output file/directory structure
  * moving and renaming outputs for MultiQC is no longer required
  * code to create MultiQC custom config externalized into script `scripts/rhea_multiqc_config.py`
  * add MultiQC output files with deterministic output to md5 sum checks performed during execution of `tests/test_integration_workflow/test.{local,slurm}.sh`
  * output filenames for each rule now follow this general structure: `samples/{sample_name}/{rule}/{output_file}`
  * change log directory structure matches results directory structure
* Miscellaneous changes
  * consistent, PEP8-compliant formatting in most parts, including Snakemake files, where allowed
  * remove rule `extract_decoys_salmon`; equivalent file `chrName.txt` produced by `star_index` is used instead
  * add rule `start` which copies sample data to the results directory and enforces uniform naming
  * refactoring of ALFA rules and modification of the CI/CD test to ensure compatibility
parent 907082c3
No related branches found
No related tags found
1 merge request!62Major refactoring before release
Showing
with 1645 additions and 1435 deletions
......@@ -333,4 +333,5 @@ runs/.*
logs/
results/
!tests/test_alfa/results/
tests/input_files/homo_sapiens/genome.fa.fai
.java/
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -60,6 +60,11 @@ def main():
"\nif '--remote' is specified.",
metavar="STR")
parser.add_argument("--logo",
default='None',
help="zavolan lab logo path",
metavar="STR")
parser.add_argument("--table-name",
help="Name of LabKey table; required if '--remote'" +
" is specified.",
......@@ -110,6 +115,29 @@ def main():
parser.add_argument("--config-file",
help="Configuration file to be used by Snakemake")
parser.add_argument("--abspath",
choices=[os.path.abspath, str],
default=str,
help="Absolute path")
parser.add_argument("--samples_dir",
help="Path one level within Rhea",
default='')
parser.add_argument("--output_dir",
default='',
help="Path of the results directory")
parser.add_argument("--multiqc-url",
dest="multiqc_url",
default="No url",
help="Multiqc url of the group that did the analysis")
parser.add_argument("--multiqc-intro-text",
dest="multiqc_intro_text",
default="No description provided by user",
help="Multiqc small intro text of the analysis info")
try:
options = parser.parse_args()
except(Exception):
......@@ -179,13 +207,15 @@ def main():
input_dict.loc['replicate_name', 'labkey']] + "_" + row[
input_dict.loc['condition', 'labkey']]
if row[input_dict.loc['seqmode', 'labkey']] == 'PAIRED':
snakemake_table.loc[index, 'seqmode'] = 'paired_end'
snakemake_table.loc[index, 'seqmode'] = 'pe'
elif row[input_dict.loc['seqmode', 'labkey']] == 'SINGLE':
snakemake_table.loc[index, 'seqmode'] = 'single_end'
snakemake_table.loc[index, 'seqmode'] = 'se'
fq1 = os.path.join(
row[input_dict.loc['fastq_path', 'labkey']],
row[input_dict.loc['fq1', 'labkey']])
fq1 = options.abspath(
os.path.join(
options.samples_dir,
row[input_dict.loc['fastq_path', 'labkey']],
row[input_dict.loc['fq1', 'labkey']]))
snakemake_table.loc[index, 'fq1'] = fq1
read_length = get_read_length(fq1)
......@@ -200,25 +230,29 @@ def main():
' ', '_').lower()
snakemake_table.loc[index, 'organism'] = organism
snakemake_table.loc[index, 'gtf'] = os.path.join(
options.genomes_path,
organism,
'annotation.gtf')
snakemake_table.loc[index, 'gtf_filtered'] = os.path.join(
options.genomes_path,
organism,
'annotation.gtf')
snakemake_table.loc[index, 'genome'] = os.path.join(
options.genomes_path,
organism,
'genome.fa')
snakemake_table.loc[index, 'tr_fasta_filtered'] = os.path.join(
options.genomes_path,
organism,
'transcriptome.fa')
snakemake_table.loc[index, 'gtf'] = options.abspath(
os.path.join(
options.genomes_path,
organism,
'annotation.gtf'))
snakemake_table.loc[index, 'gtf_filtered'] = options.abspath(
os.path.join(
options.genomes_path,
organism,
'annotation.gtf'))
snakemake_table.loc[index, 'genome'] = options.abspath(
os.path.join(
options.genomes_path,
organism,
'genome.fa'))
snakemake_table.loc[index, 'tr_fasta_filtered'] = options.abspath(
os.path.join(
options.genomes_path,
organism,
'transcriptome.fa'))
snakemake_table.loc[index, 'sd'] = row[
input_dict.loc['sd', 'labkey']]
......@@ -239,10 +273,22 @@ def main():
get_kallisto_directionality(
row[input_dict.loc['mate1_direction', 'labkey']])
snakemake_table.loc[index, 'alfa_directionality'] = \
get_alfa_directionality(
row[input_dict.loc['mate1_direction', 'labkey']])
plus, minus = get_alfa_plus_minus(
row[input_dict.loc['mate1_direction', 'labkey']])
snakemake_table.loc[index, 'alfa_plus'] = plus
snakemake_table.loc[index, 'alfa_minus'] = minus
if row[input_dict.loc['seqmode', 'labkey']] == 'PAIRED':
fq2 = os.path.join(
row[input_dict.loc['fastq_path', 'labkey']],
row[input_dict.loc['fq2', 'labkey']])
fq2 = options.abspath(
os.path.join(
options.samples_dir,
row[input_dict.loc['fastq_path', 'labkey']],
row[input_dict.loc['fq2', 'labkey']]))
snakemake_table.loc[index, 'fq2'] = fq2
snakemake_table.loc[index, 'fq2_3p'] = row[
......@@ -272,16 +318,65 @@ def main():
header=True,
index=False)
samples = options.abspath(
os.path.join(
options.samples_dir,
options.samples_table))
output_dir = options.abspath(
os.path.join(
options.output_dir,
"results"))
logdir = options.abspath(
os.path.join(
options.output_dir,
"logs"))
kallisto_indexes = options.abspath(
os.path.join(
options.output_dir,
"results",
"kallisto_indexes"))
salmon_indexes = options.abspath(
os.path.join(
options.output_dir,
"results",
"salmon_indexes"))
star_indexes = options.abspath(
os.path.join(
options.output_dir,
"results",
"star_indexes"))
alfa_indexes = options.abspath(
os.path.join(
options.output_dir,
"results",
"alfa_indexes"))
logo = options.abspath(
os.path.join(
options.logo))
multiqc_url = options.multiqc_url
multiqc_intro_text = options.multiqc_intro_text
# Read file and infer read size for sjdbovwerhang
with open(options.config_file, 'w') as config_file:
config_file.write('''---
samples: "''' + options.samples_table + '''"
output_dir: "results/"
log_dir: "logs/"
kallisto_indexes: "results/kallisto_indexes/"
salmon_indexes: "results/salmon_indexes/"
star_indexes: "results/star_indexes/"
alfa_indexes: "results/alfa_indexes/"
config_file.write(f'''---
samples: "{samples}"
output_dir: "{output_dir}"
log_dir: "{logdir}"
kallisto_indexes: "{kallisto_indexes}"
salmon_indexes: "{salmon_indexes}"
star_indexes: "{star_indexes}"
alfa_indexes: "{alfa_indexes}"
logo: "{logo}"
multiqc_url: "{multiqc_url}"
multiqc_intro_text: "{multiqc_intro_text}"
...''')
sys.stdout.write('Create snakemake table finished successfully...\n')
......@@ -310,7 +405,7 @@ def get_read_length(filename):
def infer_kmer_length(read_length):
if read_length <= 50:
kmer = 21
kmer = 21
elif read_length > 50:
kmer = 31
return kmer
......@@ -326,6 +421,29 @@ def get_kallisto_directionality(directionality):
return final_direction
def get_alfa_directionality(directionality):
if directionality == 'SENSE':
final_direction = 'fr-firststrand'
elif directionality == 'ANTISENSE':
final_direction = 'fr-secondstrand'
else:
final_direction = ''
return final_direction
def get_alfa_plus_minus(directionality):
if directionality == 'SENSE':
plus = 'str1'
minus = 'str2'
elif directionality == 'ANTISENSE':
minus = 'str1'
plus = 'str2'
else:
plus = ''
minus = ''
return plus, minus
def trim_polya(sense):
if sense == 'SENSE':
polya_3p = 'AAAAAAAAAAAAAAAAA'
......
---
samples: "../input_files/samples.tsv"
output_dir: "results/"
log_dir: "logs/"
kallisto_indexes: "results/kallisto_indexes/"
salmon_indexes: "results/salmon_indexes/"
star_indexes: "results/star_indexes/"
alfa_indexes: "results/alfa_indexes/"
...
output_dir: "results"
log_dir: "logs"
kallisto_indexes: "results/kallisto_indexes"
salmon_indexes: "results/salmon_indexes"
star_indexes: "results/star_indexes"
alfa_indexes: "results/alfa_indexes"
logo: "../../images/logo.128px.png"
multiqc_intro_text: "No description provided by user"
multiqc_url: "https://zavolan.biozentrum.unibas.ch/"
...
\ No newline at end of file
......@@ -6,4 +6,7 @@
salmon_indexes: "results/salmon_indexes/"
star_indexes: "results/star_indexes/"
alfa_indexes: "results/alfa_indexes/"
logo: "../../images/logo.128px.png"
multiqc_intro_text: "No description provided by user"
multiqc_url: "https://zavolan.biozentrum.unibas.ch/"
...
sample seqmode fq1 index_size kmer fq1_3p fq1_5p organism gtf gtf_filtered genome tr_fasta_filtered sd mean multimappers soft_clip pass_mode libtype fq1_polya_3p fq1_polya_5p kallisto_directionality fq2 fq2_3p fq2_5p fq2_polya_3p fq2_polya_5p
synthetic_10_reads_paired_synthetic_10_reads_paired paired_end ../input_files/project1/synthetic.mate_1.fastq.gz 75 31 AGATCGGAAGAGCACA XXXXXXXXXXXXX homo_sapiens ../input_files/homo_sapiens/annotation.gtf ../input_files/homo_sapiens/annotation.gtf ../input_files/homo_sapiens/genome.fa ../input_files/homo_sapiens/transcriptome.fa 100 250 10 EndToEnd None A AAAAAAAAAAAAAAAAA XXXXXXXXXXXXXXXXX --fr ../input_files/project1/synthetic.mate_2.fastq.gz AGATCGGAAGAGCGT XXXXXXXXXXXXX XXXXXXXXXXXXXXXXX TTTTTTTTTTTTTTTTT
synthetic_10_reads_mate_1_synthetic_10_reads_mate_1 single_end ../input_files/project2/synthetic.mate_1.fastq.gz 75 31 AGATCGGAAGAGCACA XXXXXXXXXXXXX homo_sapiens ../input_files/homo_sapiens/annotation.gtf ../input_files/homo_sapiens/annotation.gtf ../input_files/homo_sapiens/genome.fa ../input_files/homo_sapiens/transcriptome.fa 100 250 10 EndToEnd None A AAAAAAAAAAAAAAAAA XXXXXXXXXXXXXXXXX --fr XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX
sample seqmode fq1 index_size kmer fq1_3p fq1_5p organism gtf gtf_filtered genome tr_fasta_filtered sd mean multimappers soft_clip pass_mode libtype fq1_polya_3p fq1_polya_5p kallisto_directionality alfa_directionality alfa_plus alfa_minus fq2 fq2_3p fq2_5p fq2_polya_3p fq2_polya_5p
synthetic_10_reads_paired_synthetic_10_reads_paired pe ../input_files/project1/synthetic.mate_1.fastq.gz 75 31 AGATCGGAAGAGCACA XXXXXXXXXXXXX homo_sapiens ../input_files/homo_sapiens/annotation.gtf ../input_files/homo_sapiens/annotation.gtf ../input_files/homo_sapiens/genome.fa ../input_files/homo_sapiens/transcriptome.fa 100 250 10 EndToEnd None A AAAAAAAAAAAAAAAAA XXXXXXXXXXXXXXXXX --fr fr-firststrand str1 str2 ../input_files/project1/synthetic.mate_2.fastq.gz AGATCGGAAGAGCGT XXXXXXXXXXXXX XXXXXXXXXXXXXXXXX TTTTTTTTTTTTTTTTT
synthetic_10_reads_mate_1_synthetic_10_reads_mate_1 se ../input_files/project2/synthetic.mate_1.fastq.gz 75 31 AGATCGGAAGAGCACA XXXXXXXXXXXXX homo_sapiens ../input_files/homo_sapiens/annotation.gtf ../input_files/homo_sapiens/annotation.gtf ../input_files/homo_sapiens/genome.fa ../input_files/homo_sapiens/transcriptome.fa 100 250 10 EndToEnd None A AAAAAAAAAAAAAAAAA XXXXXXXXXXXXXXXXX --fr fr-firststrand str1 str2 XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXX
sample seqmode fq1 index_size kmer fq2 fq1_3p fq1_5p fq2_3p fq2_5p organism gtf gtf_filtered genome tr_fasta_filtered sd mean multimappers soft_clip pass_mode libtype kallisto_directionality fq1_polya fq2_polya
paired_end_R1_on_plus_sense paired_end XXXXXXXXXXXXX 75 31 XXXXXXXXXXXXX GATCGGAAGAGCACA XXXXXXXXXXXXX AGATCGGAAGAGCGT XXXXXXXXXXXXX homo_sapiens ../input_files/homo_sapiens/quick_start.gtf ../input_files/homo_sapiens/quick_start.gtf XXXXXXXXXXXXX XXXXXXXXXXXXX 100 250 10 EndToEnd None A --fr AAAAAAAAAAAAAAAAA TTTTTTTTTTTTTTTTT
paired_end_R1_on_plus_antisense paired_end XXXXXXXXXXXXX 75 31 XXXXXXXXXXXXX AGATCGGAAGAGCACA XXXXXXXXXXXXX AGATCGGAAGAGCGT XXXXXXXXXXXXX homo_sapiens ../input_files/homo_sapiens/quick_start.gtf ../input_files/homo_sapiens/quick_start.gtf XXXXXXXXXXXXX XXXXXXXXXXXXX 100 250 10 EndToEnd None A --rf AAAAAAAAAAAAAAAAA TTTTTTTTTTTTTTTTT
paired_end_R1_on_minus_sense paired_end XXXXXXXXXXXXX 75 31 XXXXXXXXXXXXX AGATCGGAAGAGCACA XXXXXXXXXXXXX AGATCGGAAGAGCGT XXXXXXXXXXXXX homo_sapiens ../input_files/homo_sapiens/quick_start.gtf ../input_files/homo_sapiens/quick_start.gtf XXXXXXXXXXXXX XXXXXXXXXXXXX 100 250 10 EndToEnd None A --fr AAAAAAAAAAAAAAAAA TTTTTTTTTTTTTTTTT
paired_end_R1_on_minus_antisense paired_end XXXXXXXXXXXXX 75 31 XXXXXXXXXXXXX AGATCGGAAGAGCACA XXXXXXXXXXXXX AGATCGGAAGAGCGT XXXXXXXXXXXXX homo_sapiens ../input_files/homo_sapiens/quick_start.gtf ../input_files/homo_sapiens/quick_start.gtf XXXXXXXXXXXXX XXXXXXXXXXXXX 100 250 10 EndToEnd None A --rf AAAAAAAAAAAAAAAAA TTTTTTTTTTTTTTTTT
sample seqmode fq1 index_size kmer fq2 fq1_3p fq1_5p fq2_3p fq2_5p organism gtf gtf_filtered genome tr_fasta_filtered sd mean multimappers soft_clip pass_mode libtype kallisto_directionality fq1_polya fq2_polya alfa_directionality alfa_plus alfa_minus
paired_end_R1_on_plus_sense pe XXXXXXXXXXXXX 75 31 XXXXXXXXXXXXX GATCGGAAGAGCACA XXXXXXXXXXXXX AGATCGGAAGAGCGT XXXXXXXXXXXXX homo_sapiens ../input_files/homo_sapiens/quick_start.gtf ../input_files/homo_sapiens/quick_start.gtf XXXXXXXXXXXXX XXXXXXXXXXXXX 100 250 10 EndToEnd None A --fr AAAAAAAAAAAAAAAAA TTTTTTTTTTTTTTTTT fr-firststrand str1 str2
paired_end_R1_on_plus_antisense pe XXXXXXXXXXXXX 75 31 XXXXXXXXXXXXX AGATCGGAAGAGCACA XXXXXXXXXXXXX AGATCGGAAGAGCGT XXXXXXXXXXXXX homo_sapiens ../input_files/homo_sapiens/quick_start.gtf ../input_files/homo_sapiens/quick_start.gtf XXXXXXXXXXXXX XXXXXXXXXXXXX 100 250 10 EndToEnd None A --rf AAAAAAAAAAAAAAAAA TTTTTTTTTTTTTTTTT fr-secondstrand str2 str1
paired_end_R1_on_minus_sense pe XXXXXXXXXXXXX 75 31 XXXXXXXXXXXXX AGATCGGAAGAGCACA XXXXXXXXXXXXX AGATCGGAAGAGCGT XXXXXXXXXXXXX homo_sapiens ../input_files/homo_sapiens/quick_start.gtf ../input_files/homo_sapiens/quick_start.gtf XXXXXXXXXXXXX XXXXXXXXXXXXX 100 250 10 EndToEnd None A --fr AAAAAAAAAAAAAAAAA TTTTTTTTTTTTTTTTT fr-firststrand str1 str2
paired_end_R1_on_minus_antisense pe XXXXXXXXXXXXX 75 31 XXXXXXXXXXXXX AGATCGGAAGAGCACA XXXXXXXXXXXXX AGATCGGAAGAGCGT XXXXXXXXXXXXX homo_sapiens ../input_files/homo_sapiens/quick_start.gtf ../input_files/homo_sapiens/quick_start.gtf XXXXXXXXXXXXX XXXXXXXXXXXXX 100 250 10 EndToEnd None A --rf AAAAAAAAAAAAAAAAA TTTTTTTTTTTTTTTTT fr-secondstrand str2 str1
90e42aa46890e9cd0a47800428699fbf results/alfa_indexes/homo_sapiens/75/ALFA/sorted_genes.stranded.ALFA_index
ccc3cf5a57fddb0d469e597d4376b1bf results/alfa_indexes/homo_sapiens/75/ALFA/sorted_genes.unstranded.ALFA_index
e5959524a2daf35da9249fb313920315 results/paired_end/paired_end_R1_on_minus_antisense/ALFA/Unique/paired_end_R1_on_minus_antisense.ALFA_feature_counts.tsv
c406c1800d3690dd774aaa7e3c190523 results/paired_end/paired_end_R1_on_minus_sense/ALFA/Unique/paired_end_R1_on_minus_sense.ALFA_feature_counts.tsv
c406c1800d3690dd774aaa7e3c190523 results/paired_end/paired_end_R1_on_plus_antisense/ALFA/Unique/paired_end_R1_on_plus_antisense.ALFA_feature_counts.tsv
e5959524a2daf35da9249fb313920315 results/paired_end/paired_end_R1_on_plus_sense/ALFA/Unique/paired_end_R1_on_plus_sense.ALFA_feature_counts.tsv
e5959524a2daf35da9249fb313920315 results/paired_end/paired_end_R1_on_minus_antisense/ALFA/UniqueMultiple/paired_end_R1_on_minus_antisense.ALFA_feature_counts.tsv
c406c1800d3690dd774aaa7e3c190523 results/paired_end/paired_end_R1_on_minus_sense/ALFA/UniqueMultiple/paired_end_R1_on_minus_sense.ALFA_feature_counts.tsv
c406c1800d3690dd774aaa7e3c190523 results/paired_end/paired_end_R1_on_plus_antisense/ALFA/UniqueMultiple/paired_end_R1_on_plus_antisense.ALFA_feature_counts.tsv
e5959524a2daf35da9249fb313920315 results/paired_end/paired_end_R1_on_plus_sense/ALFA/UniqueMultiple/paired_end_R1_on_plus_sense.ALFA_feature_counts.tsv
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_minus_antisense/ALFA/UniqueMultiple/paired_end_R1_on_minus_antisense_Signal.UniqueMultiple.out.minus.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_minus_antisense/ALFA/UniqueMultiple/paired_end_R1_on_minus_antisense_Signal.UniqueMultiple.out.plus.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_minus_sense/ALFA/UniqueMultiple/paired_end_R1_on_minus_sense_Signal.UniqueMultiple.out.minus.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_minus_sense/ALFA/UniqueMultiple/paired_end_R1_on_minus_sense_Signal.UniqueMultiple.out.plus.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_plus_antisense/ALFA/UniqueMultiple/paired_end_R1_on_plus_antisense_Signal.UniqueMultiple.out.minus.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_plus_antisense/ALFA/UniqueMultiple/paired_end_R1_on_plus_antisense_Signal.UniqueMultiple.out.plus.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_plus_sense/ALFA/UniqueMultiple/paired_end_R1_on_plus_sense_Signal.UniqueMultiple.out.minus.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_plus_sense/ALFA/UniqueMultiple/paired_end_R1_on_plus_sense_Signal.UniqueMultiple.out.plus.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_minus_antisense/ALFA/Unique/paired_end_R1_on_minus_antisense_Signal.Unique.out.minus.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_minus_antisense/ALFA/Unique/paired_end_R1_on_minus_antisense_Signal.Unique.out.plus.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_minus_sense/ALFA/Unique/paired_end_R1_on_minus_sense_Signal.Unique.out.minus.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_minus_sense/ALFA/Unique/paired_end_R1_on_minus_sense_Signal.Unique.out.plus.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_plus_antisense/ALFA/Unique/paired_end_R1_on_plus_antisense_Signal.Unique.out.minus.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_plus_antisense/ALFA/Unique/paired_end_R1_on_plus_antisense_Signal.Unique.out.plus.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_plus_sense/ALFA/Unique/paired_end_R1_on_plus_sense_Signal.Unique.out.minus.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_plus_sense/ALFA/Unique/paired_end_R1_on_plus_sense_Signal.Unique.out.plus.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_minus_antisense/STAR_coverage/paired_end_R1_on_minus_antisense_Signal.UniqueMultiple.str1.out.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_minus_antisense/STAR_coverage/paired_end_R1_on_minus_antisense_Signal.UniqueMultiple.str2.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_minus_antisense/STAR_coverage/paired_end_R1_on_minus_antisense_Signal.Unique.str1.out.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_minus_antisense/STAR_coverage/paired_end_R1_on_minus_antisense_Signal.Unique.str2.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_minus_sense/STAR_coverage/paired_end_R1_on_minus_sense_Signal.UniqueMultiple.str1.out.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_minus_sense/STAR_coverage/paired_end_R1_on_minus_sense_Signal.UniqueMultiple.str2.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_minus_sense/STAR_coverage/paired_end_R1_on_minus_sense_Signal.Unique.str1.out.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_minus_sense/STAR_coverage/paired_end_R1_on_minus_sense_Signal.Unique.str2.out.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_plus_antisense/STAR_coverage/paired_end_R1_on_plus_antisense_Signal.UniqueMultiple.str1.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_plus_antisense/STAR_coverage/paired_end_R1_on_plus_antisense_Signal.UniqueMultiple.str2.out.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_plus_antisense/STAR_coverage/paired_end_R1_on_plus_antisense_Signal.Unique.str1.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_plus_antisense/STAR_coverage/paired_end_R1_on_plus_antisense_Signal.Unique.str2.out.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_plus_sense/STAR_coverage/paired_end_R1_on_plus_sense_Signal.UniqueMultiple.str1.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_plus_sense/STAR_coverage/paired_end_R1_on_plus_sense_Signal.UniqueMultiple.str2.out.bg
8e23d52d7f635d927e292174f33168eb results/paired_end/paired_end_R1_on_plus_sense/STAR_coverage/paired_end_R1_on_plus_sense_Signal.Unique.str1.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/paired_end/paired_end_R1_on_plus_sense/STAR_coverage/paired_end_R1_on_plus_sense_Signal.Unique.str2.out.bg
e5959524a2daf35da9249fb313920315 results/samples/paired_end_R1_on_minus_antisense/ALFA/Unique/paired_end_R1_on_minus_antisense.ALFA_feature_counts.tsv
c406c1800d3690dd774aaa7e3c190523 results/samples/paired_end_R1_on_minus_sense/ALFA/Unique/paired_end_R1_on_minus_sense.ALFA_feature_counts.tsv
c406c1800d3690dd774aaa7e3c190523 results/samples/paired_end_R1_on_plus_antisense/ALFA/Unique/paired_end_R1_on_plus_antisense.ALFA_feature_counts.tsv
e5959524a2daf35da9249fb313920315 results/samples/paired_end_R1_on_plus_sense/ALFA/Unique/paired_end_R1_on_plus_sense.ALFA_feature_counts.tsv
e5959524a2daf35da9249fb313920315 results/samples/paired_end_R1_on_minus_antisense/ALFA/UniqueMultiple/paired_end_R1_on_minus_antisense.ALFA_feature_counts.tsv
c406c1800d3690dd774aaa7e3c190523 results/samples/paired_end_R1_on_minus_sense/ALFA/UniqueMultiple/paired_end_R1_on_minus_sense.ALFA_feature_counts.tsv
c406c1800d3690dd774aaa7e3c190523 results/samples/paired_end_R1_on_plus_antisense/ALFA/UniqueMultiple/paired_end_R1_on_plus_antisense.ALFA_feature_counts.tsv
e5959524a2daf35da9249fb313920315 results/samples/paired_end_R1_on_plus_sense/ALFA/UniqueMultiple/paired_end_R1_on_plus_sense.ALFA_feature_counts.tsv
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_minus_antisense/ALFA/UniqueMultiple/paired_end_R1_on_minus_antisense.UniqueMultiple.minus.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_minus_antisense/ALFA/UniqueMultiple/paired_end_R1_on_minus_antisense.UniqueMultiple.plus.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_minus_sense/ALFA/UniqueMultiple/paired_end_R1_on_minus_sense.UniqueMultiple.minus.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_minus_sense/ALFA/UniqueMultiple/paired_end_R1_on_minus_sense.UniqueMultiple.plus.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_plus_antisense/ALFA/UniqueMultiple/paired_end_R1_on_plus_antisense.UniqueMultiple.minus.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_plus_antisense/ALFA/UniqueMultiple/paired_end_R1_on_plus_antisense.UniqueMultiple.plus.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_plus_sense/ALFA/UniqueMultiple/paired_end_R1_on_plus_sense.UniqueMultiple.minus.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_plus_sense/ALFA/UniqueMultiple/paired_end_R1_on_plus_sense.UniqueMultiple.plus.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_minus_antisense/ALFA/Unique/paired_end_R1_on_minus_antisense.Unique.minus.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_minus_antisense/ALFA/Unique/paired_end_R1_on_minus_antisense.Unique.plus.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_minus_sense/ALFA/Unique/paired_end_R1_on_minus_sense.Unique.minus.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_minus_sense/ALFA/Unique/paired_end_R1_on_minus_sense.Unique.plus.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_plus_antisense/ALFA/Unique/paired_end_R1_on_plus_antisense.Unique.minus.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_plus_antisense/ALFA/Unique/paired_end_R1_on_plus_antisense.Unique.plus.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_plus_sense/ALFA/Unique/paired_end_R1_on_plus_sense.Unique.minus.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_plus_sense/ALFA/Unique/paired_end_R1_on_plus_sense.Unique.plus.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_minus_antisense/STAR_coverage/paired_end_R1_on_minus_antisense_Signal.UniqueMultiple.str1.out.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_minus_antisense/STAR_coverage/paired_end_R1_on_minus_antisense_Signal.UniqueMultiple.str2.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_minus_antisense/STAR_coverage/paired_end_R1_on_minus_antisense_Signal.Unique.str1.out.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_minus_antisense/STAR_coverage/paired_end_R1_on_minus_antisense_Signal.Unique.str2.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_minus_sense/STAR_coverage/paired_end_R1_on_minus_sense_Signal.UniqueMultiple.str1.out.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_minus_sense/STAR_coverage/paired_end_R1_on_minus_sense_Signal.UniqueMultiple.str2.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_minus_sense/STAR_coverage/paired_end_R1_on_minus_sense_Signal.Unique.str1.out.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_minus_sense/STAR_coverage/paired_end_R1_on_minus_sense_Signal.Unique.str2.out.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_plus_antisense/STAR_coverage/paired_end_R1_on_plus_antisense_Signal.UniqueMultiple.str1.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_plus_antisense/STAR_coverage/paired_end_R1_on_plus_antisense_Signal.UniqueMultiple.str2.out.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_plus_antisense/STAR_coverage/paired_end_R1_on_plus_antisense_Signal.Unique.str1.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_plus_antisense/STAR_coverage/paired_end_R1_on_plus_antisense_Signal.Unique.str2.out.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_plus_sense/STAR_coverage/paired_end_R1_on_plus_sense_Signal.UniqueMultiple.str1.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_plus_sense/STAR_coverage/paired_end_R1_on_plus_sense_Signal.UniqueMultiple.str2.out.bg
8e23d52d7f635d927e292174f33168eb results/samples/paired_end_R1_on_plus_sense/STAR_coverage/paired_end_R1_on_plus_sense_Signal.Unique.str1.out.bg
5e90c760710980f4f4866dbe9aa32c6c results/samples/paired_end_R1_on_plus_sense/STAR_coverage/paired_end_R1_on_plus_sense_Signal.Unique.str2.out.bg
......@@ -33,7 +33,7 @@ snakemake \
--use-singularity \
--singularity-args="--bind ${PWD}/../input_files,${PWD}/../../images" \
--verbose \
results/ALFA/ALFA_plots.concat.png
results/ALFA/ALFA_plots_mqc.png
# Check md5 sum of some output files
find results/ -type f -name \*\.gz -exec gunzip '{}' \;
......
......@@ -81,14 +81,14 @@ results/samples/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/synthetic_10
results/transcriptome/homo_sapiens/transcriptome.fa
results/alfa_indexes/homo_sapiens/75/ALFA/sorted_genes.stranded.ALFA_index
results/alfa_indexes/homo_sapiens/75/ALFA/sorted_genes.unstranded.ALFA_index
results/samples/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/ALFA/UniqueMultiple/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1_Signal.UniqueMultiple.out.minus.bg
results/samples/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/ALFA/UniqueMultiple/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1_Signal.UniqueMultiple.out.plus.bg
results/samples/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/ALFA/UniqueMultiple/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1.UniqueMultiple.minus.bg
results/samples/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/ALFA/UniqueMultiple/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1.UniqueMultiple.plus.bg
results/samples/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/ALFA/Unique/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1_Signal.Unique.out.minus.bg
results/samples/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/ALFA/Unique/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1_Signal.Unique.out.plus.bg
results/samples/synthetic_10_reads_paired_synthetic_10_reads_paired/ALFA/UniqueMultiple/synthetic_10_reads_paired_synthetic_10_reads_paired_Signal.UniqueMultiple.out.minus.bg
results/samples/synthetic_10_reads_paired_synthetic_10_reads_paired/ALFA/UniqueMultiple/synthetic_10_reads_paired_synthetic_10_reads_paired_Signal.UniqueMultiple.out.plus.bg
results/samples/synthetic_10_reads_paired_synthetic_10_reads_paired/ALFA/Unique/synthetic_10_reads_paired_synthetic_10_reads_paired_Signal.Unique.out.minus.bg
results/samples/synthetic_10_reads_paired_synthetic_10_reads_paired/ALFA/Unique/synthetic_10_reads_paired_synthetic_10_reads_paired_Signal.Unique.out.plus.bg
results/samples/synthetic_10_reads_paired_synthetic_10_reads_paired/ALFA/UniqueMultiple/synthetic_10_reads_paired_synthetic_10_reads_paired.UniqueMultiple.minus.bg
results/samples/synthetic_10_reads_paired_synthetic_10_reads_paired/ALFA/UniqueMultiple/synthetic_10_reads_paired_synthetic_10_reads_paired.UniqueMultiple.plus.bg
results/samples/synthetic_10_reads_paired_synthetic_10_reads_paired/ALFA/Unique/synthetic_10_reads_paired_synthetic_10_reads_paired.Unique.minus.bg
results/samples/synthetic_10_reads_paired_synthetic_10_reads_paired/ALFA/Unique/synthetic_10_reads_paired_synthetic_10_reads_paired.Unique.plus.bg
results/samples/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/ALFA/UniqueMultiple/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1.ALFA_feature_counts.tsv
results/samples/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/ALFA/Unique/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1.ALFA_feature_counts.tsv
results/samples/synthetic_10_reads_paired_synthetic_10_reads_paired/ALFA/UniqueMultiple/synthetic_10_reads_paired_synthetic_10_reads_paired.ALFA_feature_counts.tsv
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment