Tool:Shell script to automate trimmomatic for multiple samples
1
4
Entering edit mode
5.0 years ago

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 • 5.7k views
ADD COMMENT
2
Entering edit mode

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

ADD REPLY
0
Entering edit mode

Hi Pierre Lindenbaum

I completely agree with you on that. I should start learning. Thanks for the suggestion.

ADD REPLY
1
Entering edit mode

Thanks for sharing the params.

ADD REPLY
0
Entering edit mode

Thanks cpad0112

ADD REPLY
3
Entering edit mode
4.9 years ago
ATpoint 81k

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
ADD COMMENT
0
Entering edit mode

Thanks for the awesome suggestion ATpoint. That's worth implementing!

ADD REPLY

Login before adding your answer.

Traffic: 2367 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6