Directory Structure - rsalani13/EPP622-2026-SNPCalling GitHub Wiki

From exam2 that holds all my analysis, here is the directory structure:

.
├── analyses
│   ├── bwamem2_3
│   │   ├── did_bwamem_work.sh
│   │   ├── loop_for_bwamems.sh
│   │   ├── multiqc_data
│   │   │   ├── llms-full.txt
│   │   │   ├── multiqc_citations.txt
│   │   │   ├── multiqc_data.json
│   │   │   ├── multiqc_general_stats.txt
│   │   │   ├── multiqc.log
│   │   │   ├── multiqc.parquet
│   │   │   ├── multiqc_samtools_coverage.txt
│   │   │   ├── multiqc_samtools_flagstat.txt
│   │   │   ├── multiqc_samtools_stats.txt
│   │   │   ├── multiqc_software_versions.txt
│   │   │   ├── multiqc_sources.txt
│   │   │   ├── samtools_alignment_plot.txt
│   │   │   ├── samtools-coverage_Bases.txt
│   │   │   ├── samtools-coverage_BQ.txt
│   │   │   ├── samtools-coverage_Coverage.txt
│   │   │   ├── samtools-coverage_Mean_depth.txt
│   │   │   ├── samtools-coverage_MQ.txt
│   │   │   ├── samtools-coverage_Reads.txt
│   │   │   ├── samtools-coverage-table.txt
│   │   │   ├── samtools-flagstat-pct-table.txt
│   │   │   ├── samtools-flagstat-table.txt
│   │   │   ├── samtools_insert_size.txt
│   │   │   └── samtools-stats-dp.txt
│   │   ├── multiqc_report_for_bwamem.html
│   │   ├── sacCer3.fa
│   │   ├── sacCer3.fa.0123
│   │   ├── sacCer3.fa.amb
│   │   ├── sacCer3.fa.ann
│   │   ├── sacCer3.fa.bwt.2bit.64
│   │   ├── sacCer3.fa.fai
│   │   ├── sacCer3.fa.pac
│   │   ├── Sample_A.coverage.txt
│   │   ├── Sample_A.flagstat.txt
│   │   ├── Sample_A_R1.trimmed.fastq.gz -> ../fastp2_withWARNING/Sample_A_R1.trimmed.fastq.gz
│   │   ├── Sample_A_R2.trimmed.fastq.gz -> ../fastp2_withWARNING/Sample_A_R2.trimmed.fastq.gz
│   │   ├── Sample_A.sorted.bam
│   │   ├── Sample_A.sorted.bam.bai
│   │   ├── Sample_A.stats.txt
│   │   ├── Sample_B.coverage.txt
│   │   ├── Sample_B.flagstat.txt
│   │   ├── Sample_B_R1.trimmed.fastq.gz -> ../fastp2_withWARNING/Sample_B_R1.trimmed.fastq.gz
│   │   ├── Sample_B_R2.trimmed.fastq.gz -> ../fastp2_withWARNING/Sample_B_R2.trimmed.fastq.gz
│   │   ├── Sample_B.sorted.bam
│   │   ├── Sample_B.sorted.bam.bai
│   │   ├── Sample_B.stats.txt
│   │   ├── Sample_C.coverage.txt
│   │   ├── Sample_C.flagstat.txt
│   │   ├── Sample_C_R1.trimmed.fastq.gz -> ../fastp2_withWARNING/Sample_C_R1.trimmed.fastq.gz
│   │   ├── Sample_C_R2.trimmed.fastq.gz -> ../fastp2_withWARNING/Sample_C_R2.trimmed.fastq.gz
│   │   ├── Sample_C.sorted.bam
│   │   ├── Sample_C.sorted.bam.bai
│   │   ├── Sample_C.stats.txt
│   │   ├── Sample_D.coverage.txt
│   │   ├── Sample_D.flagstat.txt
│   │   ├── Sample_D_R1.trimmed.fastq.gz -> ../fastp2_withWARNING/Sample_D_R1.trimmed.fastq.gz
│   │   ├── Sample_D_R2.trimmed.fastq.gz -> ../fastp2_withWARNING/Sample_D_R2.trimmed.fastq.gz
│   │   ├── Sample_D.sorted.bam
│   │   ├── Sample_D.sorted.bam.bai
│   │   └── Sample_D.stats.txt
│   ├── evaluating_6
│   │   ├── bam_list.txt -> ../filtering_5/bam_list.txt
│   │   ├── eval_for_raw.sh
│   │   ├── eval_script.sh
│   │   ├── evaluate_snps_v4.py -> ../../rawdata/check/evaluate_snps_v4.py
│   │   ├── evaluation_gentle
│   │   │   ├── Sample_A_gentle_false_negatives.tsv
│   │   │   ├── Sample_A_gentle_false_positives.tsv
│   │   │   ├── Sample_A_gentle_genotype_confusion.tsv
│   │   │   ├── Sample_B_gentle_false_negatives.tsv
│   │   │   ├── Sample_B_gentle_false_positives.tsv
│   │   │   ├── Sample_B_gentle_genotype_confusion.tsv
│   │   │   ├── Sample_C_gentle_false_negatives.tsv
│   │   │   ├── Sample_C_gentle_false_positives.tsv
│   │   │   ├── Sample_C_gentle_genotype_confusion.tsv
│   │   │   ├── Sample_D_gentle_false_negatives.tsv
│   │   │   ├── Sample_D_gentle_false_positives.tsv
│   │   │   ├── Sample_D_gentle_genotype_confusion.tsv
│   │   │   └── summary_all_runs.tsv
│   │   ├── evaluation_raw
│   │   │   ├── Sample_A_raw_false_negatives.tsv
│   │   │   ├── Sample_A_raw_false_positives.tsv
│   │   │   ├── Sample_A_raw_genotype_confusion.tsv
│   │   │   ├── Sample_B_raw_false_negatives.tsv
│   │   │   ├── Sample_B_raw_false_positives.tsv
│   │   │   ├── Sample_B_raw_genotype_confusion.tsv
│   │   │   ├── Sample_C_raw_false_negatives.tsv
│   │   │   ├── Sample_C_raw_false_positives.tsv
│   │   │   ├── Sample_C_raw_genotype_confusion.tsv
│   │   │   ├── Sample_D_raw_false_negatives.tsv
│   │   │   ├── Sample_D_raw_false_positives.tsv
│   │   │   ├── Sample_D_raw_genotype_confusion.tsv
│   │   │   └── summary_all_runs.tsv
│   │   ├── evaluation_stringent
│   │   │   ├── Sample_A_stringent_false_negatives.tsv
│   │   │   ├── Sample_A_stringent_false_positives.tsv
│   │   │   ├── Sample_A_stringent_genotype_confusion.tsv
│   │   │   ├── Sample_B_stringent_false_negatives.tsv
│   │   │   ├── Sample_B_stringent_false_positives.tsv
│   │   │   ├── Sample_B_stringent_genotype_confusion.tsv
│   │   │   ├── Sample_C_stringent_false_negatives.tsv
│   │   │   ├── Sample_C_stringent_false_positives.tsv
│   │   │   ├── Sample_C_stringent_genotype_confusion.tsv
│   │   │   ├── Sample_D_stringent_false_negatives.tsv
│   │   │   ├── Sample_D_stringent_false_positives.tsv
│   │   │   ├── Sample_D_stringent_genotype_confusion.tsv
│   │   │   └── summary_all_runs.tsv
│   │   ├── filtering.sh -> ../filtering_5/filtering.sh
│   │   ├── sacCer3.fa -> ../filtering_5/sacCer3.fa
│   │   ├── sacCer3.fa.0123 -> ../filtering_5/sacCer3.fa.0123
│   │   ├── sacCer3.fa.amb -> ../filtering_5/sacCer3.fa.amb
│   │   ├── sacCer3.fa.ann -> ../filtering_5/sacCer3.fa.ann
│   │   ├── sacCer3.fa.bwt.2bit.64 -> ../filtering_5/sacCer3.fa.bwt.2bit.64
│   │   ├── sacCer3.fa.fai -> ../filtering_5/sacCer3.fa.fai
│   │   ├── sacCer3.fa.pac -> ../filtering_5/sacCer3.fa.pac
│   │   ├── Sample_A.sorted.bam -> ../filtering_5/Sample_A.sorted.bam
│   │   ├── Sample_A.sorted.bam.bai -> ../filtering_5/Sample_A.sorted.bam.bai
│   │   ├── Sample_B.sorted.bam -> ../filtering_5/Sample_B.sorted.bam
│   │   ├── Sample_B.sorted.bam.bai -> ../filtering_5/Sample_B.sorted.bam.bai
│   │   ├── Sample_C.sorted.bam -> ../filtering_5/Sample_C.sorted.bam
│   │   ├── Sample_C.sorted.bam.bai -> ../filtering_5/Sample_C.sorted.bam.bai
│   │   ├── Sample_D.sorted.bam -> ../filtering_5/Sample_D.sorted.bam
│   │   ├── Sample_D.sorted.bam.bai -> ../filtering_5/Sample_D.sorted.bam.bai
│   │   ├── truth_snps.vcf -> ../../rawdata/check/truth_snps.vcf
│   │   ├── variant_calling.sh -> ../filtering_5/variant_calling.sh
│   │   ├── variant_filtered.stats.txt -> ../filtering_5/variant_filtered.stats.txt
│   │   ├── variant_filtered.vcf.gz -> ../filtering_5/variant_filtered.vcf.gz
│   │   ├── variant_gentle.stats.txt -> ../filtering_5/variant_gentle.stats.txt
│   │   ├── variant_gentle.vcf.gz -> ../filtering_5/variant_gentle.vcf.gz
│   │   ├── variant_output.raw.stats.txt -> ../filtering_5/variant_output.raw.stats.txt
│   │   ├── variant_script_output.raw.vcf.gz -> ../filtering_5/variant_script_output.raw.vcf.gz
│   │   ├── variant_stringent.stats.txt -> ../filtering_5/variant_stringent.stats.txt
│   │   └── variant_stringent.vcf.gz -> ../filtering_5/variant_stringent.vcf.gz
│   ├── fastp2
│   │   ├── fastp_bash.sh
│   │   ├── loop_to_get_multiqc_stats.sh
│   │   ├── multiqc_data
│   │   │   ├── fastp_filtered_reads_plot.txt
│   │   │   ├── fastp-insert-size-plot.txt
│   │   │   ├── fastp-seq-content-gc-plot_Read_1_After_filtering.txt
│   │   │   ├── fastp-seq-content-gc-plot_Read_1_Before_filtering.txt
│   │   │   ├── fastp-seq-content-gc-plot_Read_2_After_filtering.txt
│   │   │   ├── fastp-seq-content-gc-plot_Read_2_Before_filtering.txt
│   │   │   ├── fastp-seq-content-n-plot_Read_1_After_filtering.txt
│   │   │   ├── fastp-seq-content-n-plot_Read_1_Before_filtering.txt
│   │   │   ├── fastp-seq-content-n-plot_Read_2_After_filtering.txt
│   │   │   ├── fastp-seq-content-n-plot_Read_2_Before_filtering.txt
│   │   │   ├── fastp-seq-quality-plot_Read_1_After_filtering.txt
│   │   │   ├── fastp-seq-quality-plot_Read_1_Before_filtering.txt
│   │   │   ├── fastp-seq-quality-plot_Read_2_After_filtering.txt
│   │   │   ├── fastp-seq-quality-plot_Read_2_Before_filtering.txt
│   │   │   ├── llms-full.txt
│   │   │   ├── multiqc_citations.txt
│   │   │   ├── multiqc_data.json
│   │   │   ├── multiqc_fastp.txt
│   │   │   ├── multiqc_general_stats.txt
│   │   │   ├── multiqc.log
│   │   │   ├── multiqc.parquet
│   │   │   ├── multiqc_software_versions.txt
│   │   │   └── multiqc_sources.txt
│   │   ├── multiqc_report_for_fastp2.html
│   │   ├── Sample_A.fastp.html
│   │   ├── Sample_A.fastp.json
│   │   ├── Sample_A_R1.fastq.gz -> ../../rawdata/reads/Sample_A_R1.fastq.gz
│   │   ├── Sample_A_R1.trimmed.fastq.gz
│   │   ├── Sample_A_R2.fastq.gz -> ../../rawdata/reads/Sample_A_R2.fastq.gz
│   │   ├── Sample_A_R2.trimmed.fastq.gz
│   │   ├── Sample_B.fastp.html
│   │   ├── Sample_B.fastp.json
│   │   ├── Sample_B_R1.fastq.gz -> ../../rawdata/reads/Sample_B_R1.fastq.gz
│   │   ├── Sample_B_R1.trimmed.fastq.gz
│   │   ├── Sample_B_R2.fastq.gz -> ../../rawdata/reads/Sample_B_R2.fastq.gz
│   │   ├── Sample_B_R2.trimmed.fastq.gz
│   │   ├── Sample_C.fastp.html
│   │   ├── Sample_C.fastp.json
│   │   ├── Sample_C_R1.fastq.gz -> ../../rawdata/reads/Sample_C_R1.fastq.gz
│   │   ├── Sample_C_R1.trimmed.fastq.gz
│   │   ├── Sample_C_R2.fastq.gz -> ../../rawdata/reads/Sample_C_R2.fastq.gz
│   │   ├── Sample_C_R2.trimmed.fastq.gz
│   │   ├── Sample_D.fastp.html
│   │   ├── Sample_D.fastp.json
│   │   ├── Sample_D_R1.fastq.gz -> ../../rawdata/reads/Sample_D_R1.fastq.gz
│   │   ├── Sample_D_R1.trimmed.fastq.gz
│   │   ├── Sample_D_R2.fastq.gz -> ../../rawdata/reads/Sample_D_R2.fastq.gz
│   │   └── Sample_D_R2.trimmed.fastq.gz
│   ├── fastp2_withWARNING
│   │   ├── fastp_bash.sh
│   │   ├── loop_to_get_multiqc_stats.sh
│   │   ├── multiqc_data
│   │   │   ├── fastp_filtered_reads_plot.txt
│   │   │   ├── fastp-insert-size-plot.txt
│   │   │   ├── fastp-seq-content-gc-plot_Read_1_After_filtering.txt
│   │   │   ├── fastp-seq-content-gc-plot_Read_1_Before_filtering.txt
│   │   │   ├── fastp-seq-content-gc-plot_Read_2_After_filtering.txt
│   │   │   ├── fastp-seq-content-gc-plot_Read_2_Before_filtering.txt
│   │   │   ├── fastp-seq-content-n-plot_Read_1_After_filtering.txt
│   │   │   ├── fastp-seq-content-n-plot_Read_1_Before_filtering.txt
│   │   │   ├── fastp-seq-content-n-plot_Read_2_After_filtering.txt
│   │   │   ├── fastp-seq-content-n-plot_Read_2_Before_filtering.txt
│   │   │   ├── fastp-seq-quality-plot_Read_1_After_filtering.txt
│   │   │   ├── fastp-seq-quality-plot_Read_1_Before_filtering.txt
│   │   │   ├── fastp-seq-quality-plot_Read_2_After_filtering.txt
│   │   │   ├── fastp-seq-quality-plot_Read_2_Before_filtering.txt
│   │   │   ├── llms-full.txt
│   │   │   ├── multiqc_citations.txt
│   │   │   ├── multiqc_data.json
│   │   │   ├── multiqc_fastp.txt
│   │   │   ├── multiqc_general_stats.txt
│   │   │   ├── multiqc.log
│   │   │   ├── multiqc.parquet
│   │   │   ├── multiqc_software_versions.txt
│   │   │   └── multiqc_sources.txt
│   │   ├── multiqc_report_for_fastp2.html
│   │   ├── Sample_A.fastp.html
│   │   ├── Sample_A.fastp.json
│   │   ├── Sample_A_R1.fastq.gz -> ../../rawdata/reads/Sample_A_R1.fastq.gz
│   │   ├── Sample_A_R1.trimmed.fastq.gz
│   │   ├── Sample_A_R2.fastq.gz -> ../../rawdata/reads/Sample_A_R2.fastq.gz
│   │   ├── Sample_A_R2.trimmed.fastq.gz
│   │   ├── Sample_B.fastp.html
│   │   ├── Sample_B.fastp.json
│   │   ├── Sample_B_R1.fastq.gz -> ../../rawdata/reads/Sample_B_R1.fastq.gz
│   │   ├── Sample_B_R1.trimmed.fastq.gz
│   │   ├── Sample_B_R2.fastq.gz -> ../../rawdata/reads/Sample_B_R2.fastq.gz
│   │   ├── Sample_B_R2.trimmed.fastq.gz
│   │   ├── Sample_C.fastp.html
│   │   ├── Sample_C.fastp.json
│   │   ├── Sample_C_R1.fastq.gz -> ../../rawdata/reads/Sample_C_R1.fastq.gz
│   │   ├── Sample_C_R1.trimmed.fastq.gz
│   │   ├── Sample_C_R2.fastq.gz -> ../../rawdata/reads/Sample_C_R2.fastq.gz
│   │   ├── Sample_C_R2.trimmed.fastq.gz
│   │   ├── Sample_D.fastp.html
│   │   ├── Sample_D.fastp.json
│   │   ├── Sample_D_R1.fastq.gz -> ../../rawdata/reads/Sample_D_R1.fastq.gz
│   │   ├── Sample_D_R1.trimmed.fastq.gz
│   │   ├── Sample_D_R2.fastq.gz -> ../../rawdata/reads/Sample_D_R2.fastq.gz
│   │   └── Sample_D_R2.trimmed.fastq.gz
│   ├── fastqc1
│   │   ├── forloop.sh
│   │   ├── multiqc_analysis.sh
│   │   ├── multiqc_data
│   │   │   ├── fastqc_adapter_content_plot.txt
│   │   │   ├── fastqc_overrepresented_sequences_plot.txt
│   │   │   ├── fastqc_per_base_n_content_plot.txt
│   │   │   ├── fastqc_per_base_sequence_quality_plot.txt
│   │   │   ├── fastqc_per_sequence_gc_content_plot_Counts.txt
│   │   │   ├── fastqc_per_sequence_gc_content_plot_Percentages.txt
│   │   │   ├── fastqc_per_sequence_quality_scores_plot.txt
│   │   │   ├── fastqc_sequence_counts_plot.txt
│   │   │   ├── fastqc_sequence_duplication_levels_plot.txt
│   │   │   ├── fastqc-status-check-heatmap.txt
│   │   │   ├── fastqc_top_overrepresented_sequences_table.txt
│   │   │   ├── llms-full.txt
│   │   │   ├── multiqc_citations.txt
│   │   │   ├── multiqc_data.json
│   │   │   ├── multiqc_fastqc.txt
│   │   │   ├── multiqc_general_stats.txt
│   │   │   ├── multiqc.log
│   │   │   ├── multiqc.parquet
│   │   │   ├── multiqc_software_versions.txt
│   │   │   └── multiqc_sources.txt
│   │   ├── multiqc_report.html
│   │   └── reads -> ../../rawdata/reads/
│   ├── filtering_5
│   │   ├── bam_list.txt -> ../variant_calling_4/bam_list.txt
│   │   ├── filtering.sh
│   │   ├── sacCer3.fa -> ../variant_calling_4/sacCer3.fa
│   │   ├── sacCer3.fa.0123 -> ../variant_calling_4/sacCer3.fa.0123
│   │   ├── sacCer3.fa.amb -> ../variant_calling_4/sacCer3.fa.amb
│   │   ├── sacCer3.fa.ann -> ../variant_calling_4/sacCer3.fa.ann
│   │   ├── sacCer3.fa.bwt.2bit.64 -> ../variant_calling_4/sacCer3.fa.bwt.2bit.64
│   │   ├── sacCer3.fa.fai -> ../variant_calling_4/sacCer3.fa.fai
│   │   ├── sacCer3.fa.pac -> ../variant_calling_4/sacCer3.fa.pac
│   │   ├── Sample_A.sorted.bam -> ../variant_calling_4/Sample_A.sorted.bam
│   │   ├── Sample_A.sorted.bam.bai -> ../variant_calling_4/Sample_A.sorted.bam.bai
│   │   ├── Sample_B.sorted.bam -> ../variant_calling_4/Sample_B.sorted.bam
│   │   ├── Sample_B.sorted.bam.bai -> ../variant_calling_4/Sample_B.sorted.bam.bai
│   │   ├── Sample_C.sorted.bam -> ../variant_calling_4/Sample_C.sorted.bam
│   │   ├── Sample_C.sorted.bam.bai -> ../variant_calling_4/Sample_C.sorted.bam.bai
│   │   ├── Sample_D.sorted.bam -> ../variant_calling_4/Sample_D.sorted.bam
│   │   ├── Sample_D.sorted.bam.bai -> ../variant_calling_4/Sample_D.sorted.bam.bai
│   │   ├── variant_calling.sh -> ../variant_calling_4/variant_calling.sh
│   │   ├── variant_filtered.stats.txt -> ../variant_calling_4/variant_filtered.stats.txt
│   │   ├── variant_filtered.vcf.gz -> ../variant_calling_4/variant_filtered.vcf.gz
│   │   ├── variant_gentle.stats.txt
│   │   ├── variant_gentle.vcf.gz
│   │   ├── variant_output.raw.stats.txt -> ../variant_calling_4/variant_output.raw.stats.txt
│   │   ├── variant_script_output.raw.vcf.gz -> ../variant_calling_4/variant_script_output.raw.vcf.gz
│   │   ├── variant_stringent.stats.txt
│   │   └── variant_stringent.vcf.gz
│   └── variant_calling_4
│       ├── bam_list.txt
│       ├── sacCer3.fa -> ../bwamem2_3/sacCer3.fa
│       ├── sacCer3.fa.0123 -> ../bwamem2_3/sacCer3.fa.0123
│       ├── sacCer3.fa.amb -> ../bwamem2_3/sacCer3.fa.amb
│       ├── sacCer3.fa.ann -> ../bwamem2_3/sacCer3.fa.ann
│       ├── sacCer3.fa.bwt.2bit.64 -> ../bwamem2_3/sacCer3.fa.bwt.2bit.64
│       ├── sacCer3.fa.fai -> ../bwamem2_3/sacCer3.fa.fai
│       ├── sacCer3.fa.pac -> ../bwamem2_3/sacCer3.fa.pac
│       ├── Sample_A.sorted.bam -> ../bwamem2_3/Sample_A.sorted.bam
│       ├── Sample_A.sorted.bam.bai -> ../bwamem2_3/Sample_A.sorted.bam.bai
│       ├── Sample_B.sorted.bam -> ../bwamem2_3/Sample_B.sorted.bam
│       ├── Sample_B.sorted.bam.bai -> ../bwamem2_3/Sample_B.sorted.bam.bai
│       ├── Sample_C.sorted.bam -> ../bwamem2_3/Sample_C.sorted.bam
│       ├── Sample_C.sorted.bam.bai -> ../bwamem2_3/Sample_C.sorted.bam.bai
│       ├── Sample_D.sorted.bam -> ../bwamem2_3/Sample_D.sorted.bam
│       ├── Sample_D.sorted.bam.bai -> ../bwamem2_3/Sample_D.sorted.bam.bai
│       ├── variant_calling.sh
│       ├── variant_filtered.stats.txt
│       ├── variant_filtered.vcf.gz
│       ├── variant_output.raw.stats.txt
│       └── variant_script_output.raw.vcf.gz
└── rawdata
    ├── check
    │   ├── evaluate_snps_v4.py
    │   └── truth_snps.vcf
    ├── reads
    │   ├── Sample_A_R1_fastqc.html
    │   ├── Sample_A_R1_fastqc.zip
    │   ├── Sample_A_R1.fastq.gz
    │   ├── Sample_A_R2_fastqc.html
    │   ├── Sample_A_R2_fastqc.zip
    │   ├── Sample_A_R2.fastq.gz
    │   ├── Sample_B_R1_fastqc.html
    │   ├── Sample_B_R1_fastqc.zip
    │   ├── Sample_B_R1.fastq.gz
    │   ├── Sample_B_R2_fastqc.html
    │   ├── Sample_B_R2_fastqc.zip
    │   ├── Sample_B_R2.fastq.gz
    │   ├── Sample_C_R1_fastqc.html
    │   ├── Sample_C_R1_fastqc.zip
    │   ├── Sample_C_R1.fastq.gz
    │   ├── Sample_C_R2_fastqc.html
    │   ├── Sample_C_R2_fastqc.zip
    │   ├── Sample_C_R2.fastq.gz
    │   ├── Sample_D_R1_fastqc.html
    │   ├── Sample_D_R1_fastqc.zip
    │   ├── Sample_D_R1.fastq.gz
    │   ├── Sample_D_R2_fastqc.html
    │   ├── Sample_D_R2_fastqc.zip
    │   └── Sample_D_R2.fastq.gz
    └── ref

see the empty ref folder from that time i accidentally moved all my reference files... oops...

⚠️ **GitHub.com Fallback** ⚠️