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