Mercurial > repos > bitlab > imsame
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 |