Mercurial > repos > davidvanzessen > mutation_analysis
comparison wrapper.sh @ 55:0d5add1a9800 draft
Uploaded
author | davidvanzessen |
---|---|
date | Tue, 01 Mar 2016 04:53:06 -0500 |
parents | d8daf8ed39e1 |
children | 8bb4d6009e08 |
comparison
equal
deleted
inserted
replaced
54:d8daf8ed39e1 | 55:0d5add1a9800 |
---|---|
11 unique=$8 | 11 unique=$8 |
12 naive_output=$9 | 12 naive_output=$9 |
13 filter_unique=${10} | 13 filter_unique=${10} |
14 mkdir $outdir | 14 mkdir $outdir |
15 | 15 |
16 echo "---------------- read parameters ----------------" | |
17 | |
18 echo "unpacking IMGT file" | |
19 | |
16 type="`file $input`" | 20 type="`file $input`" |
17 if [[ "$type" == *"Zip archive"* ]] ; then | 21 if [[ "$type" == *"Zip archive"* ]] ; then |
18 echo "Zip archive" | 22 echo "Zip archive" |
19 echo "unzip $input -d $PWD/files/" | 23 echo "unzip $input -d $PWD/files/" |
20 unzip $input -d $PWD/files/ | 24 unzip $input -d $PWD/files/ |
37 | 41 |
38 echo "${BLASTN_DIR}" | 42 echo "${BLASTN_DIR}" |
39 | 43 |
40 echo "identification ($method)" | 44 echo "identification ($method)" |
41 | 45 |
46 echo "blast or custom" | |
47 | |
42 if [[ "${method}" == "custom" ]] ; then | 48 if [[ "${method}" == "custom" ]] ; then |
49 echo "custom" | |
43 python $dir/gene_identification.py --input $PWD/summary.txt --output $outdir/identified_genes.txt | 50 python $dir/gene_identification.py --input $PWD/summary.txt --output $outdir/identified_genes.txt |
44 else | 51 else |
52 echo "blast" | |
45 ID_index=$(cat $PWD/summary.txt | grep -o -P ".+Sequence ID" | grep -o -P "\t" | wc -l) | 53 ID_index=$(cat $PWD/summary.txt | grep -o -P ".+Sequence ID" | grep -o -P "\t" | wc -l) |
46 ID_index=$((ID_index+1)) | 54 ID_index=$((ID_index+1)) |
47 sequence_index=$(cat $PWD/summary.txt | grep -o -P ".+\tSequence" | grep -o -P "\t" | wc -l) | 55 sequence_index=$(cat $PWD/summary.txt | grep -o -P ".+\tSequence" | grep -o -P "\t" | wc -l) |
48 sequence_index=$((sequence_index+1)) | 56 sequence_index=$((sequence_index+1)) |
49 | 57 |
53 | 61 |
54 echo -e "qseqid\tsseqid\tpident\tlength\tmismatch\tgapopen\tqstart\tqend\tsstart\tsend\tevalue\tbitscore" > $outdir/identified_genes.txt | 62 echo -e "qseqid\tsseqid\tpident\tlength\tmismatch\tgapopen\tqstart\tqend\tsstart\tsend\tevalue\tbitscore" > $outdir/identified_genes.txt |
55 ${BLASTN_DIR}/blastn -task blastn -db $dir/subclass_definition.db -query $PWD/sequences.fasta -outfmt 6 >> $outdir/identified_genes.txt | 63 ${BLASTN_DIR}/blastn -task blastn -db $dir/subclass_definition.db -query $PWD/sequences.fasta -outfmt 6 >> $outdir/identified_genes.txt |
56 fi | 64 fi |
57 | 65 |
58 | 66 echo "---------------- merge_and_filter.r ----------------" |
59 | 67 |
60 echo "merging" | |
61 Rscript $dir/merge_and_filter.r $PWD/summary.txt $PWD/sequences.txt $PWD/mutationanalysis.txt $PWD/mutationstats.txt $PWD/hotspots.txt $outdir/identified_genes.txt $outdir/merged.txt $outdir/unmatched.txt $method $functionality $unique ${filter_unique} | 68 Rscript $dir/merge_and_filter.r $PWD/summary.txt $PWD/sequences.txt $PWD/mutationanalysis.txt $PWD/mutationstats.txt $PWD/hotspots.txt $outdir/identified_genes.txt $outdir/merged.txt $outdir/unmatched.txt $method $functionality $unique ${filter_unique} |
69 | |
70 echo "---------------- mutation_analysis.r ----------------" | |
62 | 71 |
63 genes="ca,ca1,ca2,cg,cg1,cg2,cg3,cg4,cm" | 72 genes="ca,ca1,ca2,cg,cg1,cg2,cg3,cg4,cm" |
64 echo "R mutation analysis" | 73 echo "R mutation analysis" |
65 Rscript $dir/mutation_analysis.r $outdir/merged.txt $genes $outdir ${include_fr1} 2>&1 | 74 Rscript $dir/mutation_analysis.r $outdir/merged.txt $genes $outdir ${include_fr1} 2>&1 |
66 | 75 |
67 #echo "." > $output | 76 #echo "." > $output |
68 #exit 0 | 77 #exit 0 |
69 | 78 |
70 echo "python mutation analysis" | 79 |
80 | |
81 echo "---------------- mutation_analysis.py ----------------" | |
82 | |
71 python $dir/mutation_analysis.py --input $outdir/merged.txt --genes $genes --includefr1 "${include_fr1}" --output $outdir/hotspot_analysis.txt | 83 python $dir/mutation_analysis.py --input $outdir/merged.txt --genes $genes --includefr1 "${include_fr1}" --output $outdir/hotspot_analysis.txt |
72 echo "R AA histogram" | 84 echo "R AA histogram" |
85 | |
86 echo "---------------- aa_histogram.r ----------------" | |
87 | |
73 Rscript $dir/aa_histogram.r $outdir/aa_mutations.txt $outdir/aa_histogram.png 2>&1 | 88 Rscript $dir/aa_histogram.r $outdir/aa_mutations.txt $outdir/aa_histogram.png 2>&1 |
74 | 89 |
75 genes=(ca ca1 ca2 cg cg1 cg2 cg3 cg4 cm) | 90 genes=(ca ca1 ca2 cg cg1 cg2 cg3 cg4 cm) |
76 | 91 |
77 funcs=(sum mean median) | 92 funcs=(sum mean median) |
78 | 93 |
79 | 94 |
80 echo "<html><center><h1>$title</h1></center>" >> $output | 95 echo "<html><center><h1>$title</h1></center>" >> $output |
81 | 96 echo "---------------- main tables ----------------" |
82 for func in ${funcs[@]} | 97 for func in ${funcs[@]} |
83 do | 98 do |
99 | |
100 echo "---------------- $func table ----------------" | |
101 | |
84 cat $outdir/mutations_${func}.txt $outdir/hotspot_analysis_${func}.txt > $outdir/result.txt | 102 cat $outdir/mutations_${func}.txt $outdir/hotspot_analysis_${func}.txt > $outdir/result.txt |
85 | 103 |
86 echo "<table border='1' width='100%'><caption><h3>${func} table</h3></caption>" >> $output | 104 echo "<table border='1' width='100%'><caption><h3>${func} table</h3></caption>" >> $output |
87 echo "<tr><th'>info</th>" >> $output | 105 echo "<tr><th'>info</th>" >> $output |
88 for gene in ${genes[@]} | 106 for gene in ${genes[@]} |
102 fi | 120 fi |
103 done < $outdir/result.txt | 121 done < $outdir/result.txt |
104 | 122 |
105 done | 123 done |
106 | 124 |
125 echo "---------------- download links ----------------" | |
126 | |
107 echo "</table>" >> $output | 127 echo "</table>" >> $output |
108 echo "<a href='unmatched.txt'>unmatched</a><br />" >> $output | 128 echo "<a href='unmatched.txt'>unmatched</a><br />" >> $output |
109 echo "<a href='motif_per_seq.txt'>motif per sequence</a><br />" >> $output | 129 echo "<a href='motif_per_seq.txt'>motif per sequence</a><br />" >> $output |
110 echo "<a href='merged.txt'>all data</a><br />" >> $output | 130 echo "<a href='merged.txt'>all data</a><br />" >> $output |
111 echo "<a href='mutation_by_id.txt'>mutations by id</a><br />" >> $output | 131 echo "<a href='mutation_by_id.txt'>mutations by id</a><br />" >> $output |
112 echo "<a href='aa_id_mutations.txt'>AA mutations location by id</a><br />" >> $output | 132 echo "<a href='aa_id_mutations.txt'>AA mutations location by id</a><br />" >> $output |
113 echo "<a href='absent_aa_id.txt'>Absant AA locations by id</a><br />" >> $output | 133 echo "<a href='absent_aa_id.txt'>Absant AA locations by id</a><br />" >> $output |
134 | |
135 echo "---------------- images ----------------" | |
114 | 136 |
115 echo "<img src='all.png'/><br />" >> $output | 137 echo "<img src='all.png'/><br />" >> $output |
116 echo "<a href='all.txt'>download data</a><br />" >> $output | 138 echo "<a href='all.txt'>download data</a><br />" >> $output |
117 if [ -a $outdir/ca.png ] | 139 if [ -a $outdir/ca.png ] |
118 then | 140 then |
161 echo "</html>" >> $output | 183 echo "</html>" >> $output |
162 | 184 |
163 | 185 |
164 #optional output for naive | 186 #optional output for naive |
165 | 187 |
188 echo "---------------- aa_histogram.r ----------------" | |
189 | |
166 if [[ "$naive_output" != "None" ]] | 190 if [[ "$naive_output" != "None" ]] |
167 then | 191 then |
168 echo "naive_output: $naive_output" | 192 echo "---------------- imgt_loader.r ----------------" |
169 #python $dir/imgt_loader.py --summ $PWD/summary.txt --aa $PWD/aa.txt --junction $PWD/junction.txt --output $naive_output | 193 #python $dir/imgt_loader.py --summ $PWD/summary.txt --aa $PWD/aa.txt --junction $PWD/junction.txt --output $naive_output |
170 Rscript --verbose $dir/imgt_loader.r $PWD/summary.txt $PWD/aa.txt $PWD/junction.txt ${naive_output} 2>&1 | 194 Rscript --verbose $dir/imgt_loader.r $PWD/summary.txt $PWD/aa.txt $PWD/junction.txt ${naive_output} 2>&1 |
195 echo "---------------- naive_output.r ----------------" | |
171 Rscript $dir/naive_output.r $naive_output $outdir/merged.txt $naive_output 2>&1 | 196 Rscript $dir/naive_output.r $naive_output $outdir/merged.txt $naive_output 2>&1 |
172 fi | 197 fi |
173 | 198 |
174 | 199 |
175 | 200 |