Skip to content

Commit dd3cbdb

Browse files
authored
Merge pull request #520 from BU-ISCIII/develop
Develop merge for 2.2.9 release
2 parents a4a578d + 891af7e commit dd3cbdb

File tree

9 files changed

+121
-15
lines changed

9 files changed

+121
-15
lines changed

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,36 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [2.2.9] - 2025-05-13 : https://github.com/BU-ISCIII/buisciii-tools/releases/tag/2.2.9
8+
9+
### Credits
10+
11+
- [Victor Lopez](https://github.com/victor5lm)
12+
- [Alejandro Bernabeu](https://github.com/Aberdur)
13+
- [Juan Ledesma](https://github.com/juanledesma78)
14+
15+
### Template fixes and updates
16+
17+
- Updated create_summary_report.sh to properly handle single end reads [#509](https://github.com/BU-ISCIII/buisciii-tools/pull/509).
18+
- Fix relative path handling in snpeff/snpsift annotation [#509](https://github.com/BU-ISCIII/buisciii-tools/pull/509).
19+
- Added sed to lablog_bam2fq so that _R1.bam is removed and the variable sample is created properly for those sample ids having several underscores (i.e. EPI_ISL_666)[#490](https://github.com/BU-ISCIII/buisciii-tools/pull/490)
20+
- Update IRMA 99-stats lablog to raise Error if taxprofiler results are missing [#515](https://github.com/BU-ISCIII/buisciii-tools/pull/515).
21+
- Added a new lablog to create a .csv file for software versions in IRMA's template [#514](https://github.com/BU-ISCIII/buisciii-tools/pull/514/files).
22+
- Fixed wrong variable definition in IRMA's 99-stats lablog and added Nextclade's info into viralrecon's create_summary_report.sh script to be added into the mapping_illumina report [#518](https://github.com/BU-ISCIII/buisciii-tools/pull/518).
23+
- Added virus_sequence variable into IRMA's 99-stats lablog for the creation of the summary stats report [#519](https://github.com/BU-ISCIII/buisciii-tools/pull/519).
24+
25+
### Modules
26+
27+
#### Added enhancements
28+
29+
#### Fixes
30+
31+
#### Changed
32+
33+
#### Removed
34+
35+
### Requirements
36+
737
## [2.2.8] - 2025-04-29 : https://github.com/BU-ISCIII/buisciii-tools/releases/tag/2.2.8
838

939
### Credits
@@ -27,6 +57,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
2757
- Fixed errors in IRMA template and fixed errors in irma2vcf script [#500](https://github.com/BU-ISCIII/buisciii-tools/pull/500)
2858
- Modified artic bed version in lablog_viralrecon for SARS-CoV-2 analysis [#505](https://github.com/BU-ISCIII/buisciii-tools/pull/505)
2959

60+
3061
### Modules
3162

3263
#### Added enhancements

buisciii/__main__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def run_buisciii():
5757
)
5858

5959
# stderr.print("[green] `._,._,'\n", highlight=False)
60-
__version__ = "2.2.8"
60+
__version__ = "2.2.9"
6161
stderr.print(
6262
"[grey39] BU-ISCIII-tools version {}".format(__version__), highlight=False
6363
)

buisciii/templates/IRMA/ANALYSIS/ANALYSIS01_IRMA/05-nextclade/lablog

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ echo "
3131
3232
# Run nextclade for all sequences from A_HA.txt or B_HA.txt, in order to determine their clade.
3333
echo \"Running nextclade for \$subtype_folder with file \$input_file...\"
34-
srun --chdir ${scratch_dir} --output logs/NEXTCLADE_RUN_\$(basename \$input_file)%j.log --job-name NEXTCLADE_RUN_\$(basename \$input_file) --partition short_idx --time 2:00:00 singularity exec -B ${scratch_dir}/../../../ /data/ucct/bi/pipelines/singularity-images/nextclade\:3.9.1--h9ee0642_0 nextclade run \"\$input_file\" -d \"\$nextclade_dataset\" -O \"./\$subtype_folder/\" -v &
34+
srun --chdir ${scratch_dir} --output logs/NEXTCLADE_RUN_\${subtype_folder}_%j.log --job-name NEXTCLADE_RUN_\${subtype_folder} --partition short_idx --time 2:00:00 singularity exec -B ${scratch_dir}/../../../ /data/ucct/bi/pipelines/singularity-images/nextclade\:3.9.1--h9ee0642_0 nextclade run \"\$input_file\" -d \"\$nextclade_dataset\" -O \"./\$subtype_folder/\" --verbosity info &
3535
else
3636
echo \"Warning: Folder \$folder_path does not exist, skipping...\"
3737
fi

buisciii/templates/IRMA/ANALYSIS/ANALYSIS01_IRMA/06-variant-calling/lablog

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,12 @@ cat ./sample_type_ref.txt | xargs -I {} echo "
9494
micromamba activate refgenie_v0.12.1
9595
dataDir=$(refgenie seek snpeff/flu_surveillance_db -c /data/ucct/bi/references/refgenie/genome_config.yaml)
9696
echo -e \"-----Annotating \$sample_id \${fragment} vcf file-----\"
97-
singularity exec -B /data/ucct/bi /data/ucct/bi/pipelines/singularity-images/snpeff:5.2--hdfd78af_1.1 snpEff \
97+
singularity exec -B /data/ucct/bi -B ${scratch_dir} /data/ucct/bi/pipelines/singularity-images/snpeff:5.2--hdfd78af_1.1 snpEff \
9898
-v \
9999
-dataDir "\$dataDir" \
100100
-c genome.config \
101101
"\$ref" \
102-
vcf_files/\${sample_id}/\${sample_id}_\${fragment}.vcf > annotated_vcfs/\${sample_id}/\${sample_id}_\${fragment}.snpeff.vcf
102+
${scratch_dir}/vcf_files/\${sample_id}/\${sample_id}_\${fragment}.vcf > annotated_vcfs/\${sample_id}/\${sample_id}_\${fragment}.snpeff.vcf
103103
echo -e \"-----Finished annotating \$sample_id \${fragment} vcf file-----\"
104104
" > _03_snpeff.sh
105105

@@ -115,11 +115,11 @@ cat ./sample_type_ref.txt | xargs -I {} echo "
115115
micromamba activate refgenie_v0.12.1
116116
dataDir=$(refgenie seek snpeff/flu_surveillance_db -c /data/ucct/bi/references/refgenie/genome_config.yaml)
117117
echo -e \"-----Extracting relevant fields for \$sample_id \${fragment} vcf file-----\"
118-
singularity exec -B /data/ucct/bi /data/ucct/bi/pipelines/singularity-images/snpsift\:5.2--hdfd78af_0 SnpSift \
118+
singularity exec -B /data/ucct/bi -B ${scratch_dir} /data/ucct/bi/pipelines/singularity-images/snpsift\:5.2--hdfd78af_0 SnpSift \
119119
extractFields \
120120
-s "," \
121121
-e "." \
122-
annotated_vcfs/\${sample_id}/\${sample_id}_\${fragment}.snpeff.vcf \
122+
${scratch_dir}/annotated_vcfs/\${sample_id}/\${sample_id}_\${fragment}.snpeff.vcf \
123123
CHROM \
124124
POS \
125125
REF \

buisciii/templates/IRMA/ANALYSIS/ANALYSIS01_IRMA/99-stats/lablog

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,18 @@ echo "
7272

7373
# Create a table with relevant statistics.
7474
echo "
75+
# Verify that Taxprofiler results exist before proceeding
76+
TAXPROFILER_DIR=\$(find ../../ -type d -name '*_TAXPROFILER' | head -n 1)
77+
78+
if [[ -z \"\$TAXPROFILER_DIR\" ]] || ! compgen -G \"\$TAXPROFILER_DIR/kraken2/*/*.kraken2.report.txt\" > /dev/null; then
79+
echo \"ERROR: Taxprofiler results not found in path: \$TAXPROFILER_DIR/kraken2/*/*.kraken2.report.txt. Please execute Taxprofiler before running this script.\"
80+
exit 1
81+
fi
82+
7583
# Activate the conda environment
7684
eval \"\$(micromamba shell hook --shell bash)\"
7785
micromamba activate refgenie_v0.12.1
78-
HEADER=\"sample\tflu_type\tflu_subtype\tclade\ttotalreads\tqc_filtered_reads\treads_host\t%readshost\treads_virus\t%readsvirus\tunmapped_reads\t%unmappedreads\tmedianDPcoveragevirus\tCoverage>10x(%)\t%Ns10x\tVariantsinconsensusx10\tMissenseVariants\tTotal_Unambiguous_Bases\tTotal_Ns_count\tread_length\tanalysis_date\tcov_HA\tcov_MP\tcov_NA\tcov_NP\tcov_NS\tcov_PA\tcov_PB1\tcov_PB2\t10xcov_HA(%)\t10xcov_MP(%)\t10xcov_NA(%)\t10xcov_NP(%)\t10xcov_NS(%)\t10xcov_PA(%)\t10xcov_PB1(%)\t10xcov_PB2(%)\tperNs_HA\tperNs_MP\tperNs_NA\tperNs_NP\tperNs_NS\tperNs_PA\tperNs_PB1\tperNs_PB2\tvariants_HA\tvariants_MP\tvariants_NA\tvariants_NP\tvariants_NS\tvariants_PA\tvariants_PB1\tvariants_PB2\"
86+
HEADER=\"sample\tVirussequence\tflu_type\tflu_subtype\tclade\tclade_assignment_date\tclade_assignment_software_database_version\ttotalreads\tqc_filtered_reads\treads_host\t%readshost\treads_virus\t%readsvirus\tunmapped_reads\t%unmappedreads\tmedianDPcoveragevirus\tCoverage>10x(%)\t%Ns10x\tVariantsinconsensusx10\tMissenseVariants\tTotal_Unambiguous_Bases\tTotal_Ns_count\tread_length\tanalysis_date\tcov_HA\tcov_MP\tcov_NA\tcov_NP\tcov_NS\tcov_PA\tcov_PB1\tcov_PB2\t10xcov_HA(%)\t10xcov_MP(%)\t10xcov_NA(%)\t10xcov_NP(%)\t10xcov_NS(%)\t10xcov_PA(%)\t10xcov_PB1(%)\t10xcov_PB2(%)\tperNs_HA\tperNs_MP\tperNs_NA\tperNs_NP\tperNs_NS\tperNs_PA\tperNs_PB1\tperNs_PB2\tvariants_HA\tvariants_MP\tvariants_NA\tvariants_NP\tvariants_NS\tvariants_PA\tvariants_PB1\tvariants_PB2\"
7987
echo -e \${HEADER} > summary_stats_\$(date \"+%Y%m%d\").tab
8088
8189
cat ../samples_id.txt | while read in; do
@@ -149,6 +157,7 @@ echo "
149157
variants_in_consensus=\$(printf \"%s\\n\" \"\${variants_consensus[@]}\" | awk '{sum+=\$1} END{print sum}')
150158
variants_with_effect=\$(awk -F, -v sample=\"\$in\" '\$1 == sample && \$13 == \"missense_variant\" {count++} END {print count+0}' variants_long_table.csv)
151159
pc_genome_greater_10x=\$(printf \"%s\\n\" \"\${pc10x[@]}\" | sort -n | awk '{sum+=\$1} END {printf \"%.2f\", (NR ? sum/NR : 0)}')
160+
virus_sequence=\$(awk -v sample=\"\${in}\" '\$1 == sample {ref = ref ? ref \",\" \$4 : \$4} END {if (ref) print ref}' ../06-variant-calling/sample_type_ref.txt)
152161
total_reads=\$(grep \"\\\"total_reads\\\"\" ../02-preprocessing/\${in}/\${in}_fastp.json | head -n1 | cut -d \":\" -f2 | sed \"s/,//g\")
153162
reads_hostR1=\$(cat ../../*_TAXPROFILER/kraken2/*/\${in}_*.kraken2.report.txt | grep \"Homo sapiens\" | awk '{print \$2}')
154163
reads_host_x2=\$((reads_hostR1 * 2))
@@ -162,6 +171,8 @@ echo "
162171
number_unambiguous_bases=\$(awk -F \"\t\" -v id=\"\$in\" '\$1 == id {print \$2}' qc_metrics.tsv)
163172
number_Ns=\$(awk -F \"\t\" -v id=\"\$in\" '\$1 == id {print \$3}' qc_metrics.tsv)
164173
clade=\$(awk -F \";\" -v sample=\"\$(echo \$in | sed \"s/-/\\//g\")_HA\" '\$2 == sample {print \$3}' ../05-nextclade/nextclade_combined.csv)
174+
clade_assignment_date=\$(cat ../05-nextclade/\${flu_type}*/nextclade.json | awk -F'\"' '/createdAt/ {print \$4}' | cut -d 'T' -f 1 | tr -d '-' | head -n 1)
175+
clade_assignment_software_database_version=\$(cat ../05-nextclade/logs/NEXTCLADE_RUN_\${flu_type}_\$(echo \${flu_subtype} | cut -d \"N\" -f 1)*.log | grep -oE '[0-9]{4}-[0-9]{2}-[0-9]{2}--[0-9]{2}-[0-9]{2}-[0-9]{2}Z' | head -n 1)
165176
cov_HA=\${gene_coverage[HA]}
166177
cov_MP=\${gene_coverage[MP]}
167178
cov_NA=\${gene_coverage[NA]}
@@ -195,8 +206,11 @@ echo "
195206
variants_PB1=\${variants[PB1]}
196207
variants_PB2=\${variants[PB2]}
197208
198-
echo -e \"\${in}\t\$flu_type\t\$flu_subtype\t\$clade\t\$total_reads\t\$qc_filtered\t\$reads_host_x2\t\$pc_reads_host\t\$reads_virus\t\$pc_reads_virus\t\$unmapped_reads\t\$pc_unmapped\t\$coverage_depth\t\$pc_genome_greater_10x\t\$pc_Ns\t\$variants_in_consensus\t\$variants_with_effect\t\$number_unambiguous_bases\t\$number_Ns\t\$read_length\t\$analysis_date\t\$cov_HA\t\$cov_MP\t\$cov_NA\t\$cov_NP\t\$cov_NS\t\$cov_PA\t\$cov_PB1\t\$cov_PB2\t\$cov10x_HA\t\$cov10x_MP\t\$cov10x_NA\t\$cov10x_NP\t\$cov10x_NS\t\$cov10x_PA\t\$cov10x_PB1\t\$cov10x_PB2\t\$perNs_HA\t\$perNs_MP\t\$perNs_NA\t\$perNs_NP\t\$perNs_NS\t\$perNs_PA\t\$perNs_PB1\t\$perNs_PB2\t\$variants_HA\t\$variants_MP\t\$variants_NA\t\$variants_NP\t\$variants_NS\t\$variants_PA\t\$variants_PB1\t\$variants_PB2\" >> summary_stats_\$(date \"+%Y%m%d\").tab
209+
echo -e \"\${in}\t\$virus_sequence\t\$flu_type\t\$flu_subtype\t\$clade\t\$clade_assignment_date\t\$clade_assignment_software_database_version\t\$total_reads\t\$qc_filtered\t\$reads_host_x2\t\$pc_reads_host\t\$reads_virus\t\$pc_reads_virus\t\$unmapped_reads\t\$pc_unmapped\t\$coverage_depth\t\$pc_genome_greater_10x\t\$pc_Ns\t\$variants_in_consensus\t\$variants_with_effect\t\$number_unambiguous_bases\t\$number_Ns\t\$read_length\t\$analysis_date\t\$cov_HA\t\$cov_MP\t\$cov_NA\t\$cov_NP\t\$cov_NS\t\$cov_PA\t\$cov_PB1\t\$cov_PB2\t\$cov10x_HA\t\$cov10x_MP\t\$cov10x_NA\t\$cov10x_NP\t\$cov10x_NS\t\$cov10x_PA\t\$cov10x_PB1\t\$cov10x_PB2\t\$perNs_HA\t\$perNs_MP\t\$perNs_NA\t\$perNs_NP\t\$perNs_NS\t\$perNs_PA\t\$perNs_PB1\t\$perNs_PB2\t\$variants_HA\t\$variants_MP\t\$variants_NA\t\$variants_NP\t\$variants_NS\t\$variants_PA\t\$variants_PB1\t\$variants_PB2\" >> summary_stats_\$(date \"+%Y%m%d\").tab
199210
echo -e \"-----Statistics for \$in correctly added into summary_stats_\$(date \"+%Y%m%d\").tab-----\n\"
200211
unset gene_coverage coverages_10x per_Ns variants
201212
done
202-
" > _05_create_mapping_stats.sh
213+
" > _05_create_summary_stats.sh
214+
215+
# Run _05_create_summary_stats.sh
216+
echo "srun --partition middle_idx --chdir ${scratch_dir} --output logs/SUMMARY_STATS.%j.log --job-name SUMMARY_STATS --time 01:00:00 bash ${scratch_dir}/_05_create_summary_stats.sh &" > _05_run_create_summary_stats.sh
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
3+
# Create a table with software versions.
4+
echo "
5+
HEADER=\"software_name,software_version\"
6+
echo -e \${HEADER} > versions.csv
7+
8+
IRMA_version=\$(/data/ucct/bi/pipelines/flu-amd/flu-amd-1.2.0/IRMA | grep -o \"v[0-9]\+\.[0-9]\+\.[0-9]\+\" | head -n 1)
9+
dehosting_method_software_version=\$(cat ../*_ANALYSIS02_TAXPROFILER/pipeline_info/nf_core_pipeline_software_mqc_versions.yml | grep \"nf-core/taxprofiler:\" | awk '{print \$NF}')
10+
preprocessing_software_version=\$(find 02-preprocessing/ -type f -name \"*_fastp.html\" | shuf -n 1 | xargs grep -oP 'fastp version:</td><td[^>]*>\K[0-9.]+' | sed 's/^/v/')
11+
clade_assignment_software_version=\$(find ./05-nextclade/ -type f -name \"nextclade.json\" | shuf -n 1 | xargs grep -o '\"nextcladeAlgoVersion\": *\"[^\"]*\"' | awk -F'\"' '{print \"v\"\$4}')
12+
mafft_version=\$(find 06-variant-calling/logs/ -type f -name \"ALIGN-*\" | shuf -n 1 | xargs grep -o \"Version [0-9.]\+\" | head -n 1 | cut -d \" \" -f 2 | sed \"s/^/v/g\")
13+
snpeff_version=\$(find 06-variant-calling/logs/ -type f -name \"SNPEFF-*\" | shuf -n 1 | xargs grep -o -m 1 \"SnpEff version SnpEff [0-9.]\+\" | head -n 1 | cut -d \" \" -f 4 | sed \"s/^/v/g\")
14+
snpsift_version=\$snpeff_version
15+
16+
declare -A software
17+
software=(
18+
[\"IRMA (Iterative Refinement Meta-Assembler)\"]=\$IRMA_version
19+
[\"nf-core/taxprofiler\"]=\$dehosting_method_software_version
20+
[\"fastp\"]=\$preprocessing_software_version
21+
[\"nextclade\"]=\$clade_assignment_software_version
22+
[\"mafft\"]=\$mafft_version
23+
[\"snpEff\"]=\$snpeff_version
24+
[\"snpSift\"]=\$snpsift_version)
25+
26+
for tool in \"\${!software[@]}\"; do
27+
echo -e \"\${tool}\t\${software[\$tool]}\" >> versions.csv
28+
done
29+
30+
# Convert tabs to commas for proper CSV format
31+
sed -i 's/\t/,/g' versions.csv
32+
33+
" > get_versions_table.sh

buisciii/templates/viralrecon/ANALYSIS/create_summary_report.sh

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ USER=$(pwd | cut -d '/' -f7 | cut -d '_' -f4)
66
HOST=$(pwd | cut -d '/' -f9 | cut -d '_' -f4 | tr '[:upper:]' '[:lower:]' | sed 's/.*/\u&/')
77

88
# Define header for output file
9-
HEADER="run\tuser\thost\tVirussequence\tsample\ttotalreads\treadshostR1\treadshost\t%readshost\treadsvirus\t%readsvirus\tunmappedreads\t%unmapedreads\tmedianDPcoveragevirus\tCoverage>10x(%)\tVariantsinconsensusx10\tMissenseVariants\t%Ns10x\tLineage\tread_length\tanalysis_date"
9+
HEADER="run\tuser\thost\tVirussequence\tsample\ttotalreads\treadshostR1\treadshost\t%readshost\treadsvirus\t%readsvirus\tunmappedreads\t%unmappedreads\tmedianDPcoveragevirus\tCoverage>10x(%)\tVariantsinconsensusx10\tMissenseVariants\t%Ns10x\tLineage\tclade_assignment\tclade_assignment_software_database_version\tclade_assignment_date\tread_length\tanalysis_date"
1010

1111
# Print header to output file
1212
echo -e $HEADER > mapping_illumina_$(date '+%Y%m%d').tab
@@ -21,7 +21,15 @@ do
2121
total_reads=$(grep 'total_reads' ${arr[1]}*/fastp/${arr[0]}.fastp.json | head -n2 | tail -n1 | cut -d ':' -f2 | sed 's/,//g')
2222

2323
reads_hostR1=$(cat ${arr[1]}*/kraken2/${arr[0]}.kraken2.report.txt | grep -v 'unclassified' | cut -f3 | awk '{s+=$1}END{print s}')
24-
reads_host_x2=$(echo $((reads_hostR1 * 2)) )
24+
25+
if [ -f "../../RAW/${arr[0]}_R2.fastq.gz" ]; then
26+
# Paired-end reads
27+
reads_host_x2=$(echo $((reads_hostR1 * 2)) )
28+
else
29+
# Single-end reads
30+
reads_host_x2=$reads_hostR1
31+
fi
32+
2533
perc_host=$(echo $(awk -v v1=$total_reads -v v2=$reads_host_x2 'BEGIN {print (v2*100)/v1}') )
2634

2735
reads_virus=$(cat ${arr[1]}*/variants/bowtie2/samtools_stats/${arr[0]}.sorted.bam.flagstat | grep '+ 0 mapped' | cut -d ' ' -f1)
@@ -46,6 +54,26 @@ do
4654

4755
analysis_date=$(date '+%Y%m%d')
4856

57+
clade=$(tail -n +2 */variants/ivar/consensus/bcftools/nextclade/${arr[0]}.csv | cut -d ";" -f 3)
58+
clade_assignment_date=$analysis_date
59+
clade_assignment_software_database_version=$(cat *_viralrecon.log | grep 'nextclade_dataset_tag' | awk -F ': ' '{print $2}')
60+
lineage_analysis_date=$analysis_date
61+
lineage_algorithm_software_version=$(cat /data/ucct/bi/references/pangolin/$lineage_analysis_date/*_pangolin.log | grep -oP 'pangolin-data updated to \K[^ ]+')
62+
63+
# Updating the pangolin csv files
64+
temp_file="${arr[0]}_tmp.csv"
65+
touch $temp_file
66+
67+
# Read and update the CSV
68+
{
69+
IFS= read -r header
70+
echo "${header},lineage_assignment_date,lineage_assignment_database_version"
71+
IFS= read -r row
72+
echo "${row},$lineage_analysis_date,$lineage_algorithm_software_version"
73+
} < ./*/variants/ivar/consensus/bcftools/pangolin/${arr[0]}.pangolin.csv > $temp_file
74+
75+
mv $temp_file ./*/variants/ivar/consensus/bcftools/pangolin/${arr[0]}.pangolin.csv
76+
4977
# Introduce data row into output file
50-
echo -e "${RUN}\t${USER}\t${HOST}\t${arr[1]}\t${arr[0]}\t$total_reads\t$reads_hostR1\t$reads_host_x2\t$perc_host\t$reads_virus\t$reads_virus_perc\t$unmapped_reads\t$perc_unmapped\t$medianDPcov\t$cov10x\t$vars_in_cons10x\t$missense\t$ns_10x_perc\t$lineage\t$read_length\t$analysis_date" >> mapping_illumina_$(date '+%Y%m%d').tab
51-
done
78+
echo -e "${RUN}\t${USER}\t${HOST}\t${arr[1]}\t${arr[0]}\t$total_reads\t$reads_hostR1\t$reads_host_x2\t$perc_host\t$reads_virus\t$reads_virus_perc\t$unmapped_reads\t$perc_unmapped\t$medianDPcov\t$cov10x\t$vars_in_cons10x\t$missense\t$ns_10x_perc\t$lineage\t$clade\t$clade_assignment_software_database_version\t$clade_assignment_date\t$read_length\t$analysis_date" >> mapping_illumina_$(date '+%Y%m%d').tab
79+
done

buisciii/templates/viralrecon/RAW/lablog_bam2fq

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ fi
1111

1212
find . -maxdepth 1 -type f -name "*.bam" | while read -r filepath; do
1313
filename=$(basename "$filepath")
14-
sample=$(echo "$filename" | cut -d '_' -f1)
14+
sample=$(echo "$filename"| sed -E 's/_R[12]\.bam//g')
1515

1616
output_log="logs/BAM2FQ.${sample}.%j.log"
1717

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "buisciii-tools"
7-
version = "2.2.8"
7+
version = "2.2.9"
88
dynamic = ["dependencies"]
99

1010
authors = [

0 commit comments

Comments
 (0)