Commit b2915bcc authored by Christoph Ziegenhain's avatar Christoph Ziegenhain
Browse files

Merge branch 'zUMIs-dev' of https://github.com/sdparekh/zUMIs into zUMIs-dev

parents 21ba6c57 97b1789a
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -8,6 +8,10 @@ zumisdir=$1
tmpMerge=$2
f=$3
project=$4
yaml=$5
samtoolsexc=$6
Rexc=$7
pigzexc=$8

if [[ $f =~ \.gz$ ]]; then
	pref=`basename $f .gz`
@@ -16,3 +20,6 @@ else
	pref=`basename $f`
	ls $tmpMerge$pref* | sed "s|$tmpMerge$pref||" > $tmpMerge/$project.listPrefix.txt
fi

for x in `cat $tmpMerge/$project.listPrefix.txt`; do perl $zumisdir/fqfilter_v2.pl $yaml $samtoolsexc $Rexc $pigzexc $zumisdir $x & done
wait
+12 −4
Original line number Diff line number Diff line
@@ -45,8 +45,16 @@ function splitfqgz() {
i=$1
pigzexc=$2
num_threads=$3
nlines=$4
tmpMerge=$5
fun=$6
project=$7
tmpMerge=$4
fun=$5
project=$6
f=$7


if [[ $f =~ \.gz$ ]]; then
	nlines=`pigz -p $num_threads -d -c $f | wc -l`
else
	nlines=`wc -l $f | awk '{print $1}'`
fi

$fun "$i" "$pigzexc" "$num_threads" "$nlines" "$tmpMerge" "$project"
+12 −19
Original line number Diff line number Diff line
@@ -135,10 +135,6 @@ if
[[ "$whichStage" == "Filtering" ]]
then
  echo "Starting Filtering..."
  #echo "samtools_exec: $samtoolsexc" >> $yaml
  #echo "pigz_exec: $pigzexc" >> $yaml
  #echo "STAR_exec: $starexc" >> $yaml
  #echo "zUMIs_directory: $zumisdir" >> $yaml

  f=`cut -d' ' -f1 <(echo $fqfiles)` # the first fastq file to determine gzip status

@@ -147,37 +143,34 @@ then
  if [[ "$isslurm" == "yes" ]]; then

    if [[ $f =~ \.gz$ ]]; then
      nlines=`pigz -p $num_threads -d -c $f | wc -l`
      for i in $fqfiles;do sbatch --cpus-per-task=1 --mem=10M --wrap="bash $zumisdir/splitfq.sh $i $pigzexc $num_threads $nlines $tmpMerge splitfqgz $project" > $outdir/$project.splitfq.slurmjobid.txt;done
      echo "splitfq"
      for i in $fqfiles;do sbatch --cpus-per-task=1 --job-name=splitfq --mem=10M --wrap="bash $zumisdir/splitfq.sh $i $pigzexc $num_threads $tmpMerge splitfqgz $project $f" > $outdir/$project.splitfq.slurmjobid.txt;done
    else
      nlines=`wc -l $f | awk '{print $1}'`
      for i in $fqfiles;do sbatch --cpus-per-task=1 --mem=10M --wrap="bash $zumisdir/splitfq.sh $i $pigzexc $num_threads $nlines $tmpMerge splitfq $project" > $outdir/$project.splitfq.slurmjobid.txt;done
      for i in $fqfiles;do sbatch --cpus-per-task=1 --job-name=splitfq --mem=10M --wrap="bash $zumisdir/splitfq.sh $i $pigzexc $num_threads $tmpMerge splitfq $project $f" > $outdir/$project.splitfq.slurmjobid.txt;done
    fi

    j=`cat $outdir/$project.splitfq.slurmjobid.txt | cut -f4 -d' '`

    sbatch --cpus-per-task=1 --dependency=afterok:'$j' --mem=1M --wrap="bash $zumisdir/listPrefix.sh $zumisdir $tmpMerge $f $project" > $outdir/$project.listPrefix.slurmjobid.txt
    sbatch --cpus-per-task=1 --job-name=listPrefix --dependency=afterok:'$j' --mem=1M --wrap="bash $zumisdir/listPrefix.sh $zumisdir $tmpMerge $f $project $yaml $samtoolsexc $Rexc $pigzexc" > $outdir/$project.listPrefix.slurmjobid.txt

    j=`cat $outdir/$project.listPrefix.slurmjobid.txt | cut -f4 -d' '`

    for x in `cat $tmpMerge/$project.listPrefix.txt`;do sbatch --cpus-per-task=$num_threads --dependency=afterok:'$j' --mem=10M --wrap="bash $zumisdir/fqfilter_v2.pl $yaml $samtoolsexc $Rexc $pigzexc $zumisdir $x" > $outdir/$project.fqfilter_v2.slurmjobid.txt;done
  #  for x in `cat $tmpMerge/$project.listPrefix.txt`;do sbatch --cpus-per-task=$num_threads --dependency=afterok:'$j' --mem=10M --wrap="bash $zumisdir/fqfilter_v2.pl $yaml $samtoolsexc $Rexc $pigzexc $zumisdir $x" > $outdir/$project.fqfilter_v2.slurmjobid.txt;done

    j=`cat $outdir/$project.fqfilter_v2.slurmjobid.txt | cut -f4 -d' '`
  #  j=`cat $outdir/$project.fqfilter_v2.slurmjobid.txt | cut -f4 -d' '`

    sbatch --cpus-per-task=1 --dependency=afterok:'$j' --mem=1M --wrap="bash $zumisdir/mergeBAM.sh $zumisdir $tmpMerge $num_threads $project $outdir $yaml" > $outdir/$project.mergeBAM.slurmjobid.txt
    sbatch --cpus-per-task=1 --job-name=splitfq=mergeBAM --dependency=afterok:'$j' --mem=1M --wrap="bash $zumisdir/mergeBAM.sh $zumisdir $tmpMerge $num_threads $project $outdir $yaml" > $outdir/$project.mergeBAM.slurmjobid.txt

    j=`cat $outdir/$project.mergeBAM.slurmjobid.txt | cut -f4 -d' '`

  else

    if [[ $f =~ \.gz$ ]]; then
      nlines=`pigz -p $num_threads -d -c $f | wc -l`
      for i in $fqfiles;do bash $zumisdir/splitfq.sh $i $pigzexc $num_threads $nlines $tmpMerge splitfqgz $project;done
      for i in $fqfiles;do bash $zumisdir/splitfq.sh $i $pigzexc $num_threads $tmpMerge splitfqgz $project $f;done
      pref=`basename $f .gz`
      l=`ls $tmpMerge$pref* | sed "s|$tmpMerge$pref||" | sed 's/.gz//'`
    else
      nlines=`wc -l $f | awk '{print $1}'`
      for i in $fqfiles;do bash $zumisdir/splitfq.sh $i $pigzexc $num_threads $nlines $tmpMerge splitfq $project;done
      for i in $fqfiles;do bash $zumisdir/splitfq.sh $i $pigzexc $num_threads $tmpMerge splitfq $project $f;done
      pref=`basename $f`
      l=`ls $tmpMerge$pref* | sed "s|$tmpMerge$pref||"`
    fi
@@ -196,7 +189,7 @@ then
  if [[ "$isslurm" == "yes" ]]; then
    memory=`du -sh $genomedir | cut -f1` #STAR genome index size
    j=`cat $outdir/$project.mergeBAM.slurmjobid.txt | cut -f4 -d' '`
    sbatch --dependency=afterok:'$j' --mem=$memory --cpus-per-task=$num_threads --wrap="$Rexc $zumisdir/zUMIs-mapping.R $yaml" > $outdir/$project.mapping.slurmjobid.txt
    sbatch --dependency=afterok:'$j' --job-name=mapping --mem=$memory --cpus-per-task=$num_threads --wrap="$Rexc $zumisdir/zUMIs-mapping.R $yaml" > $outdir/$project.mapping.slurmjobid.txt
  else
    $Rexc $zumisdir/zUMIs-mapping.R $yaml
  fi
@@ -216,7 +209,7 @@ then
      mem_limit=`expr $mem_limit \* 1000`
    fi
    j=`cat $outdir/$project.mapping.slurmjobid.txt | cut -f4 -d' '`
    sbatch --dependency=afterok:'$j' --mem=$mem_limit --cpus-per-task=$num_threads --wrap="$Rexc $zumisdir/zUMIs-dge2.R $yamlnew" > $outdir/$project.dge.slurmjobid.txt
    sbatch --dependency=afterok:'$j' --mem=$mem_limit --job-name=dge --cpus-per-task=$num_threads --wrap="$Rexc $zumisdir/zUMIs-dge2.R $yamlnew" > $outdir/$project.dge.slurmjobid.txt
   else
     $Rexc $zumisdir/zUMIs-dge2.R $yamlnew
   fi
@@ -233,7 +226,7 @@ then
    echo "Starting descriptive statistics..."
    if [[ "$isslurm" == "yes" ]]; then
      j=`cat $outdir/$project.dge.slurmjobid.txt | cut -f4 -d' '`
      sbatch --dependency=afterok:'$j' --mem=5000 --cpus-per-task=$num_threads --wrap="$Rexc $zumisdir/zUMIs-stats2.R $yamlnew" > $outdir/$project.stats.slurmjobid.txt
      sbatch --dependency=afterok:'$j' --mem=5000 --job-name=stats --cpus-per-task=$num_threads --wrap="$Rexc $zumisdir/zUMIs-stats2.R $yamlnew" > $outdir/$project.stats.slurmjobid.txt
    else
      $Rexc $zumisdir/zUMIs-stats2.R $yamlnew
    fi