Mercurial > repos > bioitcore > splicetrap
comparison bin/mapping_bowtie.sh @ 1:adc0f7765d85 draft
planemo upload
| author | bioitcore |
|---|---|
| date | Thu, 07 Sep 2017 15:06:58 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 0:d4ca551ca300 | 1:adc0f7765d85 |
|---|---|
| 1 #!/bin/bash | |
| 2 #SrcFolder='/data/zhang/wuj/scripts/SpliceTrap.0.8' | |
| 3 InputFileName=$1 | |
| 4 faorfq=$2 | |
| 5 DatabasePrefix=$3 | |
| 6 Outputfolder=$4 | |
| 7 SrcFolder=$5 | |
| 8 Threads=$6 | |
| 9 DatabaseFolder=$SrcFolder'/../db/'$DatabasePrefix'/btw/TXdb' | |
| 10 TmpFolderName=`basename $1` | |
| 11 #fasta or fastq | |
| 12 | |
| 13 cd $Outputfolder; | |
| 14 #prepare the folder | |
| 15 if [ -d $TmpFolderName.result ];then | |
| 16 echo "MAPPING: !!!Error, there is already a folder named "$TmpFolderName".result !" | |
| 17 echo "MAPPING: !!!change the name of that folder first in case I erase them..." | |
| 18 exit | |
| 19 fi | |
| 20 echo "MAPPING: Start mapping $InputFileName...Creating cache folder $TmpFolderName.result" | |
| 21 mkdir $TmpFolderName".result" | |
| 22 mkdir $TmpFolderName".result"/cache | |
| 23 | |
| 24 cd $TmpFolderName".result" | |
| 25 cd cache | |
| 26 echo "MAPPING: Split to pieces ..." | |
| 27 split -l 1000000 $InputFileName | |
| 28 for name in x* | |
| 29 do | |
| 30 | |
| 31 if [ $faorfq == "fasta" ];then | |
| 32 add="-f" | |
| 33 fi | |
| 34 # if [ $name != $InputFileName ];then | |
| 35 echo "bowtie -p $Threads -a -v 2 $DatabaseFolder $name $add >$name.btw; perl $SrcFolder/bowtie2eland.pl $name.btw $name $name.eland;rm $name.btw ;perl $SrcFolder/mark.mt.4eland.pl $name.eland >$name.nomt;rm $name.eland">>map.sh | |
| 36 echo $name >>checklist | |
| 37 # fi | |
| 38 done | |
| 39 | |
| 40 echo "MAPPING: submit scripts..." | |
| 41 perl $SrcFolder/batchqsub.pl map.sh | |
| 42 | |
| 43 tasknum=`wc -l map.sh |tr -d "\n"` | |
| 44 #checking.. | |
| 45 | |
| 46 echo "MAPPING: mapping $InputFileName to TXdb done...start to check.." | |
| 47 while [ 1 ] | |
| 48 do | |
| 49 if [ -f mapcheck.sh ];then | |
| 50 rm mapcheck.sh | |
| 51 fi | |
| 52 while read checklist | |
| 53 do | |
| 54 | |
| 55 name=`echo $checklist |tr -d "\n"` | |
| 56 echo "MAPPING: checking $name...." | |
| 57 readnum=`wc -l $name | cut -f1 -d" "` | |
| 58 if [ $faorfq == "fasta" ];then | |
| 59 readnum=`echo "$readnum/2"|bc` | |
| 60 else | |
| 61 readnum=`echo "$readnum/4"|bc` | |
| 62 fi | |
| 63 if [ -f $name.nomt ];then | |
| 64 bowtienum=`wc -l $name.nomt | cut -f1 -d" "` | |
| 65 else | |
| 66 bowtienum=0 | |
| 67 fi | |
| 68 if [ $bowtienum != $readnum ];then | |
| 69 echo "bowtie -p $Threads -a -v 2 $DatabaseFolder $name $add >$name.btw; perl $SrcFolder/bowtie2eland.pl $name.btw $name $name.eland;rm $name.btw ;perl $SrcFolder/mark.mt.4eland.pl $name.eland >$name.nomt;rm $name.eland">>mapcheck.sh | |
| 70 | |
| 71 fi | |
| 72 done <checklist | |
| 73 if [ -f mapcheck.sh ];then | |
| 74 checktasknum=`wc -l mapcheck.sh |tr -d "\n"` | |
| 75 if [ $checktasknum == $tasknum ];then | |
| 76 echo "MAPPING: warning! none of the mapping tasks properly finished!" | |
| 77 fi | |
| 78 echo "MAPPING: resubmit TASKS...." | |
| 79 perl $SrcFolder/batchqsub.pl mapcheck.sh | |
| 80 else | |
| 81 break | |
| 82 fi | |
| 83 done | |
| 84 echo "MAPPING: Done.....merging files..." | |
| 85 cat *.nomt >$Outputfolder/$TmpFolderName.nomt | |
| 86 cd ../../ | |
| 87 rm $TmpFolderName.result -rf | |
| 88 #/data/zhang/wuj/tools/bowtie-0.12.3/bowtie -a $DatabaseFolderTXdb -f | |
| 89 |
