Sign inSign up

trust1/hemeclass

By trust1

Updated about 3 years ago

Hematological tumors methylation classifier.

Image
0

230

trust1/hemeclass repository overview

HEME classifier v2.02

This is image with ubuntu environment and R packages for hematological tumor classifier pipeline. This box includes multistage classifier by Omkar Singh and one stage conventional classifier model by Rust Turakulov. Both models are based on the Support Vector Machine algorithm and were trained and calibrated on the same dataset with 44 hematological classes identified by methylation profiles and routine pathology diagnostics. The training set consist of over 1k samples of Illumina EPIC and 450k methylation arrays.

The training and validation dataset set can be downloaded from the GEO: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE237299

Requirements
  • Computer with: >12GB RAM, 4CPUs, 20GB HDD.
  • Need at least three samples in the batch to process trough meffil normalization step.
  • The 12GB RAM should be OK for 3-20 samples per new batch. The bigger batches will require more memory. Memory requirements is not linear. Also be aware the bigger batch likely bias UMAP. Classifier validation performed in batches of 10-30 samples.
Pipeline command Docker

 docker run -rm -v /DATA:/DATA  trust1/hemeclass:latest Rscript /HEME_classifier/heme_pipe_latest.R $1 $2

Where
$1 -- full path to the idat and samplesheet folder.  
$2 -- full path to the output folder. 

-v /DATA:/DATA --- this is path to the drive where input idat and output files stored. Note you can map multiple drives just provide additional mount point like this -v /moredata:/moredata. The left part of the expression before [ : ] is a local system path to the drive and second part how it will be mounted inside the docker container. This -v flag is needed to allow the access to external data for the container. I recommend to keep both sides (left and right side of : ) for the mapping equation the same to avoid confusion. Here is full example for the docker where local path /data/MDATA mapped inside container as /DATA and file path to the data provided with updated (truncated) name.

docker run -rm -v /data/MDATA:/DATA  trust1/hemeclass:latest \
 Rscript /HEME_classifier/heme_pipe_latest.R \
/DATA/compass/iScan_raw/12345678 \
/DATA/TRANSFER/Rust/HEME_results \

The -rm flag will ask to automatically remove container after it done: highly recommended!

Singularity on biowulf
module load singularity
singularity pull docker://trust1/hemeclass:latest  ## has to be done only once

singularity exec NormRcode/HEME_classifier/hemeclass_latest.sif  Rscript /HEME_classifier/heme_pipe_latest.R $1 $2

Where
$1 -- full path to idat folder
$2 -- full path to output folder 

In ouput folder $2 in case of successful pipeline run expect to find:

  • one html file with meffil QC report: qc-report.html
  • one csv file with batch results summaries: HEMCLASS_batch_results_07252023.csv
  • one html file with batch report: HEMCLASS_batch_umap_07252023.html
  • multiple html files with individual sample report (one report per sample). Those are are main products and contain detailed information about the classification results, class descriptions, copy number, umap and DBSCAN: DNA23_207439530072_R02C01.hemeumap.html, DNA50_207439530072_R04C01.hemeumap.html.
Samplesheet

If you want to have sample name of your tested idat files added to UMAP and HTML, prepare and save tab delimited file in the same folder with idat raw data named newsamples.txt . This file should have the first column as DNA/Sample ids and the second column is idat barcode, NO headers, like that:

newsamples.txt

Sample-A	6285633006_R06C01
Sample-B	6285633006_R06C02
GSM4954162	GSM4954162_201005080077_R01C01
GSM4954163	GSM4954163_201005080077_R02C01

Only samples in newsamples.txt will be reported. This can help you to control how many samples to process if all those stored in the same folder. For example for the big batch situation.

Sample_Sheet.csv

If you have illumina style csv file you which you want to extract to individual HTML report file you can provide Sample_Sheet.csv in idat folder with format like this:

[Header],,,,,,,,,,,,,,,,
Investigator Name,Zied Abdullaev,,,,,,,,,,,,,,,
Project Name,Research Testing,,,,,,,,,,,,,,,
Experiment Name,207310410114,,,,,,,,,,,,,,,
Date,6/22/2023,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
[Data],,,,,,,,,,,,,,,,
Sample_Name,Sample_Well,Sample_Plate,Sample_Group,Pool_ID,Sentrix_ID,Sentrix_Position,Material_Type,Gender,Surgical_Case,Diagnosis,Age,Notes,Tumor_site,PI_Collaborator,Outside_ID,Surgery_date
EE11,A02,Sarcoma,EPIC,6/22/2023,207310410114,R01C01,FFPE,Female,SI-23-3783,Intraneural neurofibroma with nuclear atypia,21,LS,"Soft tissue, right posterior thigh tumor",DrNameHere,NA,5/10/2023
EE12,B02,Sarcoma,EPIC,6/22/2023,207310410114,R02C01,FFPE,Female,ST-23-4078,"Malignant spindle cell neoplasm, favor melanoma, spindle cell type",77,LS,"Soft tissue, right posterior hard palate",DrNameHere,SP-23-15111/ IP23-1046,3/15/2023 

Header names spelling is important. Not all columns will be extracted to the html report file.

** No samplesheet ** Without samplesheets in idat folder Sentrix barcode will be used as sample identifier. All samples from the input folder will be processed.

Credits
  • NIH NCI Laboratory Of Pathology, methylation lab team
  • Dr. Saksena A.
  • Dr. Singh O.
  • Dr. Abdullaev Z.
  • Dr. Papanicolau A.
  • Dr. Liu Y.
  • Dr. Alves De Castro J.
  • Dr. Pratt D.
  • Dr. Turakulov R.
  • Dr. Aldape K.

Tag summary

Content type

Image

Digest

sha256:cb7f80e72

Size

7.3 GB

Last updated

about 3 years ago

docker pull trust1/hemeclass