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