Sign inSign up

cmgantwerpen/repeat_analysis

By cmgantwerpen

Updated about 2 years ago

combined container with expansion hunter and STaRparse tools

Image
Data science
0

9.5K

cmgantwerpen/repeat_analysis repository overview

BeSolveRD : Repeat Analysis

The goal of this container is to run the repeat analysis on pcr free WGS samples. It involves the following steps:

  • Run Expansion hunter on a catalogue
  • Run the STaRparse analysis to identify significant expansions
  • Run REViewer to visualize the significant repeats.

Available Catalogs

Three catalogue files are provided, each in hg19 and hg38:

ls /opt/expansion_hunter/catalogues/.

CGG_GRCh37_RareRepeats_ExH.json  
CGG_GRCh38_RareRepeats_ExH.json
CGG_GRCh37_RareRepeats_ExH_RepeatsofInterest.json
CGG_GRCh38_RareRepeats_ExH_RepeatsofInterest.json  
eh_GRCh38.json  
eh_hg19.json

The eh_ catalogues are provided by Expansion Hunter and reflect 30 (hg19) and 31 (hg38) known disease repeats. The CGG_*_RareRepeats_ExH.json files reflect all 6102 (hg19) or 6607 (hg38) CGG repeats in the human genome, as built by Annear et al (https://www.nature.com/articles/s41598-021-82050-5). Finally, the _RepeatsofInterest files reflect a subset of 322 (hg19) or 380 (hg38) CGG repeats that are potentially associated with disease as predicted by RExPRT.

Run Expansion Hunter

EH needs a BAM/CRAM file, a reference fasta file and the catalogue file. Required resources are limited (1 CPU / 4Gb of RAM).

OUTPUT_PREFIX is used to store output files and taken. Use eg : $OUT_DIR/${SAMPLE}_eh_$(basename $CATALOGUE .json)

docker run --rm \
    -v /mnt/CRAMshare:/mnt/CRAMshare \
    -v /mnt/REFshare:/mnt/REFshare \
    -v $OUT_DIR:$OUT_DIR \
    cmgantwerpen/repeat_analysis:0.1  bash -c 'ExpansionHunter \
        --reads /mnt/CRAMshare/$CRAM \
        --reference /mnt/REFshare/$BUILD.fa \
        --variant-catalog /opt/expansion_hunter/catalogues/$CATALOGUE \
        --output-prefix $PREFIX \
    '

Notes:

  • The resulting _realigned.bam file should be sorted and indexed. We've used samtools sort for this, but beware that CRAM output does not seem to work as some reads get lost in the process...

  • By aggregating all results in a single $OUT_DIR, the following steps can be combined. Alternatively, run the next command for each generated output folder.

  • Runtime is a few minutes for the EH and Interest sets, the whole set takes just under two hours on 1GBit network located CRAM files.

Run STaRparse

STaRparse evaluates the output from Expansion hunter and identifies repeats that show a significant deviation from the population median length.

docker run --rm \
    -v /mnt/CRAMshare:/mnt/CRAMshare \
    -v /mnt/REFshare:/mnt/REFshare \
    -v $OUT_DIR:$OUT_DIR \
    cmgantwerpen/repeat_analysis:0.1 bash -c 'STRparse.py fullanalysis \ 
        -v $OUT_DIR \
        -j $OUT_DIR \
        -o $OUT_DIR \
        -s $(basename $CATALOGUE .json)_STRparse \
        -b 38 \
        -H $ANNOVARDB \
        -r $REFERENCE_PANEL \
    '

The options are:

  • -v : Folder containing VCF files generated by ExpansionHunter
  • -j : Folder containing JSON files generated by ExpansionHunter
  • -o : Output Folder
  • -s : A prefix for the output files. These files combine all samples found in -v/-j
  • -b : Genome Build. Options are 19, 37 or 38
  • -H : Annovar humandb location. It should contain refGene annotation tables for the selected build.
  • -r : A pre-built reference panel for the selected catalogue.

Notes:

ANNOVAR is used to annotate repeats with genes, using the -geneanno parameter, which defaults to refGene.

Reference sets

A reference set was built for the hg38 catalogues based on UZA samples in the BeSolveRD project:

ls /opt/references/*by_locus.csv

/opt/references/CGG_GRCh38_RareRepeats_ExH_RepeatsofInterest_STRparse_by_locus.csv
/opt/references/CGG_GRCh38_RareRepeats_ExH_STRparse_by_locus.csv
/opt/references/eh_GRCh38_STRparse_by_locus.csv

Use these for single sample analysis, to use average values and spread from UZA samples when identifying significant deviations. If not provided, the values are calculated on the data found in $OUT_DIR. If not provided for a single sample, errors will be thrown.

Visualize

REViewer is provided to generate plots of the significant repeats. This commands is run on a per-sample basis.

docker run --rm \
    -v /mnt/CRAMshare:/mnt/CRAMshare \
    -v /mnt/REFshare:/mnt/REFshare \
    -v $OUT_DIR:$OUT_DIR \
    cmgantwerpen/repeat_analysis:0.1 bash -c 'plot_repeats.py \
       --bam ${PREFIX}_realigned.sorted.bam \
       --reference /mnt/REFshare/$BUILD.fa \
       --catalog /opt/expansion_hunter/catalogues/$CATALOGUE \
       --vcf $OUT_DIR/$(basename $PREFIX).vcf \
       --output $OUT_DIR/$SAMPLE.sign.repeats.pdf \
       --infile $OUT_DIR/$(basename $CATALOGUE .json)_STRparse_sign_$(basename $PREFIX).csv \
     '

Parameters are:

  • --bam : Output BAM file generated by expansion hunter, after sortin & indexing
  • --reference : Reference fasta file for the selected genome build
  • --catalog : The used catalogue file
  • --vcf : The vcf file generated by expansion hunter
  • --output : PDF file containing the repeat plots
  • --infile : TXT file with identified significant repeats, from STaRparse analysis

Tag summary

Content type

Image

Digest

sha256:56e13bb44

Size

595.5 MB

Last updated

about 2 years ago

docker pull cmgantwerpen/repeat_analysis