Skip to content

Commit 9bfe53c

Browse files
committed
release_v1.0.0
1 parent 44a7aa4 commit 9bfe53c

25 files changed

Lines changed: 154 additions & 92 deletions

File tree

Project_Template/01.Reference_Genome_Preprocessing/RecombineX.01.Reference_Genome_Preprocessing.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ source ./../../env.sh
88
###########################################
99
# set project-specific variables
1010
reference_genome_assembly="./../00.Reference_Genome/SGDref.genome.fa.gz" # The input reference genome assembly in FASTA format with or without gz compression (e.g. *.fa, *.fasta, *.fa.gz, *.fasta.gz). Default = "./../00.Reference_Genome/SGDref.genome.fa.gz".
11-
use_centromere_annotation="yes" # Whether to use the centromere annotation information. When set to "yes" (default), you need to also provide the path to the centromere GFF file in the "centromere_gff=" option below. Default = "yes".
12-
centromere_gff="./../00.Reference_Genome/SGDref.centromere.gff" # Path to the centromere annotation GFF3 file. Required when "use_centromere_annotation="yes". Otherwise, leave it empty. Default = "./../00.Reference_Genome/SGDref.centromere.gff".
11+
use_centromere_annotation="yes" # Whether to use the centromere annotation information. When set to "yes" (default), you need to also provide the path to the centromere GFF file in the "centromere_gff=" option below. Set this option to "no" when running RecombineX for the mitochondrial genome. Default = "yes".
12+
centromere_gff="./../00.Reference_Genome/SGDref.centromere.gff" # Path to the centromere annotation GFF3 file. Required when "use_centromere_annotation="yes". Otherwise, leave it empty. Set this option to "" when running RecombineX for the mitochondrial genome. Default = "./../00.Reference_Genome/SGDref.centromere.gff".
1313
window_size=250 # The window size for the non-overlapping sliding-window-based CNV profiling. Default = 250 (i.e. 250 bp).
1414
threads=4 # The number of threads to use. Default = "4".
1515
debug="no" # Whether to keep intermediate files for debuging. Use "yes" if prefer to keep intermediate files, otherwise use "no". Default = "no".
@@ -23,11 +23,13 @@ debug="no" # Whether to keep intermediate files for debuging. Use "yes" if prefe
2323
lower_quantile=15
2424
upper_quantile=85
2525
min_mappability=0.85 # The minimal mappability for sliding-window-based CNV profiling. Default = "0.85".
26-
excluded_chr_list_for_cnv_profiling="" # The relative path to the list for specifying chromosomes/scaffolds/contigs to be exclued for CNV profiling. We strongly recommend to exclude the organelle (e.g. Mitochondria and Choloraplast) genomes and plasmids if exists. Use "" if there is no chromosome/scaffold/contig for exclusion. Default = "".
26+
2727
raw_read_length=100 # RecombineX will fix this value for simplicity. There is no need to adjust it for the actual lengths of your Illumina reads.
2828
check_duplicates_by_windowmasker="no" # Whether to mark duplicated regions using windowmasker. Default = "no".
2929
ram_for_windowmasker="1536" # Accessible RAM (in MB) for windowmasker. Default = 1536.
3030

