7086 |
31 Mar 23 |
nicklas |
#!/bin/bash |
7086 |
31 Mar 23 |
nicklas |
2 |
## |
7183 |
17 May 23 |
nicklas |
## Pipeline script for the bwa-mem alignment step. |
7086 |
31 Mar 23 |
nicklas |
4 |
## |
7086 |
31 Mar 23 |
nicklas |
5 |
## |
7086 |
31 Mar 23 |
nicklas |
## Environment variables that should be defined (in job.sh) before calling this script |
7086 |
31 Mar 23 |
nicklas |
## -FastqFolder: Path to folder with FASTQ files |
7086 |
31 Mar 23 |
nicklas |
## -AlignFolder: Folder for output. Will be created or cleared from existing files |
7098 |
06 Apr 23 |
nicklas |
## -REF_FASTA: Path to the reference FASTA file |
7183 |
17 May 23 |
nicklas |
## -BWAidx: Path prefix to the index used by bwa-mem |
7183 |
17 May 23 |
nicklas |
## -BWA_MEM: Path to bwa-mem program |
7183 |
17 May 23 |
nicklas |
## -BwaMemOptions: Other options for the bwa-mem program |
7100 |
06 Apr 23 |
nicklas |
## -ReadGroupStatic: Read group tags that are added to all alignments (eg. CN: and PL: tags) |
7086 |
31 Mar 23 |
nicklas |
## -SAMTOOLS: Path to samtools program |
7102 |
06 Apr 23 |
nicklas |
## -FixmateOptions: Options for the 'samtools fixmate' step |
7102 |
06 Apr 23 |
nicklas |
## -SortOptions: Options for the 'samtools sort' step |
7102 |
06 Apr 23 |
nicklas |
## -CalmdOptions: Options for the 'samtools calmd' step |
7102 |
06 Apr 23 |
nicklas |
## -MergeOptions: Options for the 'samtools merge' step |
7102 |
06 Apr 23 |
nicklas |
## -MarkdupOptions: Options for the 'samtools markdup' step |
7086 |
31 Mar 23 |
nicklas |
## -JAVA: Path to java |
7086 |
31 Mar 23 |
nicklas |
## -GATK: Path to GATK JAR file |
7086 |
31 Mar 23 |
nicklas |
## -DBSNP: Path to VCF file with SNP variants that should be genotyped |
7086 |
31 Mar 23 |
nicklas |
## -HaplotypeCallerOptions: Other options for the the HaplotypeCaller program |
7086 |
31 Mar 23 |
nicklas |
## -TMPDIR: Path to a local temporary working directory |
7086 |
31 Mar 23 |
nicklas |
25 |
## |
7086 |
31 Mar 23 |
nicklas |
26 |
|
7088 |
03 Apr 23 |
nicklas |
27 |
set -eo pipefail |
7086 |
31 Mar 23 |
nicklas |
28 |
|
7086 |
31 Mar 23 |
nicklas |
## Import utility functions |
7086 |
31 Mar 23 |
nicklas |
30 |
source ./reggie-utils.sh |
7086 |
31 Mar 23 |
nicklas |
31 |
|
7183 |
17 May 23 |
nicklas |
## If BWA_MEM is not set, we use BWA_MEM2 by default |
7183 |
17 May 23 |
nicklas |
33 |
if [ -z "${BWA_MEM}" ]; then |
7183 |
17 May 23 |
nicklas |
34 |
BWA_MEM="${BWA_MEM2}" |
7183 |
17 May 23 |
nicklas |
35 |
fi |
7183 |
17 May 23 |
nicklas |
36 |
|
7086 |
31 Mar 23 |
nicklas |
## Verify settings in options |
7086 |
31 Mar 23 |
nicklas |
38 |
rg_var_isdir "FastqFolder" "TMPDIR" "WD" |
7183 |
17 May 23 |
nicklas |
39 |
rg_var_isfile "BWA_MEM" "SAMTOOLS" "JAVA" "PICARD" "GATK" "REF_FASTA" "DBSNP" |
7108 |
13 Apr 23 |
nicklas |
40 |
rg_var_isset "BWAidx" "AlignFolder" "ReadLength" |
7086 |
31 Mar 23 |
nicklas |
41 |
|
7086 |
31 Mar 23 |
nicklas |
## Move to the temporary working directory and create subdirectories |
7086 |
31 Mar 23 |
nicklas |
43 |
cd ${TMPDIR} |
7086 |
31 Mar 23 |
nicklas |
44 |
mkdir -p fastq |
7086 |
31 Mar 23 |
nicklas |
45 |
mkdir -p aligned |
7088 |
03 Apr 23 |
nicklas |
46 |
mkdir -p merged |
7105 |
11 Apr 23 |
nicklas |
47 |
mkdir -p stats |
7091 |
04 Apr 23 |
nicklas |
48 |
mkdir -p tmp/sort |
7091 |
04 Apr 23 |
nicklas |
49 |
mkdir -p tmp/markdup |
7091 |
04 Apr 23 |
nicklas |
50 |
mkdir -p tmp/gatk |
7086 |
31 Mar 23 |
nicklas |
51 |
mkdir -p done |
7086 |
31 Mar 23 |
nicklas |
52 |
|
7088 |
03 Apr 23 |
nicklas |
## Read information about paired FASTQ files. |
7088 |
03 Apr 23 |
nicklas |
## Columns in 'fastq_info.txt': |
7088 |
03 Apr 23 |
nicklas |
## -FASTQ_R1 |
7088 |
03 Apr 23 |
nicklas |
## -FASTQ_R2 |
7088 |
03 Apr 23 |
nicklas |
57 |
NUM_LINES=`wc -l < ${WD}/fastq_info.txt` |
7086 |
31 Mar 23 |
nicklas |
58 |
|
7088 |
03 Apr 23 |
nicklas |
59 |
if [ ! -f "done/copy.done" ]; then |
7088 |
03 Apr 23 |
nicklas |
60 |
CURRENT_LINE=0 |
7100 |
06 Apr 23 |
nicklas |
61 |
while IFS=$'\t' read FASTQ1 FASTQ2 READ_GROUP; do |
7088 |
03 Apr 23 |
nicklas |
62 |
CURRENT_LINE=$(( ${CURRENT_LINE}+1 )) |
7100 |
06 Apr 23 |
nicklas |
63 |
rg_var_isset "FASTQ1" "FASTQ2" "READ_GROUP" |
7088 |
03 Apr 23 |
nicklas |
64 |
|
7112 |
14 Apr 23 |
nicklas |
65 |
PROGRESS=$(( ${CURRENT_LINE}*8/${NUM_LINES} )) |
7112 |
14 Apr 23 |
nicklas |
66 |
rg_progress ${PROGRESS} "Copying FASTQ files: ${CURRENT_LINE} of ${NUM_LINES} pairs" |
7112 |
14 Apr 23 |
nicklas |
67 |
|
7088 |
03 Apr 23 |
nicklas |
## Rename FASTQ files so that we don't expose information in the BAM file |
7088 |
03 Apr 23 |
nicklas |
69 |
FASTQ1_LOCAL="fastq/${CURRENT_LINE}_R1.fastq.gz" |
7088 |
03 Apr 23 |
nicklas |
70 |
FASTQ2_LOCAL="fastq/${CURRENT_LINE}_R2.fastq.gz" |
7088 |
03 Apr 23 |
nicklas |
71 |
if [ "${JOB_DEBUG}" ]; then |
7088 |
03 Apr 23 |
nicklas |
# In debug mode we copy only parts of the FASTQ files |
7088 |
03 Apr 23 |
nicklas |
# The ' || true' is critical since 'zcat' will exit with |
7088 |
03 Apr 23 |
nicklas |
# error when 'head' has closed the pipe |
7112 |
14 Apr 23 |
nicklas |
75 |
rg_time "STARTING Copy ${FASTQ1_LOCAL}" |
7088 |
03 Apr 23 |
nicklas |
76 |
(zcat ${FastqFolder}/${FASTQ1} || true) | head -n ${MaxFASTQLines} | bgzip -c > ${FASTQ1_LOCAL} |
7112 |
14 Apr 23 |
nicklas |
77 |
rg_time "STARTING Copy ${FASTQ2_LOCAL}" |
7088 |
03 Apr 23 |
nicklas |
78 |
(zcat ${FastqFolder}/${FASTQ2} || true) | head -n ${MaxFASTQLines} | bgzip -c > ${FASTQ2_LOCAL} |
7088 |
03 Apr 23 |
nicklas |
79 |
else |
7112 |
14 Apr 23 |
nicklas |
80 |
rg_time "STARTING Copy ${FASTQ1_LOCAL}" |
7112 |
14 Apr 23 |
nicklas |
81 |
cp ${FastqFolder}/${FASTQ1} ${FASTQ1_LOCAL} |
7112 |
14 Apr 23 |
nicklas |
82 |
rg_time "STARTING Copy ${FASTQ2_LOCAL}" |
7112 |
14 Apr 23 |
nicklas |
83 |
cp ${FastqFolder}/${FASTQ2} ${FASTQ2_LOCAL} |
7088 |
03 Apr 23 |
nicklas |
84 |
fi |
7088 |
03 Apr 23 |
nicklas |
85 |
done < ${WD}/fastq_info.txt |
7112 |
14 Apr 23 |
nicklas |
86 |
|
7112 |
14 Apr 23 |
nicklas |
87 |
rg_time "ENDED Copy" |
7088 |
03 Apr 23 |
nicklas |
88 |
touch "done/copy.done" |
7088 |
03 Apr 23 |
nicklas |
89 |
fi |
7088 |
03 Apr 23 |
nicklas |
90 |
|
7088 |
03 Apr 23 |
nicklas |
## Align and samtools fixmate, sort and calmd |
7088 |
03 Apr 23 |
nicklas |
92 |
if [ ! -f "done/align.done" ]; then |
7088 |
03 Apr 23 |
nicklas |
93 |
CURRENT_LINE=0 |
7100 |
06 Apr 23 |
nicklas |
94 |
while IFS=$'\t' read FASTQ1 FASTQ2 READ_GROUP; do |
7088 |
03 Apr 23 |
nicklas |
95 |
CURRENT_LINE=$(( ${CURRENT_LINE}+1 )) |
7088 |
03 Apr 23 |
nicklas |
96 |
|
7112 |
14 Apr 23 |
nicklas |
97 |
PROGRESS=$(( 10+${CURRENT_LINE}*30/${NUM_LINES} )) |
7183 |
17 May 23 |
nicklas |
98 |
rg_progress ${PROGRESS} "Running ${BWA_MEM##*/}: ${CURRENT_LINE} of ${NUM_LINES} FASTQ pairs (${NumThreads} threads)" |
7088 |
03 Apr 23 |
nicklas |
99 |
|
7088 |
03 Apr 23 |
nicklas |
100 |
FASTQ1_LOCAL="fastq/${CURRENT_LINE}_R1.fastq.gz" |
7088 |
03 Apr 23 |
nicklas |
101 |
FASTQ2_LOCAL="fastq/${CURRENT_LINE}_R2.fastq.gz" |
7088 |
03 Apr 23 |
nicklas |
102 |
BAM_OUT="aligned/${CURRENT_LINE}.bam" |
7088 |
03 Apr 23 |
nicklas |
103 |
|
7183 |
17 May 23 |
nicklas |
104 |
rg_time "STARTING ${BWA_MEM##*/} ${BAM_OUT}" |
7183 |
17 May 23 |
nicklas |
105 |
${BWA_MEM} mem ${BwaMemOptions} -R "@RG\\tID:${CURRENT_LINE}\\t${READ_GROUP}\\t${ReadGroupStatic}" \ |
7100 |
06 Apr 23 |
nicklas |
106 |
-t ${NumThreads} ${BWAidx} ${FASTQ1_LOCAL} ${FASTQ2_LOCAL} \ |
7088 |
03 Apr 23 |
nicklas |
107 |
| ${SAMTOOLS} fixmate ${FixmateOptions} --output-fmt bam,level=0 - - \ |
7091 |
04 Apr 23 |
nicklas |
108 |
| ${SAMTOOLS} sort ${SortOptions} --output-fmt bam,level=0 -T tmp/sort - \ |
7088 |
03 Apr 23 |
nicklas |
109 |
| ${SAMTOOLS} calmd ${CalmdOptions} --output-fmt bam,level=1 - ${REF_FASTA} \ |
7088 |
03 Apr 23 |
nicklas |
110 |
> ${BAM_OUT} |
7183 |
17 May 23 |
nicklas |
111 |
rg_time "ENDED ${BWA_MEM##*/} ${BAM_OUT}" |
7088 |
03 Apr 23 |
nicklas |
112 |
|
7088 |
03 Apr 23 |
nicklas |
113 |
done < ${WD}/fastq_info.txt |
7088 |
03 Apr 23 |
nicklas |
114 |
touch "done/align.done" |
7088 |
03 Apr 23 |
nicklas |
115 |
fi |
7088 |
03 Apr 23 |
nicklas |
116 |
|
7088 |
03 Apr 23 |
nicklas |
## Merge and mark duplicates |
7088 |
03 Apr 23 |
nicklas |
118 |
if [ ! -f "done/merge.done" ]; then |
7112 |
14 Apr 23 |
nicklas |
119 |
rg_progress 50 "Merging ${NUM_LINES} BAM files and checking duplicates" |
7088 |
03 Apr 23 |
nicklas |
120 |
|
7109 |
13 Apr 23 |
nicklas |
121 |
rg_time "STARTING merge and index" |
7088 |
03 Apr 23 |
nicklas |
122 |
ALL_BAM=`ls -w 0 aligned/*.bam` |
7088 |
03 Apr 23 |
nicklas |
123 |
${SAMTOOLS} merge ${MergeOptions} --output-fmt bam,level=0 - ${ALL_BAM} \ |
7105 |
11 Apr 23 |
nicklas |
124 |
| ${SAMTOOLS} markdup ${MarkdupOptions} \ |
7109 |
13 Apr 23 |
nicklas |
125 |
-f stats/samtools_markdup.txt \ |
7105 |
11 Apr 23 |
nicklas |
126 |
--output-fmt bam -T tmp/markdup - - \ |
7088 |
03 Apr 23 |
nicklas |
127 |
> merged/alignment.bam |
7106 |
12 Apr 23 |
nicklas |
128 |
rg_time "ENDED merge" |
7088 |
03 Apr 23 |
nicklas |
129 |
|
7112 |
14 Apr 23 |
nicklas |
130 |
rg_progress 60 "Creating BAM index" |
7109 |
13 Apr 23 |
nicklas |
131 |
${SAMTOOLS} index -b -@ 8 merged/alignment.bam merged/alignment.bai |
7109 |
13 Apr 23 |
nicklas |
132 |
rg_time "ENDED index" |
7105 |
11 Apr 23 |
nicklas |
133 |
|
7088 |
03 Apr 23 |
nicklas |
134 |
touch "done/merge.done" |
7088 |
03 Apr 23 |
nicklas |
135 |
fi |
7088 |
03 Apr 23 |
nicklas |
136 |
|
7105 |
11 Apr 23 |
nicklas |
137 |
if [ ! -f "done/statistics.done" ]; then |
7112 |
14 Apr 23 |
nicklas |
138 |
rg_progress 65 "Calculating alignment statistics" |
7106 |
12 Apr 23 |
nicklas |
139 |
rg_time "STARTING statistics" |
7110 |
13 Apr 23 |
nicklas |
140 |
|
7110 |
13 Apr 23 |
nicklas |
## Start all steps in the background... |
7110 |
13 Apr 23 |
nicklas |
## Typical time ~15min |
7110 |
13 Apr 23 |
nicklas |
143 |
${WD}/alignment_statistics.sh merged/alignment.bam > stats/alignment_statistics.txt & |
7110 |
13 Apr 23 |
nicklas |
144 |
ALIGNMENT_STATISTICS_PID=$! |
7091 |
04 Apr 23 |
nicklas |
145 |
|
7110 |
13 Apr 23 |
nicklas |
## Picard: CollectInsertSizeMetrics -- typical time ~25min |
7105 |
11 Apr 23 |
nicklas |
147 |
${WD}/stdwrap.sh ${JAVA} ${JavaOptions} \ |
7105 |
11 Apr 23 |
nicklas |
148 |
-jar ${PICARD} CollectInsertSizeMetrics \ |
7105 |
11 Apr 23 |
nicklas |
149 |
-INPUT merged/alignment.bam \ |
7105 |
11 Apr 23 |
nicklas |
150 |
-OUTPUT stats/picard_CollectInsertSizeMetrics.txt \ |
7105 |
11 Apr 23 |
nicklas |
151 |
-Histogram_FILE stats/picard_CollectInsertSizeMetrics.pdf \ |
7106 |
12 Apr 23 |
nicklas |
152 |
-QUIET true -VERBOSITY WARNING \ |
7110 |
13 Apr 23 |
nicklas |
153 |
> picard_CollectInsertSizeMetrics.out & |
7110 |
13 Apr 23 |
nicklas |
154 |
INSERT_SIZE_PID=$! |
7105 |
11 Apr 23 |
nicklas |
155 |
|
7110 |
13 Apr 23 |
nicklas |
## Picard: CollectQualityYieldMetrics -- typical time ~30min |
7106 |
12 Apr 23 |
nicklas |
157 |
${WD}/stdwrap.sh ${JAVA} ${JavaOptions} \ |
7110 |
13 Apr 23 |
nicklas |
158 |
-jar ${PICARD} CollectQualityYieldMetrics \ |
7106 |
12 Apr 23 |
nicklas |
159 |
-INPUT merged/alignment.bam \ |
7110 |
13 Apr 23 |
nicklas |
160 |
-OUTPUT stats/picard_CollectQualityYieldMetrics.txt \ |
7106 |
12 Apr 23 |
nicklas |
161 |
-QUIET true -VERBOSITY WARNING \ |
7110 |
13 Apr 23 |
nicklas |
162 |
> picard_CollectQualityYieldMetrics.out & |
7110 |
13 Apr 23 |
nicklas |
163 |
QUALITY_YIELD_PID=$! |
7106 |
12 Apr 23 |
nicklas |
164 |
|
7110 |
13 Apr 23 |
nicklas |
## Picard: CollectAlignmentSummaryMetrics -- typical time ~1h |
7106 |
12 Apr 23 |
nicklas |
166 |
${WD}/stdwrap.sh ${JAVA} ${JavaOptions} \ |
7106 |
12 Apr 23 |
nicklas |
167 |
-jar ${PICARD} CollectAlignmentSummaryMetrics \ |
7106 |
12 Apr 23 |
nicklas |
168 |
-INPUT merged/alignment.bam \ |
7106 |
12 Apr 23 |
nicklas |
169 |
-OUTPUT stats/picard_CollectAlignmentSummaryMetrics.txt \ |
7106 |
12 Apr 23 |
nicklas |
170 |
-QUIET true -VERBOSITY WARNING \ |
7110 |
13 Apr 23 |
nicklas |
171 |
> picard_CollectAlignmentSummaryMetrics.out & |
7110 |
13 Apr 23 |
nicklas |
172 |
ALIGNMENT_SUMMARY_PID=$! |
7106 |
12 Apr 23 |
nicklas |
173 |
|
7111 |
13 Apr 23 |
nicklas |
## Picard: CollectWgsMetrics -- typical time ~1h15min |
7106 |
12 Apr 23 |
nicklas |
175 |
${WD}/stdwrap.sh ${JAVA} ${JavaOptions} \ |
7110 |
13 Apr 23 |
nicklas |
176 |
-jar ${PICARD} CollectWgsMetrics \ |
7106 |
12 Apr 23 |
nicklas |
177 |
-INPUT merged/alignment.bam \ |
7110 |
13 Apr 23 |
nicklas |
178 |
-OUTPUT stats/picard_CollectWgsMetrics.txt \ |
7110 |
13 Apr 23 |
nicklas |
179 |
-R ${REF_FASTA} \ |
7110 |
13 Apr 23 |
nicklas |
180 |
-READ_LENGTH ${ReadLength} \ |
7111 |
13 Apr 23 |
nicklas |
181 |
-USE_FAST_ALGORITHM true \ |
7106 |
12 Apr 23 |
nicklas |
182 |
-QUIET true -VERBOSITY WARNING \ |
7110 |
13 Apr 23 |
nicklas |
183 |
> picard_CollectWgsMetrics.out & |
7110 |
13 Apr 23 |
nicklas |
184 |
WGS_PID=$! |
7110 |
13 Apr 23 |
nicklas |
185 |
|
7110 |
13 Apr 23 |
nicklas |
## Wait for the steps to finish in the order they are expected to be completed |
7110 |
13 Apr 23 |
nicklas |
187 |
wait ${ALIGNMENT_STATISTICS_PID} |
7110 |
13 Apr 23 |
nicklas |
188 |
rg_time "ENDED alignment_statistics.sh" |
7110 |
13 Apr 23 |
nicklas |
189 |
|
7112 |
14 Apr 23 |
nicklas |
190 |
rg_progress 70 "Calculating statistics: picard CollectInsertSizeMetrics" |
7110 |
13 Apr 23 |
nicklas |
191 |
wait ${INSERT_SIZE_PID} |
7110 |
13 Apr 23 |
nicklas |
192 |
rg_time "ENDED picard CollectInsertSizeMetrics" |
7110 |
13 Apr 23 |
nicklas |
193 |
|
7112 |
14 Apr 23 |
nicklas |
194 |
rg_progress 75 "Calculating statistics: picard CollectQualityYieldMetrics" |
7110 |
13 Apr 23 |
nicklas |
195 |
wait ${QUALITY_YIELD_PID} |
7110 |
13 Apr 23 |
nicklas |
196 |
rg_time "ENDED picard CollectQualityYieldMetrics" |
7110 |
13 Apr 23 |
nicklas |
197 |
|
7112 |
14 Apr 23 |
nicklas |
198 |
rg_progress 80 "Calculating statistics: picard CollectAlignmentSummaryMetrics" |
7110 |
13 Apr 23 |
nicklas |
199 |
wait ${ALIGNMENT_SUMMARY_PID} |
7110 |
13 Apr 23 |
nicklas |
200 |
rg_time "ENDED picard CollectAlignmentSummaryMetrics" |
7110 |
13 Apr 23 |
nicklas |
201 |
|
7112 |
14 Apr 23 |
nicklas |
202 |
rg_progress 85 "Calculating statistics: picard CollectWgsMetrics" |
7110 |
13 Apr 23 |
nicklas |
203 |
wait ${WGS_PID} |
7110 |
13 Apr 23 |
nicklas |
204 |
rg_time "ENDED picard CollectWgsMetrics" |
7106 |
12 Apr 23 |
nicklas |
205 |
rg_time "ENDED statistics" |
7110 |
13 Apr 23 |
nicklas |
206 |
|
7089 |
04 Apr 23 |
nicklas |
207 |
touch "done/statistics.done" |
7089 |
04 Apr 23 |
nicklas |
208 |
fi |
7089 |
04 Apr 23 |
nicklas |
209 |
|
7091 |
04 Apr 23 |
nicklas |
## Genotype QC |
7091 |
04 Apr 23 |
nicklas |
211 |
if [ ! -f "done/genotypeqc.done" ]; then |
7091 |
04 Apr 23 |
nicklas |
212 |
rg_progress 90 "Running HaplotypeCaller" |
7106 |
12 Apr 23 |
nicklas |
213 |
rg_time "STARTING Genotype QC" |
7091 |
04 Apr 23 |
nicklas |
214 |
${WD}/stdwrap.sh ${JAVA} ${JavaOptions} \ |
7091 |
04 Apr 23 |
nicklas |
215 |
-jar ${GATK} HaplotypeCaller \ |
7091 |
04 Apr 23 |
nicklas |
216 |
-R ${REF_FASTA} \ |
7091 |
04 Apr 23 |
nicklas |
217 |
-L ${DBSNP} --dbsnp ${DBSNP} --alleles ${DBSNP} \ |
7091 |
04 Apr 23 |
nicklas |
218 |
--tmp-dir tmp/gatk \ |
7091 |
04 Apr 23 |
nicklas |
219 |
${HaplotypeCallerOptions} \ |
7091 |
04 Apr 23 |
nicklas |
220 |
-I merged/alignment.bam \ |
7091 |
04 Apr 23 |
nicklas |
221 |
-O merged/qc_genotype.vcf \ |
7091 |
04 Apr 23 |
nicklas |
222 |
> gatk_HaplotypeCaller.out |
7106 |
12 Apr 23 |
nicklas |
223 |
rg_time "ENDED Genotype QC" |
7102 |
06 Apr 23 |
nicklas |
224 |
|
7102 |
06 Apr 23 |
nicklas |
# Remove '##contig' entries from the qc_genotype.vcf since they are not really needed |
7102 |
06 Apr 23 |
nicklas |
226 |
sed -i '/##contig/d' merged/qc_genotype.vcf |
7091 |
04 Apr 23 |
nicklas |
227 |
touch "done/genotypeqc.done" |
7091 |
04 Apr 23 |
nicklas |
228 |
fi |
7089 |
04 Apr 23 |
nicklas |
229 |
|
7091 |
04 Apr 23 |
nicklas |
230 |
|
7089 |
04 Apr 23 |
nicklas |
231 |
rg_progress 95 "Copying result files to project archive" |
7112 |
14 Apr 23 |
nicklas |
232 |
rg_time "STARTING Copy" |
7112 |
14 Apr 23 |
nicklas |
233 |
|
7105 |
11 Apr 23 |
nicklas |
234 |
cp stats/*.txt ${WD} |
7089 |
04 Apr 23 |
nicklas |
235 |
mkdir -p ${AlignFolder} |
7089 |
04 Apr 23 |
nicklas |
236 |
rm -rf ${AlignFolder}/* |
7089 |
04 Apr 23 |
nicklas |
237 |
cp merged/* ${AlignFolder} |
7105 |
11 Apr 23 |
nicklas |
238 |
cp stats/* ${AlignFolder} |
7105 |
11 Apr 23 |
nicklas |
# cp *.out ${AlignFolder} |
7112 |
14 Apr 23 |
nicklas |
240 |
ls -1 ${AlignFolder}/* > ${WD}/files.out |
7089 |
04 Apr 23 |
nicklas |
241 |
|
7112 |
14 Apr 23 |
nicklas |
242 |
rg_time "ENDED Copy" |
7086 |
31 Mar 23 |
nicklas |
243 |
rg_progress 99 "Analysis completed, cleaning up..." |