This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Tool: Shell script to automate trimmomatic for multiple samples

Couple of months back, I had developed this shell script to automate trimmomatic for multiple paired end fastq files. I could see multiple posts on biostars and I believe this is a routine work at many institutions.

Availability:

Hosted on GitHub

Feedback is highly appreciated

  • Reach me on GitHub

    or

  • Post comments here on Biostars


bash shell trimmomatic

thanks for sharing. IMHO, you should have a look at solutions like nextflow or snakemake.

Thanks for sharing the params.

1 answer

Suggestion for improvement: Check up front at the beginning of a script that all necessary tools are in PATH and/or defined in variables, e.g.:

## $TRIMMOMATIC could be a path like $HOME/software/trimmomatic.jar
TOOLS=(samtools bedtools bowtie2 $TRIMMOMATIC)

## A simple command that checks if tools can be found, if not names are written to a file <missing_tools.txt>
function PathCheck {

  if [[ $(command -v $1 | wc -l) == 0 ]]; then 
    echo ${1} >> missing_tools.txt
    fi

}; export -f PathCheck

## Check all tools:
for i in $(echo ${TOOLS[*]}); do
  PathCheck $i; done

## If any of the specified tools is missing, throw an error and exit:
if [[ -e missing_tools.txt ]] && [[ $(cat missing_tools.txt | wc -l | xargs) > 0 ]]; then
  echo '[ERROR] Missing tools -- see missing_tools.txt for details' && exit 1
  fi

Log in to answer this question.