annotate test-data/files/mergeParallel.sh @ 0:9a3a2e04f47a draft default tip

Uploaded
author dave
date Mon, 10 Jun 2019 16:04:10 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
1 #!/bin/bash
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
2
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
3 my_func(){
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
4
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
5 ind1=$(($1*2-1))
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
6 ind2=$(($1*2))
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
7
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
8 aln1=$(echo $4 | awk -v var="$ind1" '{print $var}')
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
9 aln2=$(echo $4 | awk -v var="$ind2" '{print $var}')
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
10 oName=$(echo $5 | awk -v var="$1" '{print $var}')
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
11
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
12 echo "Merging $aln1.aln and $aln2.aln into $oName.aln"
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
13
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
14 l1=$(grep -c ">" $aln1.aln)
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
15 l2=$(grep -c ">" $aln2.aln)
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
16
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
17 if [ $l1 -eq "1" ] && [ $l2 -eq "1" ]
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
18 then
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
19 cat $aln1.aln $aln2.aln > temp.$6.$1.fas
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
20 mafft --localpair --preservecase --thread $2 --maxiterate $3 temp.$6.$1.fas > $oName.aln
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
21 elif [ $l1 -eq "1" ]
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
22 then
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
23 mafft --preservecase --thread $2 --maxiterate $3 --addfragments $aln1.aln $aln2.aln > $oName.aln
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
24 elif [ $l2 -eq "1" ]
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
25 then
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
26 mafft --preservecase --thread $2 --maxiterate $3 --addfragments $aln2.aln $aln1.aln > $oName.aln
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
27 else
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
28 cat $aln1.aln $aln2.aln > input.$6.$1.fas
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
29 str1=""
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
30 count=1
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
31 gap=" "
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
32
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
33 for i in $(seq 1 1 $l1)
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
34 do
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
35 str1=$str1$count$gap
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
36 count=$(($count+1))
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
37 done
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
38
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
39 echo $str1 > msaTable.$6.$1
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
40 str2=""
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
41 for i in $(seq 1 1 $l2)
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
42 do
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
43 str2=$str2$count$gap
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
44 count=$(($count+1))
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
45 done
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
46
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
47 echo $str2 >> msaTable.$6.$1
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
48 mafft --preservecase --thread $2 --maxiterate $3 --merge msaTable.$6.$1 input.$6.$1.fas > $oName.aln
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
49
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
50 fi
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
51
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
52 }
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
53
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
54 export -f my_func
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
55
9a3a2e04f47a Uploaded
dave
parents:
diff changeset
56 parallel -j 1 my_func ::: $(seq 1 1 1) ::: 1 ::: 1 ::: "NODE_1 NODE_2" ::: "NODE_0" ::: "merge"