by Thomas Dokas
SNProcess is a Single Nucleotide Polymorphism (SNP) Quality Control pipeline, written in python the procedure was developed by Shing Wan Choi @ Mount Sinai, NYC and for more info check out this tutorial.
SNProcess is very easy for any user to install. It's listed on pypi, which means you can install it using pip:
pip install snprocessand you can upgrade it by running:
pip install snprocess --upgradeSNProcess will run a QC pipeline and produce the output files qcplink.xyz
SNProcess compiles relevant information with regard to the QC process into an HTML webpage. This can be found in your specified output folder, in the file index.html. SNProcess also provides a way of viewing this file easily, just run:
snprocess -iand go to localhost:8008. This is a way of viewing this generated webpage using your own computer as a host. Pretty cool, right?
- What should my input json look like? Run snprocess -e for an example json printed to your console, or snprocess -g to generate your own to your output directory
- SNProcess won't run for me! What's wrong? SNProcess is a somewhat unique program in that it uses plink as a driver/helper. Make sure that's installed. If the issue persists, please file a bug report at the snprocess repo
Steps for QC:
- Check missingness and generate plots
- Remove individuals with high missingness
- Select autosomal SNPs only and filter out SNPs with low minor allele frequency (MAF)
- Delete SNPs not in the Hardy-WEinberg equilibrium (HWE)
- Heterozygosity and LD Pruning
This portion of the pipeline compares the user data with data in the 1,000 genome project and produces graphs that show the population stratification based on race & ethnicity
- move final rscripts to python. shouldn't there be a python-like ggplot?
- use tmp folder for files that arent used in index.html and qcplink.xyz
- 1kg check if exists, otherwise download. use settings input flag to do qc on 1kg or not
- remove snprocess.log
- try to redirect warnings to log
- save the plink file to output dur BEFORE LD pruning (that step is just for qc2) but keep this in for qc2
- also save MDS_merged.mds

