-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathukb.sb
59 lines (54 loc) · 1.89 KB
/
ukb.sb
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
#!/bin/bash
#SBATCH --account=PETERS-SL3-CPU
#SBATCH --ntasks=1
#SBATCH --job-name=_ukb
#SBATCH --time=12:00:00
#SBATCH --partition=skylake
#SBATCH --array=1-180
#SBATCH --mem=128800
#SBATCH --output=/rds/user/jhz22/hpc-work/work/_ukb_%A_%a.out
#SBATCH --error=/rds/user/jhz22/hpc-work/work/_ukb_%A_%a.err
#SBATCH --export ALL
export job=${SLURM_ARRAY_TASK_ID}
export TMPDIR=/rds/user/jhz22/hpc-work/work
export INF=/rds/project/jmmh2/rds-jmmh2-projects/olink_proteomics/scallop/INF
export ukbdir=${INF}/ukb
export sample=${ukbdir}/doc/ukb20480_imp_chr1_v3_s487395.sample
export list=${INF}/work/INF1.merge
export p=$(awk -v job=${job} 'NR==job+1{print $5}' ${list})
export r=$(awk -v job=${job} 'NR==job+1{print $6}' ${list})
export pr=${p}-${r}
function ukb_qctool()
{
if [ ! -f bgen/${pr}.bgen.bgi ]; then bgenix -g bgen/${pr}.bgen -index -clobber; fi
(
cat ${INF}/csd3/ukb.hdr
bgenix -g bgen/${pr}.bgen -list 2>&1 | awk 'NR>9 && NF==7'| awk -f ${INF}/csd3/ukb.awk
) > bgen/${pr}.map
qctool -g bgen/${pr}.bgen -excl-rsids bgen/${pr}.rmdup.list -map-id-data bgen/${pr}.map -og nodup/${pr}.bgen
bgenix -g nodup/${pr}.bgen -index -clobber
qctool -g nodup/${pr}.bgen -s ${sample} -ofiletype binary_ped -og nodup/${pr}
}
function ukb_plink()
{
plink2 --bgen bgen/${pr}.bgen --sample ${sample} --exclude bgen/${pr}.rmdup.list --make-bed --out nodup/${pr}_nodup
awk '
{
CHR=$1
POS=$4
a1=$5
a2=$6
if (a1>a2) snpid="chr" CHR ":" POS "_" a2 "_" a1;
else snpid="chr" CHR ":" POS "_" a1 "_" a2
print snpid, $2
}' nodup/${pr}_nodup.bim > nodup/${pr}.id
plink --bfile nodup/${pr}_nodup --update-name nodup/${pr}.id 1 2 --make-bed --out nodup/${pr}_snpid
rm nodup/${pr}_nodup.*
}
cd ${ukbdir}
module load plink/2.00-alpha
if [ ! -f bgen/${pr}.rmdup.list ]; then
plink2 --bgen bgen/${pr}.bgen --sample ${sample} --rm-dup force-first list --out bgen/${pr}
fi
ukb_plink
cd -