diff parsedb.sh @ 0:183edf446dcf draft default tip

Uploaded
author davidvanzessen
date Mon, 17 Jul 2017 07:44:27 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/parsedb.sh	Mon Jul 17 07:44:27 2017 -0400
@@ -0,0 +1,92 @@
+#!/bin/bash
+dir="$(cd "$(dirname "$0")" && pwd)"
+
+action=$1
+input=$2
+output=$3
+
+cp $input $PWD/input.tab
+
+input="$PWD/input.tab"
+
+mkdir $PWD/outdir
+
+if [ "fasta" == "$action" ] ; then
+	python3 $dir/ParseDb.py fasta -d $input --outdir $PWD/outdir --outname output
+	mv $PWD/outdir/output_sequences.fasta $output
+elif [ "clip" == "$action" ] ; then
+	python3 $dir/ParseDb.py clip -d $input --outdir $PWD/outdir --outname output
+	mv $PWD/outdir/output_sequences.fasta $output
+elif [ "split" == "$action" ] ; then
+	field="`cat $input 2> /dev/null | head -n 1 | cut -f$4 | tr '\n\r' ' '`"
+	label=$5
+	mkdir $PWD/split
+	python3 $dir/ParseDb.py split -d $input --outdir $PWD/split --outname output -f $field 
+	#rename "s/output_${field}/$label/" $PWD/split/*
+elif [ "add" == "$action" ] ; then
+	field="`cat $input 2> /dev/null | head -n 1 | cut -f$4 | tr '\n\r' ' '`"
+	value=$5
+	python3 $dir/ParseDb.py add -d $input --outdir $PWD/outdir --outname output -f $field -u $value
+	mv $PWD/outdir/output_parse-add.tab $output
+elif [ "delete" == "$action" ] ; then
+	field="`cat $input 2> /dev/null | head -n 1 | cut -f$4 | tr '\n\r' ' '`"
+	value=$5
+	regex=$6
+	if [ "true" == "$regex" ] ; then
+		regex="--regex"
+	else
+		regex=""
+	fi
+	python3 $dir/ParseDb.py delete -d $input --outdir $PWD/outdir --outname output -f $field -u $value --logic any $regex
+	mv $PWD/outdir/output_parse-delete.tab $output
+elif [ "drop" == "$action" ] ; then
+	field="`cat $input 2> /dev/null | head -n 1 | cut -f$4 | tr '\n\r' ' '`"
+	python3 $dir/ParseDb.py drop -d $input --outdir $PWD/outdir --outname output -f $field
+	mv $PWD/outdir/output_parse-drop.tab $output
+elif [ "index" == "$action" ] ; then
+	field=$4
+	python3 $dir/ParseDb.py index -d $input --outdir $PWD/outdir --outname output -f $field
+	mv $PWD/outdir/output_parse-index.tab $output
+elif [ "rename" == "$action" ] ; then
+	field="`cat $input 2> /dev/null | head -n 1 | cut -f$4 | tr '\n\r' ' '`"
+	newname=$5
+	python3 $dir/ParseDb.py rename -d $input --outdir $PWD/outdir --outname output -f $field -k $newname
+	mv $PWD/outdir/output_parse-rename.tab $output
+elif [ "select" == "$action" ] ; then
+	field="`cat $input 2> /dev/null | head -n 1 | cut -f$4 | tr '\n\r' ' '`"
+	value=$5
+	regex=$6
+	if [ "true" == "$regex" ] ; then
+		regex="--regex"
+	else
+		regex=""
+	fi
+	python3 $dir/ParseDb.py select -d $input --outdir $PWD/outdir --outname output -f $field -u $value --logic any $regex
+	mv $PWD/outdir/output_parse-select.tab $output
+elif [ "sort" == "$action" ] ; then
+	field="`cat $input 2> /dev/null | head -n 1 | cut -f$4 | tr '\n\r' ' '`"
+	num=$5
+	tmp=""
+	if [ "true" == "$num" ] ; then
+		tmp="--num"
+	fi	
+	desc=$6
+	if [ "true" == "$desc" ] ; then
+		tmp="--descend $tmp"
+	fi	
+	python3 $dir/ParseDb.py sort -d $input --outdir $PWD/outdir --outname output -f $field $tmp
+	mv $PWD/outdir/output_parse-sort.tab $output
+elif [ "update" == "$action" ] ; then
+	field="`cat $input 2> /dev/null | head -n 1 | cut -f$4 | tr '\n\r' ' '`"
+	value=$5
+	replace=$6
+	regex=$7
+	if [ "true" == "$regex" ] ; then
+		regex="--regex"
+	else
+		regex=""
+	fi
+	python3 $dir/ParseDb.py update -d $input --outdir $PWD/outdir --outname output -f $field -u $value -t $replace $regex
+	mv $PWD/outdir/output_parse-update.tab $output
+fi
+