annotate Plink.pl @ 7:d6a7be1b5adb draft

Uploaded
author dereeper
date Wed, 07 Feb 2018 00:16:59 -0500
parents fe39a4677281
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
1
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
2 #!/usr/bin/perl
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
3
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
4 use strict;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
5 use Getopt::Long;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
6 use Bio::SeqIO;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
7
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
8 my $usage = qq~Usage:$0 <args> [<opts>]
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
9
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
10 where <args> are:
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
11
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
12 -i, --input <VCF input>
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
13 -o, --out <Output basename>
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
14
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
15 <opts> are:
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
16
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
17 -s, --samples <Samples to be analyzed. Comma separated list>
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
18 -c, --chromosomes <List of chromosomes to be analyzed.>
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
19 -e, --export <Output format (VCF/freq/plink. Default: VCF>
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
20 -f, --frequency <Minimum MAF. Default: 0.001>
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
21 -m, --max_freq <Maximum MAF. Default: 0.5>
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
22 -a, --allow_missing <Allowed missing data proportion per site. Must be comprised between 0 and 1. Default: 1>
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
23 -t, --type <Type of polymorphisms to keep (ALL/SNP). Default: ALL>
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
24 -b, --bounds <Lower bound and upper bound for a range of sites to be processed (start,end). Default: 1, 100000000>
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
25 -r, --remove_filt <Remove all sites with a FILTER flag other than PASS (true/false). Default: false>
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
26 -d, --distance <Thin sites so that no two sites are within the specified distance from one another. Default: 0>
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
27 ~;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
28 $usage .= "\n";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
29
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
30 my ($input,$out);
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
31
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
32 my $PLINK_EXE = "plink";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
33
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
34
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
35 #my $indel_size_max = 500;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
36 #my $indel_size_min = 1;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
37 my $frequency_max = 0.5;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
38 my $frequency_min = 0.001;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
39 my $pos_max = 100000000000;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
40 my $pos_min = 0;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
41 my $filter_snp_type = "all";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
42 my $remove_filt = "False";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
43
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
44 my $missing_data = 1;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
45 my $export = "VCF";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
46 my $type = "ALL";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
47 my $bounds;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
48 my $samples;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
49 my $chromosomes;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
50 my $thin;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
51
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
52 GetOptions(
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
53 "input=s" => \$input,
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
54 "out=s" => \$out,
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
55 "samples=s" => \$samples,
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
56 "chromosomes=s" => \$chromosomes,
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
57 "frequency=s" => \$frequency_min,
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
58 "max_freq=s" => \$frequency_max,
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
59 "allow_missing=s"=> \$missing_data,
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
60 "export=s" => \$export,
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
61 "type=s" => \$type,
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
62 "bounds=s" => \$bounds,
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
63 "remove_filt=s" => \$remove_filt,
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
64 "distance=s" => \$thin
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
65 );
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
66
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
67
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
68 die $usage
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
69 if ( !$input || !$out);
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
70
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
71 if ($samples && $samples =~/^([\w\,\-\.]+)\s*$/){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
72 $samples = $1;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
73 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
74 elsif ($samples){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
75 die "Error: Samples must be a comma separated list of string\n";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
76 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
77 if ($bounds && $bounds =~/^([\d\,]+)\s*$/){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
78 $bounds = $1;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
79 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
80 elsif($bounds){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
81 die "Error: Bounds must be a comma separated list of integers\n";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
82 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
83
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
84 my $minfreq_cmd = "";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
85 if ($frequency_min && $frequency_min > 0 && $frequency_min =~/^([\d\.]+)\s*$/){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
86 $frequency_min = $1;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
87 $minfreq_cmd = "--maf $frequency_min";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
88 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
89 elsif ($frequency_min == 0){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
90 $minfreq_cmd = "";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
91 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
92 elsif ($frequency_min){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
93 die "Error: frequency must be an integer\n";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
94 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
95 if ($thin && $thin =~/^([\d\.]+)\s*$/){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
96 $thin = $1;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
97 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
98 elsif ($thin){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
99 die "Error: frequency must be an integer\n";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
100 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
101 my $maxfreq_cmd = "";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
102 if ($frequency_max && $frequency_max =~/^([\d\.]+)\s*$/){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
103 $frequency_max = $1;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
104 if ($frequency_max < 0.5){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
105 $maxfreq_cmd = "--max-maf $frequency_max";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
106 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
107 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
108 elsif($frequency_max){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
109 die "Error: frequency must be an integer\n";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
110 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
111 if ($missing_data =~/^([\d\.]+)\s*$/){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
112 $missing_data = $1;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
113 #$missing_data = 1 - $missing_data;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
114 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
115 elsif ($missing_data){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
116 die "Error: Missing data must be an integer\n";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
117 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
118 if ($export && $export =~/^([\w]+)\s*$/){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
119 $export = $1;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
120 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
121 elsif($export){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
122 die "Error: Export must be a string\n";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
123 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
124 if ($type && $type =~/^([\w]+)\s*$/){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
125 $type = $1;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
126 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
127 elsif($type){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
128 die "Error: Type must be a string\n";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
129 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
130
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
131
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
132 my @dnasamples;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
133 if ($samples)
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
134 {
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
135 @dnasamples = split(",",$samples);
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
136 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
137 my @boundaries;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
138 if ($bounds)
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
139 {
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
140 @boundaries = split(",",$bounds);
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
141 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
142
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
143
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
144 my $experiment = "chromosomes";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
145 my $table = "";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
146 my %genes;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
147 my @snp_ids;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
148 my @snp_ids_and_positions;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
149 my @snp_ids_and_positions_all;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
150 my $gene;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
151 my $snp_num = 0;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
152 my %ref_sequences;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
153 my %snps_of_gene;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
154
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
155 my $indiv_cmd = "";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
156 if (@dnasamples)
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
157 {
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
158 if (scalar @dnasamples > 1)
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
159 {
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
160 open(my $S,">$out.samples");
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
161 foreach my $samp(@dnasamples){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
162 print $S "$samp $samp\n";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
163 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
164 close($S);
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
165 $indiv_cmd = "--keep $out.samples ";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
166 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
167 else
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
168 {
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
169 $indiv_cmd = "--indv " . join(" --indv ",@dnasamples);
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
170 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
171 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
172
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
173 my $chrom_cmd = "";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
174 if ($chromosomes)
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
175 {
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
176 $chrom_cmd = "--chr ".$chromosomes
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
177 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
178
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
179 my $export_cmd = "--recode vcf-iid";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
180 if ($export eq "bcf"){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
181 $export_cmd = "--recode bcf";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
182 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
183 if ($export eq "freq"){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
184 $export_cmd = "--freq";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
185 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
186 if ($export eq "plink"){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
187 $export_cmd = "--make-bed";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
188 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
189 if ($export eq "bed"){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
190 $export_cmd = "--make-bed";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
191 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
192
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
193
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
194 my $bounds_cmd = "";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
195 if (@boundaries && $chrom_cmd=~/\w/ && $chrom_cmd !~/,/)
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
196 {
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
197 $bounds_cmd = "--from-bp $boundaries[0] --to-bp $boundaries[1]";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
198 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
199
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
200
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
201
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
202 my $type_cmd = "";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
203 if ($type eq "SNP")
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
204 {
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
205 $type_cmd = "--snps-only";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
206 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
207
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
208 my $filt_cmd = "";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
209 if ($remove_filt eq "true")
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
210 {
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
211 $filt_cmd = "--remove-filtered-all";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
212 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
213
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
214 my $thin_cmd = "";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
215 if ($thin){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
216 $thin_cmd = "--bp-space $thin";
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
217 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
218
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
219 #my $bcf_input = $input;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
220 #$bcf_input =~s/vcf/bcf/g;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
221 my $bcf_input;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
222 my $bed_input = $input;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
223 $bed_input =~s/\.bed//g;
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
224
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
225 if (-e "$bed_input.bed"){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
226 system("$PLINK_EXE --bfile $bed_input --out $out $type_cmd $export_cmd $chrom_cmd $indiv_cmd $minfreq_cmd $maxfreq_cmd --geno $missing_data $thin_cmd $bounds_cmd --allow-extra-chr 1>$out.plink.stdout 2>$out.plink.stderr");
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
227 # for first 1000 SNPs
7
d6a7be1b5adb Uploaded
dereeper
parents: 0
diff changeset
228 system("$PLINK_EXE $bed_input --out $out.recode $type_cmd --recode vcf-fid $chrom_cmd $indiv_cmd $minfreq_cmd $maxfreq_cmd --geno $missing_data $thin_cmd $bounds_cmd --allow-extra-chr --thin-count 800 1>$out.2.plink.stdout 2>$out.2.plink.stderr");
0
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
229 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
230 elsif (-e $bcf_input){
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
231 system("$PLINK_EXE --bcf $bcf_input --out $out $type_cmd $export_cmd $chrom_cmd $indiv_cmd $minfreq_cmd $maxfreq_cmd --geno $missing_data $thin_cmd $bounds_cmd --allow-extra-chr 1>$out.plink.stdout 2>$out.plink.stderr");
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
232 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
233 else
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
234 {
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
235 system("$PLINK_EXE --vcf $input --out $out $type_cmd $export_cmd $chrom_cmd $indiv_cmd $minfreq_cmd $maxfreq_cmd --geno $missing_data $thin_cmd $bounds_cmd --allow-extra-chr 1>$out.3.plink.stdout 2>$out.3.plink.stderr");
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
236
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
237 }
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
238
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
239
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
240
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
241
fe39a4677281 Uploaded
dereeper
parents:
diff changeset
242