annotate IMSAME/bin/all_vs_all_metagenomes_IMSAME.sh @ 0:762009a91895 draft

Uploaded
author bitlab
date Sat, 15 Dec 2018 18:04:10 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
762009a91895 Uploaded
bitlab
parents:
diff changeset
1 #!/usr/bin/env bash
762009a91895 Uploaded
bitlab
parents:
diff changeset
2 DIR=$1
762009a91895 Uploaded
bitlab
parents:
diff changeset
3 COV=$2
762009a91895 Uploaded
bitlab
parents:
diff changeset
4 SIM=$3
762009a91895 Uploaded
bitlab
parents:
diff changeset
5 THR=$4
762009a91895 Uploaded
bitlab
parents:
diff changeset
6 EXT=$5
762009a91895 Uploaded
bitlab
parents:
diff changeset
7 OUT=$6
762009a91895 Uploaded
bitlab
parents:
diff changeset
8
762009a91895 Uploaded
bitlab
parents:
diff changeset
9
762009a91895 Uploaded
bitlab
parents:
diff changeset
10 BINDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
762009a91895 Uploaded
bitlab
parents:
diff changeset
11
762009a91895 Uploaded
bitlab
parents:
diff changeset
12 array=()
762009a91895 Uploaded
bitlab
parents:
diff changeset
13 x=0
762009a91895 Uploaded
bitlab
parents:
diff changeset
14
762009a91895 Uploaded
bitlab
parents:
diff changeset
15 echo "WARNING: FULL COMPARISON IS ENABLED"
762009a91895 Uploaded
bitlab
parents:
diff changeset
16
762009a91895 Uploaded
bitlab
parents:
diff changeset
17 if [ $# != 6 ]; then
762009a91895 Uploaded
bitlab
parents:
diff changeset
18 echo "***ERROR*** Use: $0 metagenomes_directory coverage similarity threads file_extension outpath"
762009a91895 Uploaded
bitlab
parents:
diff changeset
19 exit -1
762009a91895 Uploaded
bitlab
parents:
diff changeset
20 fi
762009a91895 Uploaded
bitlab
parents:
diff changeset
21
762009a91895 Uploaded
bitlab
parents:
diff changeset
22 for elem in $(ls -d $DIR/*.$EXT | awk -F "/" '{print $NF}' | awk -F ".$EXT" '{print $1}')
762009a91895 Uploaded
bitlab
parents:
diff changeset
23 do
762009a91895 Uploaded
bitlab
parents:
diff changeset
24 array[$x]=$elem
762009a91895 Uploaded
bitlab
parents:
diff changeset
25 x=`expr $x + 1`
762009a91895 Uploaded
bitlab
parents:
diff changeset
26 #echo "X: $elem"
762009a91895 Uploaded
bitlab
parents:
diff changeset
27 done
762009a91895 Uploaded
bitlab
parents:
diff changeset
28
762009a91895 Uploaded
bitlab
parents:
diff changeset
29 for ((i=0 ; i < ${#array[@]} ; i++))
762009a91895 Uploaded
bitlab
parents:
diff changeset
30 do
762009a91895 Uploaded
bitlab
parents:
diff changeset
31 for ((j=i ; j < ${#array[@]} ; j++))
762009a91895 Uploaded
bitlab
parents:
diff changeset
32 do
762009a91895 Uploaded
bitlab
parents:
diff changeset
33 if [ $i != $j ]; then
762009a91895 Uploaded
bitlab
parents:
diff changeset
34 seqX=${array[$i]}
762009a91895 Uploaded
bitlab
parents:
diff changeset
35 seqY=${array[$j]}
762009a91895 Uploaded
bitlab
parents:
diff changeset
36 #echo "----------${seqX}-${seqY}-----------"
762009a91895 Uploaded
bitlab
parents:
diff changeset
37 if [[ ! -f $6/${seqX}-${seqY}.align ]]; then #if the file does not exist
762009a91895 Uploaded
bitlab
parents:
diff changeset
38
762009a91895 Uploaded
bitlab
parents:
diff changeset
39
762009a91895 Uploaded
bitlab
parents:
diff changeset
40 ${BINDIR}/IMSAME -query $DIR/${seqX}.$EXT -db $DIR/${seqY}.$EXT -n_threads $THR --full -coverage $COV -identity $SIM -out $6/${seqX}-${seqY}.align
762009a91895 Uploaded
bitlab
parents:
diff changeset
41 grep "(" $6/${seqX}-${seqY}.align | awk '{print $4, $5, $6}' | sed 's/%//g' > $6/${seqX}-${seqY}.align.filtered
762009a91895 Uploaded
bitlab
parents:
diff changeset
42
762009a91895 Uploaded
bitlab
parents:
diff changeset
43 ${BINDIR}/covident $6/${seqX}-${seqY}.align.filtered $6/${seqX}-${seqY}.align.filtered.mat
762009a91895 Uploaded
bitlab
parents:
diff changeset
44
762009a91895 Uploaded
bitlab
parents:
diff changeset
45 fi
762009a91895 Uploaded
bitlab
parents:
diff changeset
46
762009a91895 Uploaded
bitlab
parents:
diff changeset
47
762009a91895 Uploaded
bitlab
parents:
diff changeset
48
762009a91895 Uploaded
bitlab
parents:
diff changeset
49
762009a91895 Uploaded
bitlab
parents:
diff changeset
50
762009a91895 Uploaded
bitlab
parents:
diff changeset
51 if [[ ! -f $6/${seqX}-${seqY}.r.align ]]; then #if the reversed alignment does not exist
762009a91895 Uploaded
bitlab
parents:
diff changeset
52 # Compute reverse complement
762009a91895 Uploaded
bitlab
parents:
diff changeset
53 ${BINDIR}/revComp $DIR/${seqY}.$EXT $DIR/${seqY}.r.${EXT}
762009a91895 Uploaded
bitlab
parents:
diff changeset
54 ${BINDIR}/IMSAME -query $DIR/${seqX}.$EXT -db $DIR/${seqY}.r.$EXT -n_threads $THR --full -coverage $COV -identity $SIM -out $6/${seqX}-${seqY}.r.align
762009a91895 Uploaded
bitlab
parents:
diff changeset
55 grep "(" $6/${seqX}-${seqY}.r.align | awk '{print $4, $5, $6}' | sed 's/%//g' > $6/${seqX}-${seqY}.r.align.filtered
762009a91895 Uploaded
bitlab
parents:
diff changeset
56
762009a91895 Uploaded
bitlab
parents:
diff changeset
57 ${BINDIR}/covident $6/${seqX}-${seqY}.r.align.filtered $6/${seqX}-${seqY}.align.filtered.mat
762009a91895 Uploaded
bitlab
parents:
diff changeset
58
762009a91895 Uploaded
bitlab
parents:
diff changeset
59 fi
762009a91895 Uploaded
bitlab
parents:
diff changeset
60
762009a91895 Uploaded
bitlab
parents:
diff changeset
61
762009a91895 Uploaded
bitlab
parents:
diff changeset
62
762009a91895 Uploaded
bitlab
parents:
diff changeset
63 fi
762009a91895 Uploaded
bitlab
parents:
diff changeset
64 rm $DIR/${seqY}.r.${EXT}
762009a91895 Uploaded
bitlab
parents:
diff changeset
65 done
762009a91895 Uploaded
bitlab
parents:
diff changeset
66
762009a91895 Uploaded
bitlab
parents:
diff changeset
67 done