Workflow for running PennCNV with Affymetrix platform files
The workflow requires to open and edit the script files to customize the variables for your environment and species.
The first script runs the Affymetrix Power Tools command-line programs to generate genotyping calls from CEL files, and extract signal intensity values for PM probes in all the CEL files, the values are then quantile normalized, median polished, generating A & B signal intensity values for each SNP.
The second script runs the PennCNV calculating LRR and BAF.
- Git
- Linux: Git for Linux/MacOS
- Windows: MSYS2:
pacman -Syu; exit
pacman -S git
- PennCNV:
git clone https://github.com/WGLab/PennCNV.git
- Copy Affymetrix required binaries to an accessible location:
cp PennCNV/affy/bin/* /usr/local/bin/
- Copy Affymetrix required binaries to an accessible location:
- Affymetrix Power Tools (APT) software
- Axiom CNV Tools
- UCSC utilities:
- Windows: N/A
- Linux: http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/
- MacOS: http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.x86_64/
- Alternative download:
git clone https://github.com/ENCODE-DCC/kentUtils
- Copy or move the downloaded commands to a PATH location:
echo $PATH | tr \: \\n
- Download Axiom Library files for your species
- Linux/MacOS : AAS Library files should be installed in /usr/local/src/AxiomAnalysisSuite/Library/
- Windows: AAS Library files should be installed in c:\Users\Public\Documents\AxiomAnalysisSuite\Library\ or wherever the ax_library_root variable point to.
- Library examples:
- 'c:\Users\Public\Documents\AxiomAnalysisSuite\Library\Axiom_GW_Bos_SNP_1.r3'
- 'c:\Users\Public\Documents\AxiomAnalysisSuite\Library\Axiom_Buffalo_Analysis-r2'
- 'c:\Users\Public\Documents\AxiomAnalysisSuite\Library\Axiom_GW_GT_Chicken_Analysis-r2'
- 'c:\Users\Public\Documents\AxiomAnalysisSuite\Library\Axiom_OviCap_Analysis-caprine-r1'
- 'c:\Users\Public\Documents\AxiomAnalysisSuite\Library\Axiom_MouseHD_Analysis.r1'
- Download Array Annotation Files for your species.
- Open a Git console and execute the following commands:
git clone https://github.com/hernanmd/PennCNV.Affy.git
cd PennCNV.Affy
- Put your .CEL files in a subdirectory of this script directory
- Edit the ax_cel_dir variable with the subdirectory name in Project.config file.
nano Project.config
- prj_prefix = Prefix of output files
- Edit or check the following variables:
- penncnv_root = Directory with PennCNV binaries:
nano penncnv_root.sh
- ax_library_root = Parent directory of Axiom Libraries.
nano ax_lib_root.sh
- ax_library_dir = Directory of Axiom Library files for your species (see above Library Requirements)
- ax_params_file = XML file parameters.
- example: Axiom_GW_Bos_SNP_1_96orMore_Step1.r3.apt-probeset-genotype.AxiomGT1.apt2.xml
- ax_sketch_file = Axiom sketch file.
- example: Axiom_GW_Bos_SNP_1.r3.AxiomGT1.sketch
- ax_probeset_file = Axiom CDF file
- ax_annot_db = SQLite annotation database file (.annot.db)
- ax_penncnv_map = Axiom probe mappings file (.annot.db-probemappings.txt)
- ucsc_gen = true if your input GC file for cal_gc_snp.pl was generated by UCSC, false if is not present in UCSC or the UCSC file is a pointer to a bigWig file (.bw)
- If false, you should run the Step 2 script under Linux or MacOS since UCSC binaries are not available on Windows.
- penncnv_root = Directory with PennCNV binaries:
./run_AxiomArBos1_part1.sh
./run_AxiomBOS1_part1.sh
- The first script generates a subdirectory ax_output/ (or whatever name in the $ax_results_dir variable).
- As next step you should run the Axiom CNV Tools which will generate a set of penncnv.cnv.txt files.
- Move the set of penncnv.cnv.txt files to the ax_output directory.
- Run Axiom CNV Tool
- Copy or move the generated .annot.db-probemappings.txt file to $ax_results_dir
- Create $signal_outdir directory
- Copy or move .penncnv.cnv.txt to $signal_outdir directory
./run_AxiomGT1_part2.sh
- If you wish to run the second script isolated from the first one, you should set up the project name and Axiom output directory in command line:
export ax_results_dir="ax_output/"
export prj_prefix="Run1"
export computed_gender_file=$ax_results_dir"gender_computed.txt"