#Script to analyse protein domains of various virus, allergens, toxins, proteins
#! usr/bin/bash
#execute as: sh shared_protein_domains.sh |& tee consensus_domains
#Find common lines to all the files in the folder
awk 'END {
for (R in rec) {
n = split(rec[R], t, "/")
if (n > 1)
dup[n] = dup[n] ? dup[n] RS sprintf("\t%-20s -->\t%s", rec[R], R) : \
sprintf("\t%-20s -->\t%s", rec[R], R)
}
for (D in dup) {
printf "records found in %d files:\n\n", D
printf "%s\n\n", dup[D]
}
}
{
rec[$0] = rec[$0] ? rec[$0] "/" FILENAME : FILENAME
}' *_random
--------------------------
#Unique or shared domains analysis
#! usr/bin/bash
#execute as: sh shared_protein_analysis.sh |& tee consensus_analysis
#Find lines with or without patterns in the files
grep "dengue\|ebola" consensus_domains |grep -v "hcv\|zika\|hiv" consensus_domains
grep "dengue\|hcv" consensus_domains |grep -v "ebola\|zika\|hiv" consensus_domains
grep "dengue\|hiv" consensus_domains |grep -v "hcv\|zika\|ebola" consensus_domains
grep "dengue\|zika" consensus_domains |grep -v "hcv\|ebola\|hiv" consensus_domains
grep "ebola\|hcv" consensus_domains |grep -v "dengue\|zika\|hiv" consensus_domains
grep "ebola\|hiv" consensus_domains |grep -v "hcv\|zika\|dengue" consensus_domains
grep "ebola\|zika" consensus_domains |grep -v "hcv\|dengue\|ebola" consensus_domains
grep "hiv\|hcv" consensus_domains |grep -v "dengue\|zika\|ebola" consensus_domains
grep "hiv\|zika" consensus_domains |grep -v "hcv\|ebola\|dengue" consensus_domains
grep "zika\|dengue" consensus_domains |grep -v "hiv\|hcv\|ebola" consensus_domains
#Sort alphabetically
sort -u dengue_all_isolate_random > sorted_dengue_all_isolate_random_file
sort -u zika_all_isolate_random > sorted_zika_all_isolate_random_file
sort -u hiv_all_isolate_random > sorted_hiv_all_isolate_random_file
sort -u hcv_all_isolate_random > sorted_hcv_all_isolate_random_file
sort -u ebola_all_isolate_random > sorted_ebola_all_isolate_random_file
sort -u pollen_random > sorted_pollen_random_file
awk '{print $1}' zika_all_isolate_random hcv_all_isolate_random hiv_all_isolate_random ebola_all_isolate_random > no_dengue_merged_file
sort -u no_dengue_merged_file > sorted_no_dengue_merged_file
awk '{print $1}' zika_all_isolate_random hcv_all_isolate_random hiv_all_isolate_random dengue_all_isolate_random > no_ebola_merged_file
sort -u no_ebola_merged_file > sorted_no_ebola_merged_file
awk '{print $1}' hiv_all_isolate_random hcv_all_isolate_random dengue_all_isolate_random ebola_all_isolate_random > no_zika_merged_file
sort -u no_zika_merged_file > sorted_no_zika_merged_file
awk '{print $1}' zika_all_isolate_random dengue_all_isolate_random hiv_all_isolate_random ebola_all_isolate_random > no_hcv_merged_file
sort -u no_hcv_merged_file > sorted_no_hcv_merged_file
awk '{print $1}' zika_all_isolate_random dengue_all_isolate_random hcv_all_isolate_random ebola_all_isolate_random > no_hiv_merged_file
sort -u no_hiv_merged_file > sorted_no_hiv_merged_file
awk '{print $1}' zika_all_isolate_random hcv_all_isolate_random hiv_all_isolate_random ebola_all_isolate_random dengue_all_isolate_random > no_pollen_merged_file
sort -u no_pollen_merged_file > sorted_no_pollen_merged_file
# Find rows only in file 1 (the 2nd file is file 1) (very useful)
echo "################Only in dengue######"
awk 'FNR == NR { h[$1,$2]; next }; !($1 SUBSEP $2 in h)' sorted_no_dengue_merged_file sorted_dengue_all_isolate_random_file
echo "################Only in ebola##"
awk 'FNR == NR { h[$1,$2]; next }; !($1 SUBSEP $2 in h)' sorted_no_ebola_merged_file sorted_ebola_all_isolate_random_file
echo "################Only in hiv####"
awk 'FNR == NR { h[$1,$2]; next }; !($1 SUBSEP $2 in h)' sorted_no_hiv_merged_file sorted_hiv_all_isolate_random_file
echo "################Only in zika###"
awk 'FNR == NR { h[$1,$2]; next }; !($1 SUBSEP $2 in h)' sorted_no_zika_merged_file sorted_zika_all_isolate_random_file
echo "################Only in hcv####"
awk 'FNR == NR { h[$1,$2]; next }; !($1 SUBSEP $2 in h)' sorted_no_hcv_merged_file sorted_hcv_all_isolate_random_file
echo "################Only in pollen##"
awk 'FNR == NR { h[$1,$2]; next }; !($1 SUBSEP $2 in h)' sorted_no_pollen_merged_file sorted_pollen_random_file
---------------------------------
#! usr/bin/bash
#run as: sh shared_protein_wrapper.sh
sh shared_protein_domains.sh |& tee consensus_domains
sh shared_protein_analysis.sh |& tee consensus_analysis
#! usr/bin/bash
#execute as: sh shared_protein_domains.sh |& tee consensus_domains
#Find common lines to all the files in the folder
awk 'END {
for (R in rec) {
n = split(rec[R], t, "/")
if (n > 1)
dup[n] = dup[n] ? dup[n] RS sprintf("\t%-20s -->\t%s", rec[R], R) : \
sprintf("\t%-20s -->\t%s", rec[R], R)
}
for (D in dup) {
printf "records found in %d files:\n\n", D
printf "%s\n\n", dup[D]
}
}
{
rec[$0] = rec[$0] ? rec[$0] "/" FILENAME : FILENAME
}' *_random
--------------------------
#Unique or shared domains analysis
#! usr/bin/bash
#execute as: sh shared_protein_analysis.sh |& tee consensus_analysis
#Find lines with or without patterns in the files
grep "dengue\|ebola" consensus_domains |grep -v "hcv\|zika\|hiv" consensus_domains
grep "dengue\|hcv" consensus_domains |grep -v "ebola\|zika\|hiv" consensus_domains
grep "dengue\|hiv" consensus_domains |grep -v "hcv\|zika\|ebola" consensus_domains
grep "dengue\|zika" consensus_domains |grep -v "hcv\|ebola\|hiv" consensus_domains
grep "ebola\|hcv" consensus_domains |grep -v "dengue\|zika\|hiv" consensus_domains
grep "ebola\|hiv" consensus_domains |grep -v "hcv\|zika\|dengue" consensus_domains
grep "ebola\|zika" consensus_domains |grep -v "hcv\|dengue\|ebola" consensus_domains
grep "hiv\|hcv" consensus_domains |grep -v "dengue\|zika\|ebola" consensus_domains
grep "hiv\|zika" consensus_domains |grep -v "hcv\|ebola\|dengue" consensus_domains
grep "zika\|dengue" consensus_domains |grep -v "hiv\|hcv\|ebola" consensus_domains
#Sort alphabetically
sort -u dengue_all_isolate_random > sorted_dengue_all_isolate_random_file
sort -u zika_all_isolate_random > sorted_zika_all_isolate_random_file
sort -u hiv_all_isolate_random > sorted_hiv_all_isolate_random_file
sort -u hcv_all_isolate_random > sorted_hcv_all_isolate_random_file
sort -u ebola_all_isolate_random > sorted_ebola_all_isolate_random_file
sort -u pollen_random > sorted_pollen_random_file
awk '{print $1}' zika_all_isolate_random hcv_all_isolate_random hiv_all_isolate_random ebola_all_isolate_random > no_dengue_merged_file
sort -u no_dengue_merged_file > sorted_no_dengue_merged_file
awk '{print $1}' zika_all_isolate_random hcv_all_isolate_random hiv_all_isolate_random dengue_all_isolate_random > no_ebola_merged_file
sort -u no_ebola_merged_file > sorted_no_ebola_merged_file
awk '{print $1}' hiv_all_isolate_random hcv_all_isolate_random dengue_all_isolate_random ebola_all_isolate_random > no_zika_merged_file
sort -u no_zika_merged_file > sorted_no_zika_merged_file
awk '{print $1}' zika_all_isolate_random dengue_all_isolate_random hiv_all_isolate_random ebola_all_isolate_random > no_hcv_merged_file
sort -u no_hcv_merged_file > sorted_no_hcv_merged_file
awk '{print $1}' zika_all_isolate_random dengue_all_isolate_random hcv_all_isolate_random ebola_all_isolate_random > no_hiv_merged_file
sort -u no_hiv_merged_file > sorted_no_hiv_merged_file
awk '{print $1}' zika_all_isolate_random hcv_all_isolate_random hiv_all_isolate_random ebola_all_isolate_random dengue_all_isolate_random > no_pollen_merged_file
sort -u no_pollen_merged_file > sorted_no_pollen_merged_file
# Find rows only in file 1 (the 2nd file is file 1) (very useful)
echo "################Only in dengue######"
awk 'FNR == NR { h[$1,$2]; next }; !($1 SUBSEP $2 in h)' sorted_no_dengue_merged_file sorted_dengue_all_isolate_random_file
echo "################Only in ebola##"
awk 'FNR == NR { h[$1,$2]; next }; !($1 SUBSEP $2 in h)' sorted_no_ebola_merged_file sorted_ebola_all_isolate_random_file
echo "################Only in hiv####"
awk 'FNR == NR { h[$1,$2]; next }; !($1 SUBSEP $2 in h)' sorted_no_hiv_merged_file sorted_hiv_all_isolate_random_file
echo "################Only in zika###"
awk 'FNR == NR { h[$1,$2]; next }; !($1 SUBSEP $2 in h)' sorted_no_zika_merged_file sorted_zika_all_isolate_random_file
echo "################Only in hcv####"
awk 'FNR == NR { h[$1,$2]; next }; !($1 SUBSEP $2 in h)' sorted_no_hcv_merged_file sorted_hcv_all_isolate_random_file
echo "################Only in pollen##"
awk 'FNR == NR { h[$1,$2]; next }; !($1 SUBSEP $2 in h)' sorted_no_pollen_merged_file sorted_pollen_random_file
---------------------------------
#! usr/bin/bash
#run as: sh shared_protein_wrapper.sh
sh shared_protein_domains.sh |& tee consensus_domains
sh shared_protein_analysis.sh |& tee consensus_analysis
No comments:
Post a Comment