Biowulf High Performance Computing at the NIH
WISExome: a within-sample comparison approach to detect copy number variations

Sequence reads obtained with the Whole Exome Sequencing (WES) vary between samples, complicating accurate CNV detection with WES. WISExome is the tool that implements a within-sample comparison approach to CNV detection. It correctly identifies known pathogenic CNVs.

References:

Documentation
Important Notes

Interactive job
Interactive jobs should be used for debugging, graphics, or applications that cannot be run as batch jobs.

Allocate an interactive session and run the program. Sample session:

[user@biowulf]$ sinteractive  --mem=4g  --gres=gpu:p100:1,lscratch:10 -c4
[user@cn3316 ~]$ module load WISExome 
[user@cn3316 ~]$ git clone https://github.com/VUmcCGP/wisexome.git
[user@cn3316 ~]$ cd wisexome
[user@cn3316 ~]$ sed -i 's/sys.stderr.write/# sys.stderr.write/g' test.py
[user@cn3316 ~]$ cp $WEXOME_BIN/*.sh . 
1) Get sample data:
[user@cn3316 ~]$  ln -s /fdb/WISExome/WISExome_SRR1273288.bam
[user@cn3316 ~]$  ln -s /fdb/WISExome/ucscrefseq.bed
[user@cn3316 ~]$  ln -s /fdb/WISExome/SeqCap_EZ_Exome_v3_hg19_capture_targets.bed
[user@cn3316 ~]$  mkdir input convert 
[user@cn3316 ~]$  mv WISExome_SRR1273288.bam input 
2) Sort the BAM file:
[user@cn3316 ~]$  samtools sort -T /tmp/WISExome_SRR1273288.sorted -o input/WISExome_SRR1273288.sorted.bam input/WISExome_SRR1273288.bam
[bam_sort_core] merging from 23 files and 1 in-memory blocks...
...
(A file input/WISExome_SRR1273288.sorted.bam will be produced.)

3) Produce an index for the sorted BAM file (will take several hours to complete):
[user@cn3316 ~]$ samtools index input/WISExome_SRR1273288.sorted.bam
4) Produce a file suitable for analysis or training from the BAM file:
[user@cn3316 ~]$ wexome python consam.py  input/WISExome_SRR1273288.sorted.bam SeqCap_EZ_Exome_v3_hg19_capture_targets.bed convert/WISExome_SRR1273288.sorted.hits
Using GPU implementation
chr1 38159
chr2 29498
chr3 22376
chr4 14667
chr5 17120
chr6 18680
chr7 18113
chr8 12051
chr9 15326
chr10 14691
chr11 19980
chr12 18619
chr13 6615
chr14 11410
chr15 13310
chr16 15261
chr17 20216
chr18 5474
chr19 20565
chr20 8750
chr21 3827
chr22 8167
chrX 13920
chrY chrM chr1_gl000191_random chr1_gl000192_random chr4_ctg9_hap1 chr4_gl000193_random chr4_gl000194_random chr6_apd_hap1 chr6_cox_hap2 chr6_dbb_hap3 chr6_mann_hap4 chr6_mcf_hap5 chr6_qbl_hap6 chr6_ssto_hap7 chr7_gl000195_random chr8_gl000196_random chr8_gl000197_random chr9_gl000198_random chr9_gl000199_random chr9_gl000200_random chr9_gl000201_random chr11_gl000202_random chr17_ctg5_hap1 chr17_gl000203_random chr17_gl000204_random chr17_gl000205_random chr17_gl000206_random chr18_gl000207_random chr19_gl000208_random chr19_gl000209_random chr21_gl000210_random chrUn_gl000211 chrUn_gl000212 chrUn_gl000213 chrUn_gl000214 chrUn_gl000215 chrUn_gl000216 chrUn_gl000217 chrUn_gl000218 chrUn_gl000219 chrUn_gl000220 chrUn_gl000221 chrUn_gl000222 chrUn_gl000223 chrUn_gl000224 chrUn_gl000225 chrUn_gl000226 chrUn_gl000227 chrUn_gl000228 chrUn_gl000229 chrUn_gl000230 chrUn_gl000231 chrUn_gl000232 chrUn_gl000233 chrUn_gl000234 chrUn_gl000235 chrUn_gl000236 chrUn_gl000237 chrUn_gl000238 chrUn_gl000239 chrUn_gl000240 chrUn_gl000241 chrUn_gl000242 chrUn_gl000243 chrUn_gl000244 chrUn_gl000245 chrUn_gl000246 chrUn_gl000247 chrUn_gl000248 chrUn_gl000249

[user@cn3316 ~]$ mkdir leno
[user@cn3316 ~]$ python lennormalize.py convert SeqCap_EZ_Exome_v3_hg19_capture_targets.bed leno
5) Create a reference:
[user@cn3316 ~]$ mkdir refdata
[user@cn3316 ~]$ mkdir refsamples
[user@cn3316 ~]$ cp leno/* refsamples 
[user@cn3316 ~]$ create_ref.sh 

Using GPU implementation
        Loading:        refsamples/WISExome_SRR1273288.sorted.hits
8167 1
38159 1
TargetProbe: 0  Progress: 0 %   TimeElapsed: 0 m 0 s    TimeLeft: 0 h 4 m
TargetProbe: 50         Progress: 0 %   TimeElapsed: 0 m 1 s    TimeLeft: 0 h 4 m
TargetProbe: 100        Progress: 1 %   TimeElapsed: 0 m 3 s    TimeLeft: 0 h 4 m
TargetProbe: 150        Progress: 1 %   TimeElapsed: 0 m 4 s    TimeLeft: 0 h 4 m
TargetProbe: 200        Progress: 2 %   TimeElapsed: 0 m 6 s    TimeLeft: 0 h 4 m
TargetProbe: 250        Progress: 3 %   TimeElapsed: 0 m 8 s    TimeLeft: 0 h 4 m
TargetProbe: 300        Progress: 3 %   TimeElapsed: 0 m 9 s    TimeLeft: 0 h 4 m
TargetProbe: 350        Progress: 4 %   TimeElapsed: 0 m 11 s   TimeLeft: 0 h 4 m
TargetProbe: 400        Progress: 4 %   TimeElapsed: 0 m 13 s   TimeLeft: 0 h 4 m
TargetProbe: 450        Progress: 5 %   TimeElapsed: 0 m 14 s   TimeLeft: 0 h 4 m
TargetProbe: 500        Progress: 6 %   TimeElapsed: 0 m 16 s   TimeLeft: 0 h 4 m
TargetProbe: 550        Progress: 6 %   TimeElapsed: 0 m 18 s   TimeLeft: 0 h 4 m
TargetProbe: 600        Progress: 7 %   TimeElapsed: 0 m 19 s   TimeLeft: 0 h 4 m
TargetProbe: 650        Progress: 7 %   TimeElapsed: 0 m 21 s   TimeLeft: 0 h 4 m
TargetProbe: 700        Progress: 8 %   TimeElapsed: 0 m 23 s   TimeLeft: 0 h 4 m
TargetProbe: 750        Progress: 9 %   TimeElapsed: 0 m 24 s   TimeLeft: 0 h 4 m
TargetProbe: 800        Progress: 9 %   TimeElapsed: 0 m 26 s   TimeLeft: 0 h 4 m
...
6) Determine unreliable target regions:
[user@cn3316 ~]$ ln -s convert refsamples
[user@cn3316 ~]$ ./determine_unreliable_target_regions.sh WISExome_SRR1273288
7) Run tests:
[user@cn3316 ~]$  mkdir testout 
[user@cn3316 ~]$ ./run_tests.sh WISExome_SRR1273288 SeqCap_EZ_Exome_v3_hg19_capture_targets.bed
This command will create files:
    testout/*.flameview.pdf,
    testout/*.overview.pdf,
and
    testout/*.pickle.
[user@cn3144 ~]$ exit
salloc.exe: Relinquishing job allocation 46116226
[user@biowulf ~]$