# STACKS COMMANDS # demultiplexing and denovo_map commands (Stacks) # land sample processing process_radtags -p raw_land_sample/ -o land_samples/ -b land_samples_barcodes.txt -r -c -q -e pstI mkdir land_samples_no_barcode (cd land_samples for i in `cat ../land_sample_ids.txt` do cat $i-*.fq > ../land_samples_no_barcode/$i-all.fq done ) denovo_map.pl -O populations.txt -m 5 -M 2 -n 2 -b 1 \ -T 16 -S -o ./stacks \ -s land_samples_no_barcode/CF_F10.fq \ -s land_samples_no_barcode/CF_F11.fq \ -s land_samples_no_barcode/CF_F12.fq \ -s land_samples_no_barcode/CF_F13.fq \ -s land_samples_no_barcode/CF_F14.fq \ -s land_samples_no_barcode/CF_F15.fq \ -s land_samples_no_barcode/CF_F16.fq \ -s land_samples_no_barcode/CF_F17.fq \ -s land_samples_no_barcode/CF_F18.fq \ -s land_samples_no_barcode/CF_F19.fq \ -s land_samples_no_barcode/CF_F1.fq \ -s land_samples_no_barcode/CF_F20.fq \ -s land_samples_no_barcode/CF_F21.fq \ -s land_samples_no_barcode/CF_F22.fq \ -s land_samples_no_barcode/CF_F23.fq \ -s land_samples_no_barcode/CF_F24.fq \ -s land_samples_no_barcode/CF_F2.fq \ -s land_samples_no_barcode/CF_F3.fq \ -s land_samples_no_barcode/CF_F4.fq \ -s land_samples_no_barcode/CF_F5.fq \ -s land_samples_no_barcode/CF_F6.fq \ -s land_samples_no_barcode/CF_F7.fq \ -s land_samples_no_barcode/CF_F8.fq \ -s land_samples_no_barcode/CF_F9.fq \ -s land_samples_no_barcode/CPC_F1.fq \ -s land_samples_no_barcode/CPC_F2.fq \ -s land_samples_no_barcode/CPC_F3.fq \ -s land_samples_no_barcode/CPC_F4.fq \ -s land_samples_no_barcode/CPC_F5.fq \ -s land_samples_no_barcode/CPC_F6.fq \ -s land_samples_no_barcode/CPC_M1.fq \ -s land_samples_no_barcode/CPC_M2.fq \ -s land_samples_no_barcode/CPC_M3.fq \ -s land_samples_no_barcode/CPC_M4.fq \ -s land_samples_no_barcode/CPC_M5.fq \ -s land_samples_no_barcode/CPC_M6.fq \ -s land_samples_no_barcode/CP_F1.fq \ -s land_samples_no_barcode/CP_F2.fq \ -s land_samples_no_barcode/CP_F3.fq \ -s land_samples_no_barcode/CP_F4.fq \ -s land_samples_no_barcode/CP_F5.fq \ -s land_samples_no_barcode/CP_F6.fq \ -s land_samples_no_barcode/CP_M1.fq \ -s land_samples_no_barcode/CP_M2.fq \ -s land_samples_no_barcode/CP_M3.fq \ -s land_samples_no_barcode/CP_M4.fq \ -s land_samples_no_barcode/CP_M5.fq \ -s land_samples_no_barcode/CP_M6.fq \ -s land_samples_no_barcode/HB_F10.fq \ -s land_samples_no_barcode/HB_F11.fq \ -s land_samples_no_barcode/HB_F12.fq \ -s land_samples_no_barcode/HB_F13.fq \ -s land_samples_no_barcode/HB_F1.fq \ -s land_samples_no_barcode/HB_F2.fq \ -s land_samples_no_barcode/HB_F3.fq \ -s land_samples_no_barcode/HB_F4.fq \ -s land_samples_no_barcode/HB_F5.fq \ -s land_samples_no_barcode/HB_F8.fq \ -s land_samples_no_barcode/HB_F9.fq \ -s land_samples_no_barcode/HB_M10.fq \ -s land_samples_no_barcode/HB_M11.fq \ -s land_samples_no_barcode/HB_M1.fq \ -s land_samples_no_barcode/HB_M2.fq \ -s land_samples_no_barcode/HB_M3.fq \ -s land_samples_no_barcode/HB_M4.fq \ -s land_samples_no_barcode/HB_M5.fq \ -s land_samples_no_barcode/HB_M6.fq \ -s land_samples_no_barcode/HB_M7.fq \ -s land_samples_no_barcode/HB_M8.fq \ -s land_samples_no_barcode/HB_M9.fq \ -s land_samples_no_barcode/NPT_F10.fq \ -s land_samples_no_barcode/NPT_F11.fq \ -s land_samples_no_barcode/NPT_F12.fq \ -s land_samples_no_barcode/NPT_F13.fq \ -s land_samples_no_barcode/NPT_F14.fq \ -s land_samples_no_barcode/NPT_F1.fq \ -s land_samples_no_barcode/NPT_F2.fq \ -s land_samples_no_barcode/NPT_F3.fq \ -s land_samples_no_barcode/NPT_F4.fq \ -s land_samples_no_barcode/NPT_F7.fq \ -s land_samples_no_barcode/NPT_F8.fq \ -s land_samples_no_barcode/NPT_F9.fq \ -s land_samples_no_barcode/NPT_M10.fq \ -s land_samples_no_barcode/NPT_M1.fq \ -s land_samples_no_barcode/NPT_M2.fq \ -s land_samples_no_barcode/NPT_M3.fq \ -s land_samples_no_barcode/NPT_M4.fq \ -s land_samples_no_barcode/NPT_M5.fq \ -s land_samples_no_barcode/NPT_M6.fq \ -s land_samples_no_barcode/NPT_M7.fq \ -s land_samples_no_barcode/NPT_M8.fq \ -s land_samples_no_barcode/NPT_M9.fq \ -s land_samples_no_barcode/OBI_F10.fq \ -s land_samples_no_barcode/OBI_F13.fq \ -s land_samples_no_barcode/OBI_F15.fq \ -s land_samples_no_barcode/OBI_F17.fq \ -s land_samples_no_barcode/OBI_F1.fq \ -s land_samples_no_barcode/OBI_F20.fq \ -s land_samples_no_barcode/OBI_F23.fq \ -s land_samples_no_barcode/OBI_F2.fq \ -s land_samples_no_barcode/OBI_F3.fq \ -s land_samples_no_barcode/OBI_F4.fq \ -s land_samples_no_barcode/OBI_F6.fq \ -s land_samples_no_barcode/OBI_F7.fq \ -s land_samples_no_barcode/OBI_F8.fq \ -s land_samples_no_barcode/OBI_F9.fq \ -s land_samples_no_barcode/OBI_M10.fq \ -s land_samples_no_barcode/OBI_M11.fq \ -s land_samples_no_barcode/OBI_M12.fq \ -s land_samples_no_barcode/OBI_M15.fq \ -s land_samples_no_barcode/OBI_M17.fq \ -s land_samples_no_barcode/OBI_M19.fq \ -s land_samples_no_barcode/OBI_M20.fq \ -s land_samples_no_barcode/OBI_M22.fq \ -s land_samples_no_barcode/OBI_M23.fq \ -s land_samples_no_barcode/OBI_M2.fq \ -s land_samples_no_barcode/OBI_M3.fq \ -s land_samples_no_barcode/OBI_M5.fq \ -s land_samples_no_barcode/OBI_M7.fq \ -s land_samples_no_barcode/OBI_M9.fq \ -s land_samples_no_barcode/OPC_10.fq \ -s land_samples_no_barcode/OPC_11.fq \ -s land_samples_no_barcode/OPC_12.fq \ -s land_samples_no_barcode/OPC_1.fq \ -s land_samples_no_barcode/OPC_2.fq \ -s land_samples_no_barcode/OPC_3.fq \ -s land_samples_no_barcode/OPC_4.fq \ -s land_samples_no_barcode/OPC_5.fq \ -s land_samples_no_barcode/OPC_6.fq \ -s land_samples_no_barcode/OPC_7.fq \ -s land_samples_no_barcode/OPC_8.fq \ -s land_samples_no_barcode/OPC_9.fq \ -s land_samples_no_barcode/OP_F1.fq \ -s land_samples_no_barcode/OP_F2.fq \ -s land_samples_no_barcode/OP_F3.fq \ -s land_samples_no_barcode/OP_F4.fq \ -s land_samples_no_barcode/OP_M1.fq \ -s land_samples_no_barcode/OP_M2.fq \ -s land_samples_no_barcode/OP_M3.fq \ -s land_samples_no_barcode/OP_M4.fq \ -s land_samples_no_barcode/OP_M5.fq \ -s land_samples_no_barcode/OP_M6.fq \ -s land_samples_no_barcode/OP_M7.fq \ -s land_samples_no_barcode/OP_M8.fq \ -s land_samples_no_barcode/VB_F10.fq \ -s land_samples_no_barcode/VB_F11.fq \ -s land_samples_no_barcode/VB_F12.fq \ -s land_samples_no_barcode/VB_F1.fq \ -s land_samples_no_barcode/VB_F2.fq \ -s land_samples_no_barcode/VB_F3.fq \ -s land_samples_no_barcode/VB_F4.fq \ -s land_samples_no_barcode/VB_F5.fq \ -s land_samples_no_barcode/VB_F6.fq \ -s land_samples_no_barcode/VB_F7.fq \ -s land_samples_no_barcode/VB_F8.fq \ -s land_samples_no_barcode/VB_F9.fq \ -s land_samples_no_barcode/VB_M10.fq \ -s land_samples_no_barcode/VB_M1.fq \ -s land_samples_no_barcode/VB_M2.fq \ -s land_samples_no_barcode/VB_M3.fq \ -s land_samples_no_barcode/VB_M4.fq \ -s land_samples_no_barcode/VB_M5.fq \ -s land_samples_no_barcode/VB_M6.fq \ -s land_samples_no_barcode/VB_M7.fq \ -s land_samples_no_barcode/VB_M8.fq \ -s land_samples_no_barcode/VB_M9.fq \ -s land_samples_no_barcode/WP_F10.fq \ -s land_samples_no_barcode/WP_F11.fq \ -s land_samples_no_barcode/WP_F1.fq \ -s land_samples_no_barcode/WP_F2.fq \ -s land_samples_no_barcode/WP_F3.fq \ -s land_samples_no_barcode/WP_F4.fq \ -s land_samples_no_barcode/WP_F5.fq \ -s land_samples_no_barcode/WP_F6.fq \ -s land_samples_no_barcode/WP_F7.fq \ -s land_samples_no_barcode/WP_F8.fq \ -s land_samples_no_barcode/WP_F9.fq \ -s land_samples_no_barcode/WP_M10.fq \ -s land_samples_no_barcode/WP_M11.fq \ -s land_samples_no_barcode/WP_M1.fq \ -s land_samples_no_barcode/WP_M2.fq \ -s land_samples_no_barcode/WP_M3.fq \ -s land_samples_no_barcode/WP_M4.fq \ -s land_samples_no_barcode/WP_M5.fq \ -s land_samples_no_barcode/WP_M6.fq \ -s land_samples_no_barcode/WP_M7.fq \ -s land_samples_no_barcode/WP_M8.fq \ -s land_samples_no_barcode/WP_M9.fq # Populations (Stacks) populations -r 0 -p 1 -b 1 -P ./stacks -s -M populations.txt -t 32 --genepop --plink # PLINK 1.9 COMMANDS # Data Filtering (see Materials and Methods, SNP calling and filtering) plink --allow-extra-chr --file batch_1.plink --geno 0.2 --mind 0.9 --maf 0.05 --recode --out filtered-geno-0.2-maf-0.05-mind-0.9 > filter.out # Generate separate dataset for each population for i in 1 2 3 4 5 6 7 8 do plink --allow-extra-chr --file filtered-geno-0.2-maf-0.05-mind-0.9 --keep-fam <(echo $i) --recode --out pop_$i/filtered_$i done > split.out # Generate Hardy-Weinberg statistics for each population for i in 1 2 3 4 5 6 7 8 do (cd pop_$i plink --allow-extra-chr --file filtered_$i --hardy ) done # Generate LD statistics for each population, filter SNPs within disequilibrium for i in 1 2 3 4 5 6 7 8 do (cd pop_$i; plink --allow-extra-chr --file filtered_$i --r2 --ld-window-r2 0.8) done # Produce missing data report (standard PLINK protocol, generates frequency of missing alleles) plink --allow-extra-chr --file batch_1.plink --missing # Read Hardy-Weinberg and LD statistics for each population, output IDs of loci to filter (if out of HWE or within LD in 6 or more of 8 populations) ./filter_hwe+ld.pl > hwe+ld_ids_to_filter.txt # Filter loci out of HWE and one of each linked pair of loci (recodeA allows for input to downstream programs) plink --allow-extra-chr --file filtered-geno-0.2-maf-0.05-mind-0.9 --exclude hwe+ld_ids_to_filter.txt --recode --out filtered_hwe+ld > filtered_hwe+ld.log plink --allow-extra-chr --file filtered_hwe+ld --recodeA --out filtered_hwe+ld-recodeA