-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun_delly_sv.sh
65 lines (59 loc) · 1.87 KB
/
run_delly_sv.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
basedir=$1;
outdir=$2
ext=".cram"
fasta="$HOME/common/hg38/Homo_sapiens_assembly38.fasta"
bl_lst="$HOME/common/hg38/human.hg38.excl.tsv"
bams=$(find $basedir -name "*"$ext);
echo $bams
set -e
for i in $bams
do
echo "Processing $i"
bn=$(basename $i)
splitext=$(echo $bn | cut -d "." -f1)
if ! [ -f "$outdir/$splitext/${splitext}$ext" ]
then
echo "Creating simlink: $i $outdir/$splitext/${splitext}$ext"
ln -s $(realpath $i) $outdir/$splitext/${splitext}$ext
fi
if [ -d "$outdir/${splitext}/delly" ]
then
echo "delly output directory exist"
else
echo "creating directory $outdir/${splitext}/delly"
mkdir "$outdir/${splitext}/delly"
fi
out=$outdir/${splitext}/delly/delly.sv.vcf ;
if [ -f "$outdir/${splitext}/delly/.done" ]
then
echo "Skipping $i"
continue
else
if ! [ -f "$outdir/$splitext/${splitext}${ext}.crai" ];
then
echo "Index "$outdir/$splitext/${splitext}${ext}.crai not found, running samtools index on "$outdir/$splitext/${splitext}${ext}"
set +eE
samtools index -@ 20 "$outdir/$splitext/${splitext}${ext}"
if [ $? -eq 0 ]; then
echo "Index done"
else
echo "Index fail for sample $outdir/$splitext/${splitext}${ext}"
rm "$outdir/$splitext/${splitext}${ext}.crai"
echo "Index Fail" > $outdir/${splitext}/delly/.fail
continue
fi
set -eE
fi
echo "ruinning delly sv"
date
$HOME/soft/delly/delly/src/delly call \
-g ${fasta} \
-x ${bl_lst} \
$outdir/$splitext/${splitext}${ext} \
> $out \
2>> delly_sv_logs.txt
echo "Done" > "$outdir/${splitext}/delly/.done"
echo "Done"
date
fi
done