31+
excluded_chr_list_for_cnv_profiling="" # The relative path to the list for specifying chromosomes/scaffolds/contigs to be exclued for CNV profiling. Default = "".
32+
3133
test_file_existence () {
3234
filename=$1
3335
if [[ ! -f $filename ]]

Project_Template/02.Polymorphic_Markers_by_Reference_based_Read_Mapping/RecombineX.02.Polymorphic_Markers_by_Reference_based_Read_Mapping.sh

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ parent1_reads_R1="./../00.Parent_Reads/$parent1_tag.R1.fq.gz" # The path to the
1313
parent1_reads_R2="./../00.Parent_Reads/$parent1_tag.R2.fq.gz" # The path to the paired-end R2 reads of the parental genome 1. Default = "./../00.Parent_Reads/$parent1_tag.R2.fq.gz".
1414
parent2_reads_R1="./../00.Parent_Reads/$parent2_tag.R1.fq.gz" # The path to the paired-end R1 reads of the parental genome 2. Default = "./../00.Parent_Reads/$parent2_tag.R1.fq.gz".
1515
parent2_reads_R2="./../00.Parent_Reads/$parent2_tag.R2.fq.gz" # The path to the paired-end R2 reads of the parental genome 2. Default = "./../00.Parent_Reads/$parent2_tag.R2.fq.gz".
16-
use_centromere_annotation="yes" # Whether to use the centromere annotation information. Please note that enabling this option requires that you have the parent1_tag.centromere.relabel.gff and parent2_tag.centromere.relabel.gff files ready in the "./../01.Reference_Genome_Preprocessing" directory. Default = "yes".
16+
use_centromere_annotation="yes" # Whether to use the centromere annotation information. Please note that enabling this option requires that you have the parent1_tag.centromere.relabel.gff and parent2_tag.centromere.relabel.gff files ready in the "./../01.Reference_Genome_Preprocessing" directory. Set this option to "no" when running RecombineX for the mitochondrial genome. Default = "yes".
17+
apply_CNV_filter="yes" # Whether to apply CNV filter marker candidates. Set this option to "no" when running RecombineX for the mitochondrial genome due to its substantial GC% bias and highly repetitive content. Default = "yes".
1718
ploidy=1 # The ploidy of the parental genome. (e.g. "1" for haploid and "2" for diploid). For diploid parents, only homozygous SNPs will be used as markers. If the parental genome is purely homozygous, it is recommended to set "ploidy=1" to maximize the power of CNV profiling. Default = "1".
1819
window_size=250 # The window size for the non-overlapping sliding-window-based CNV profiling. Default = 250 (i.e. 250 bp).
1920
threads=4 # The number of threads to use. Default = "4".
@@ -27,12 +28,14 @@ debug="no" # Whether to keep intermediate files for debuging. Use "yes" if prefe
2728
reference_genome_preprocessing_dir="./../01.Reference_Genome_Preprocessing" # The path to the 01.Reference_Genome_Preprocessing directory.
2829
reference_raw_assembly="$reference_genome_preprocessing_dir/ref.genome.raw.relabel.fa" # The relabeled reference genome raw assembly generated in the 01.Reference_Genome_Preprocessing directory.
2930
reference_hardmask_bed="$reference_genome_preprocessing_dir/ref.genome.hardmask.relabel.masking_details.bed" # The masking details bed file for the relabeled and hardmasked reference genome assembly file generated in the 01.Reference_Genome_Preprocessing directory.
30-
excluded_chr_list_for_cnv_profiling="" # The relative path to the list for specifying chromosomes/scaffolds/contigs to be exclued for CNV profiling. We strongly recommend to exclude the organelle (e.g. Mitochondria and Choloraplast) genomes and plasmids if exists. Use "" if there is no chromosome/scaffold/contig for exclusion. Default = "".
31+
3132
mapping_quality_cutoff=30 # The minimal mapping quality to be considered. Default = "30".
3233
variant_calling_quality_cutoff=30 # The minimal variant calling quality to be considered. Default = "30".
3334

3435
min_mappability=0.85 # The minimal mappability for sliding-window-based CNV profiling. Default = "0.85".
3536
cluster_window_size=10 # Adjacent variants within the specified window (unit: bp) will be both filtered out if any of them is INDEL. Default = "10".
37+
38+
excluded_chr_list_for_cnv_profiling="" # The relative path to the list for specifying chromosomes/scaffolds/contigs to be exclued for CNV profiling. Default = "".
3639
#######################################
3740

3841

@@ -345,7 +348,7 @@ $bedtools_dir/bedtools subtract -a ${parent1_tag}-ref.ref.caller.annotate.vcf -b
345348
cat ${parent1_tag}-ref.ref.caller.annotate.vcf.header ${parent1_tag}-ref.ref.caller.annotate_hardmask.vcf.content > ${parent1_tag}-ref.ref.caller.annotate_hardmask.vcf
346349

347350
parent1_based_CNV_bed_line_count=$(cat ${parent1_tag}-ref.ref.significant_CNV.bed |sed '/^\s*$/d' | wc -l)
348-
if [[ "$parent1_based_CNV_bed_line_count" > 0 ]]
351+
if [[ $apply_CNV_filter == "yes" && "$parent1_based_CNV_bed_line_count" > 0 ]]
349352
then
350353
$bedtools_dir/bedtools subtract -a ${parent1_tag}-ref.ref.caller.annotate_hardmask.vcf -b ${parent1_tag}-ref.ref.significant_CNV.bed > ${parent1_tag}-ref.ref.caller.annotate_hardmask_CNVmask.vcf.content
351354
cat ${parent1_tag}-ref.ref.caller.annotate.vcf.header ${parent1_tag}-ref.ref.caller.annotate_hardmask_CNVmask.vcf.content > ${parent1_tag}-ref.ref.caller.annotate_hardmask_CNVmask.vcf
@@ -631,7 +634,7 @@ $bedtools_dir/bedtools subtract -a ${parent2_tag}-ref.ref.caller.annotate.vcf -b
631634
cat ${parent2_tag}-ref.ref.caller.annotate.vcf.header ${parent2_tag}-ref.ref.caller.annotate_hardmask.vcf.content > ${parent2_tag}-ref.ref.caller.annotate_hardmask.vcf
632635

633636
parent2_based_CNV_bed_line_count=$(cat ${parent2_tag}-ref.ref.significant_CNV.bed |sed '/^\s*$/d' | wc -l)
634-
if [[ "$parent2_based_CNV_bed_line_count" > 0 ]]
637+
if [[ $apply_CNV_filter == "yes" && "$parent2_based_CNV_bed_line_count" > 0 ]]
635638
then
636639
$bedtools_dir/bedtools subtract -a ${parent2_tag}-ref.ref.caller.annotate_hardmask.vcf -b ${parent2_tag}-ref.ref.significant_CNV.bed > ${parent2_tag}-ref.ref.caller.annotate_hardmask_CNVmask.vcf.content
637640
cat ${parent2_tag}-ref.ref.caller.annotate.vcf.header ${parent2_tag}-ref.ref.caller.annotate_hardmask_CNVmask.vcf.content >${parent2_tag}-ref.ref.caller.annotate_hardmask_CNVmask.vcf
@@ -700,6 +703,7 @@ perl $RECOMBINEX_HOME/scripts/extract_polymorphic_markers_by_reference_based_vcf
700703

701704
perl $RECOMBINEX_HOME/scripts/filter_reference_based_markers_by_mpileup_and_depth.pl \
702705
-i $reference_based_prefix.depth_filter.SNP.markers.txt.gz \
706+
-filter_by_depth_variation $apply_cnv_filter \
703707
-ref_depth_summary ${parent1_tag}-ref.ref.coverage_summary.txt \
704708
-query_depth_summary ${parent2_tag}-ref.ref.coverage_summary.txt \
705709
-ref_mpileup ${parent1_tag}-ref.ref.mpileup.gz \
@@ -708,6 +712,7 @@ perl $RECOMBINEX_HOME/scripts/filter_reference_based_markers_by_mpileup_and_dept
708712

709713
# perl $RECOMBINEX_HOME/scripts/filter_reference_based_markers_by_mpileup_and_depth.pl \
710714
# -i $reference_based_prefix.depth_filter.INDEL.markers.txt.gz \
715+
# -filter_by_depth_variation $apply_cnv_filter \
711716
# -ref_depth_summary ${parent1_tag}-ref.ref.coverage_summary.txt \
712717
# -query_depth_summary ${parent2_tag}-ref.ref.coverage_summary.txt \
713718
# -ref_mpileup ${parent1_tag}-ref.ref.mpileup.gz \

Project_Template/03.Gamete_Read_Mapping_to_Reference_Genome/RecombineX.03.Gamete_Read_Mapping_to_Reference_Genome.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ gamete_reads_dir="./../00.Gamete_Reads" # The relative path to 00.Gamete_Reads.
2323
output_dir="$batch_id" # The output directory. Default = "$batch_id".
2424
mapping_quality_cutoff_for_mpileup=30 # The mapping quality cutoff for filtering the resulting bam file. Default = "30".
2525
min_mappability=0.85 # The minimal mappability for sliding-window-based CNV profiling. Default = "0.85".
26-
excluded_chr_list_for_cnv_profiling="" # The relative path to the list for specifying chromosomes/scaffolds/contigs in relabeled parental genomes (in ./../01.Reference_Genome_Preprocessing) to be exclued for CNV profiling. We strongly recommend to exclude the organelle (e.g. Mitochondria and Choloraplast) genomes and plasmids if they have not been previously excluded. Use "" if there is no chromosome/scaffold/contig for exclusion. Default = "" (since S288C_chrMT and SK1_chrMT have been previously excluded for the testing example).
26+
excluded_chr_list_for_cnv_profiling="" # The relative path to the list for specifying chromosomes/scaffolds/contigs in relabeled parental genomes (in ./../01.Reference_Genome_Preprocessing) to be exclued for CNV profiling. Default = "".
2727
##################################
2828

2929
perl $RECOMBINEX_HOME/scripts/batch_read_mapping_to_reference_genome.pl \

Project_Template/04.Gamete_Genotyping_by_Reference_Genome/RecombineX.04.Gamete_Genotyping_by_Reference_Genome.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ source ./../../env.sh
1010
batch_id="Batch_S288C-SK1" # The batch id used for the gamete read mapping analysis. Default = "Batch_S288C-SK1"
1111
master_sample_table="Master_Sample_Table.${batch_id}.txt" # The master sample table for this batch. Default = "Master_Sample_Table.${batch_id}.txt".
1212
net_quality_cutoff=50 # The net quality cutoff for genotyping. Default = "50".
13-
apply_cnv_filter="yes" # Whether to set gamete genotype to NA for potential CNV regions in gametes. Set this option to "no" if the gamete sequencing depth is very low (e.g. <= 1). Default = "yes".
13+
apply_cnv_filter="yes" # Whether to set gamete genotype to NA for potential CNV regions in gametes. Set this option to "no" if the gamete sequencing depth is very low (e.g., <= 1) or when running RecombineX for the mitochondrial genome. Default = "yes".
1414
allow_heteroduplex="no" # Whether to consider the possibility of heteroduplex formation. Default = "no".
1515
chr_list="$RECOMBINEX_HOME/data/Saccharomyces_cerevisiae.chr_list.txt" # The included chromosome list for the analyzed genome. Default = "$RECOMBINEX_HOME/data/Saccharomyces_cerevisiae.chr_list.txt".
1616
color_scheme="$RECOMBINEX_HOME/data/Saccharomyces_cerevisiae.color_scheme.txt" # The color scheme to use for plotting genotypes. This file is a tab-delimited two column list file in which the first column is parent_id and the second column is the hex color code. Default = "$RECOMBINEX_HOME/data/Saccharomyces_cerevisiae.color_scheme.txt".
17-
plot_centromere="yes" # Whether to plot centromere in the generated genotyping plots. Please note that enable this option requires that you have the ref.centromere.relabel.gff file ready in the "./../01.Reference_Genome_Preprocessing" directory. Default = "yes".
17+
plot_centromere="yes" # Whether to plot centromere in the generated genotyping plots. Please note that enable this option requires that you have the ref.centromere.relabel.gff file ready in the "./../01.Reference_Genome_Preprocessing" directory. Set this option to "no" when running RecombineX for the mitochondrial genome. Default = "yes".
1818
same_cross_combination_for_the_batch="yes" # Wether all the samples in the current batch come from the same cross combination (i.e. shared the same parents): "yes" or "no". When "yes", RecombineX will automatically profle and plot the parental allele frequency for every markers. Default = "yes".
1919
debug="no" # Whether to keep intermediate files for debuging. Use "yes" if prefer to keep intermediate files, otherwise use "no". Default = "no".
2020
###########################################

Project_Template/11.Parent_Genome_Preprocessing/RecombineX.11.Parent_Genome_Preprocessing.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ source ./../../env.sh
99
# set project-specific variables
1010
parent_tag="S288C" # The unique tag (preferably containing only letters and numbers) for this specific parental genome. This tag will be used throughout this project. Default = "S288C".
1111
parent_genome_assembly="./../00.Parent_Genomes/$parent_tag.genome.fa" # Input parental genome assembly in FASTA format with or without gz compression (e.g. *.fa, *.fasta, *.fa.gz, *.fasta.gz). Default = "./../00.Parent_Genomes/$parent_tag.genome.fa".
12-
use_centromere_annotation="yes" # Whether to use the centromere annotation information. When set to "yes" (default), you need to also provide the path to the centromere GFF file in the "centromere_gff=" option below. Default = "yes".
13-
centromere_gff="./../00.Parent_Genomes/$parent_tag.centromere.gff" # Path to the centromere annotation GFF3 file. Required when use_centromere_annotation="yes". Default = "./../00.Parent_Genomes/$parent_tag.centromere.gff".
12+
use_centromere_annotation="yes" # Whether to use the centromere annotation information. When set to "yes" (default), you need to also provide the path to the centromere GFF file in the "centromere_gff=" option below. Set this option to "" when running RecombineX for the mitochondrial genome. Default = "yes".
13+
centromere_gff="./../00.Parent_Genomes/$parent_tag.centromere.gff" # Path to the centromere annotation GFF3 file. Required when use_centromere_annotation="yes". Set this option to "" when running RecombineX for the mitochondrial genome. Default = "./../00.Parent_Genomes/$parent_tag.centromere.gff".
1414
window_size=250 # The window size for the non-overlapping sliding-window-based CNV profiling. Default = 250 (i.e. 250 bp).
1515
threads=4 # The number of threads to use. Default = "4".
1616
debug="no" # Whether to keep intermediate files for debuging. Use "yes" if prefer to keep intermediate files, otherwise use "no". Default = "no".
@@ -24,11 +24,13 @@ debug="no" # Whether to keep intermediate files for debuging. Use "yes" if prefe
2424
lower_quantile=15
2525
upper_quantile=85
2626
min_mappability=0.85 # The minimal mappability for sliding-window-based CNV profiling. Default = "0.85".
27-
excluded_chr_list_for_cnv_profiling="" # The relative path to the list for specifying chromosomes/scaffolds/contigs to be exclued for CNV profiling. We strongly recommend to exclude the organelle (e.g. Mitochondria and Choloraplast) genomes and plasmids if exists. Use "" if there is no chromosome/scaffold/contig for exclusion. Default = "".
27+
2828
raw_read_length=100 # RecombineX will fix this value for simplicity. There is no need to adjust it for the actual lengths of your Illumina reads.
2929
check_duplicates_by_windowmasker="no" # Whether to mark duplicated regions using windowmasker. Default = "no".
3030
ram_for_windowmasker="1536" # Accessible RAM (in MB) for windowmasker. Default = 1536.
3131

32+
excluded_chr_list_for_cnv_profiling="" # The relative path to the list for specifying chromosomes/scaffolds/contigs to be exclued for CNV profiling. Default = "".
33+
3234
test_file_existence () {
3335
filename=$1
3436
if [[ ! -f $filename ]]

Project_Template/12.Polymorphic_Markers_by_Cross_Parent_Genome_Alignment/RecombineX.12.Polymorphic_Markers_by_Cross_Parent_Genome_Alignment.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ parent1_tag="S288C" # The relabeling tag of genome 1 used in 11.Parent_Genome_Pr
1111
parent2_tag="SK1" # The relabeling tag of genome 2 used in 11.Parent_Genome_Preprocessing. Default = "SK1".
1212
genome_aln_mode="by_chromosome" # The mode for running whole genome alignment, can be "by_chromosome" (default) or "by_genome" (when interchromosomal rearrangements are involved, e.g. translocations). Default = "by_chromosome".
1313
chr_list="$RECOMBINEX_HOME/data/Saccharomyces_cerevisiae.chr_list.txt" # The chromosome list for whole-genome alignment by chromosome, only needed when genome_aln_mode="by_chromosome". Default = "$RECOMBINEX_HOME/data/Saccharomyces_cerevisiae.chr_list.txt".
14-
use_centromere_annotation="yes" # whether to use the centromere annotation information. Please note that enabling this option requires that you have the parent1_tag.centromere.relabel.gff and parent2_tag.centromere.relabel.gff files ready in the "./../11.Parent_Genome_Preprocessing" directory. Default = "yes".
14+
use_centromere_annotation="yes" # whether to use the centromere annotation information. Please note that enabling this option requires that you have the parent1_tag.centromere.relabel.gff and parent2_tag.centromere.relabel.gff files ready in the "./../11.Parent_Genome_Preprocessing" directory. Set this option to "no" when running RecombineX for the mitochondrial genome. Default = "yes".
1515
threads=4 # The number of threads to use. Default = "4".
1616
debug="no" # Whether to keep intermediate files for debuging. Use "yes" if prefer to keep intermediate files, otherwise use "no". Default = "no".
1717
###########################################

0 commit comments

Comments
 (0)