#!/bin/sh # FASTX-toolkit - FASTA/FASTQ preprocessing tools. # Copyright (C) 2009 A. Gordon (gordon@cshl.edu) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # #This is a shell script wrapper for 'fastx_barcode_splitter.pl' # # 1. Output files are saved at the dataset's files_path directory. # # 2. 'fastx_barcode_splitter.pl' outputs a textual table. # This script turns it into pretty HTML with working URL # (so lazy users can just click on the URLs and get their files) BARCODE_FILE="$1" FASTQ_FILE="$2" LIBNAME="$3" OUTPUT_PATH="$4" shift 4 # The rest of the parameters are passed to the split program if [ "$OUTPUT_PATH" == "" ]; then echo "Usage: $0 [BARCODE FILE] [FASTQ FILE] [LIBRARY_NAME] [OUTPUT_PATH]" >&2 exit 1 fi #Sanitize library name, make sure we can create a file with this name LIBNAME=${LIBNAME//\.gz/} LIBNAME=${LIBNAME//\.txt/} LIBNAME=${LIBNAME//[^[:alnum:]]/_} if [ ! -r "$FASTQ_FILE" ]; then echo "Error: Input file ($FASTQ_FILE) not found!" >&2 exit 1 fi if [ ! -r "$BARCODE_FILE" ]; then echo "Error: barcode file ($BARCODE_FILE) not found!" >&2 exit 1 fi mkdir -p "$OUTPUT_PATH" if [ ! -d "$OUTPUT_PATH" ]; then echo "Error: failed to create output path '$OUTPUT_PATH'" >&2 exit 1 fi PUBLICURL="" BASEPATH="$OUTPUT_PATH/" #PREFIX="$BASEPATH"`date "+%Y-%m-%d_%H%M__"`"${LIBNAME}__" PREFIX="$BASEPATH""${LIBNAME}__" SUFFIX=".txt" RESULTS=`zcat -f "$FASTQ_FILE" | fastx_barcode_splitter.pl --bcfile "$BARCODE_FILE" --prefix "$PREFIX" --suffix "$SUFFIX" "$@"` if [ $? != 0 ]; then echo "error" fi # # Convert the textual tab-separated table into simple HTML table, # with the local path replaces with a valid URL echo "" echo "$RESULTS" | sed -r "s|$BASEPATH(.*)|\\1|" | sed ' i
s|\t||g a<\/td><\/tr> ' echo "

" echo "

"