Mercurial > repos > bioitcore > splicetrap
comparison bin/batch_para_cov10p_fit.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 ReadFile1Name=`basename $1` | |
| 3 ReadFile2Name=`basename $2` | |
| 4 outputname=$3 | |
| 5 readsize=$4 | |
| 6 DatabasePrefix=$5 | |
| 7 Outputfolder=$6 | |
| 8 SrcFolder=$7 | |
| 9 noIRM=$8 | |
| 10 | |
| 11 cd $Outputfolder | |
| 12 if [ $ReadFile1Name != $ReadFile2Name ];then | |
| 13 echo "ESTIMATE: Getting fragment size information from data..." | |
| 14 perl $SrcFolder/get.frag.size.pl $ReadFile1Name.nomt $ReadFile2Name.nomt $readsize | |
| 15 perl $SrcFolder/get.hist.pl $ReadFile1Name.nomt.fragsize -w=1 -c=1 | |
| 16 else | |
| 17 echo "ESTIMATE: Generating the other half of reads..." | |
| 18 readnum=`wc -l $ReadFile1Name.nomt |cut -f1 -d" "` | |
| 19 for (( i=0; i<$readnum; i++ )) | |
| 20 do | |
| 21 echo "NM" >>$ReadFile1Name.f.nomt | |
| 22 done | |
| 23 echo "#Width:1" >$ReadFile1Name.nomt.fragsize.hist | |
| 24 fi | |
| 25 echo "ESTIMATE: Creating cache folder.." | |
| 26 if [ $ReadFile1Name != $ReadFile2Name ];then | |
| 27 ReadFile2FinalName=$ReadFile2Name.nomt | |
| 28 else | |
| 29 ReadFile2FinalName=$ReadFile1Name.f.nomt | |
| 30 fi | |
| 31 | |
| 32 mkdir $ReadFile1Name.result | |
| 33 cd $ReadFile1Name.result | |
| 34 ln -s ../$ReadFile1Name.nomt ./ | |
| 35 ln -s ../$ReadFile2FinalName ./ | |
| 36 ln -s ../$ReadFile1Name.nomt.fragsize.hist ./ | |
| 37 echo "ESTIMATE: Split mapping results via chromosomes..." | |
| 38 perl $SrcFolder/scan_nomt.pl $ReadFile1Name.nomt $ReadFile2FinalName | |
| 39 loopi=0 | |
| 40 echo "ESTIMATE: Generating shell scripts for Loop $loopi..." | |
| 41 while read chrlist | |
| 42 do | |
| 43 chr=`echo $chrlist |tr -d "\n"` | |
| 44 for dbfile in $SrcFolder/../db/$DatabasePrefix/parallel/$chr.* | |
| 45 do | |
| 46 base=`basename $dbfile` | |
| 47 echo "$SrcFolder/Pair_estimate_c -f $ReadFile1Name.nomt.fragsize.hist -o $ReadFile1Name.$loopi.$base -d $dbfile -1 $ReadFile1Name.nomt.$chr -2 $ReadFile2FinalName.$chr -s $readsize" >>r$loopi.sh | |
| 48 done | |
| 49 done <$SrcFolder/../db/$DatabasePrefix/parallel/chr.list | |
| 50 | |
| 51 echo "ESTIMATE: Submit shell scripts for Loop $loopi..." | |
| 52 perl $SrcFolder/batchqsub.pl r$loopi.sh | |
| 53 echo "ESTIMATE: Loop $loopi done..." | |
| 54 | |
| 55 cat $ReadFile1Name.$loopi.*.ratio >$outputname.$loopi.ratio | |
| 56 cat $ReadFile1Name.$loopi.*.log >$outputname.$loopi.log | |
| 57 cat $ReadFile1Name.$loopi.*.nums >$outputname.$loopi.nums | |
| 58 rm $ReadFile1Name.$loopi.*.ratio | |
| 59 rm $ReadFile1Name.$loopi.*.log | |
| 60 rm $ReadFile1Name.$loopi.*.nums | |
| 61 | |
| 62 | |
| 63 if [ "$noIRM" ];then | |
| 64 echo "ESTIMATE: No IRM correction, skipped..." | |
| 65 mv $outputname.$loopi.ratio $outputname.ratio | |
| 66 mv $outputname.$loopi.log $outputname.log | |
| 67 mv $outputname.$loopi.nums $outputname.nums | |
| 68 else | |
| 69 | |
| 70 echo "ESTIMATE: derive IRMs from data..." | |
| 71 awk '{if ($15>=10) printf $0"\n"}' $outputname.$loopi.ratio >$outputname.mle | |
| 72 perl $SrcFolder/get_event_dist_fit.pl $outputname.mle -c=2 -w=0.001 | |
| 73 | |
| 74 loopi=1 | |
| 75 echo "ESTIMATE: Generating shell scripts for Loop $loopi..." | |
| 76 while read chrlist | |
| 77 do | |
| 78 chr=`echo $chrlist |tr -d "\n"` | |
| 79 for dbfile in $SrcFolder/../db/$DatabasePrefix/parallel/$chr.* | |
| 80 do | |
| 81 base=`basename $dbfile` | |
| 82 echo "$SrcFolder/Pair_estimate_c -f $ReadFile1Name.nomt.fragsize.hist -o $ReadFile1Name.$loopi.$base -d $dbfile -1 $ReadFile1Name.nomt.$chr -2 $ReadFile2FinalName.$chr -b $outputname.mle.fit.hist -s $readsize" >>r$loopi.sh | |
| 83 done | |
| 84 done <$SrcFolder/../db/$DatabasePrefix/parallel/chr.list | |
| 85 echo "ESTIMATE: Submit shell scripts for Loop $loopi..." | |
| 86 | |
| 87 #perl $SrcFolder/qsub/batchqsub.pl r$loopi.sh $taskname | |
| 88 perl $SrcFolder/batchqsub.pl r$loopi.sh | |
| 89 echo "ESTIMATE: Loop $loopi done..." | |
| 90 cat $ReadFile1Name.$loopi.*.ratio >$outputname.ratio | |
| 91 cat $ReadFile1Name.$loopi.*.log >$outputname.log | |
| 92 cat $ReadFile1Name.$loopi.*.nums >$outputname.nums | |
| 93 rm $ReadFile1Name.$loopi.*.ratio | |
| 94 rm $ReadFile1Name.$loopi.*.log | |
| 95 rm $ReadFile1Name.$loopi.*.nums | |
| 96 fi | |
| 97 | |
| 98 mv $outputname.ratio $outputname.log $outputname.nums ../ | |
| 99 cd ../ | |
| 100 rm $ReadFile1Name.result -rf | |
| 101 rm $ReadFile1Name.nomt $ReadFile2FinalName |
