diff multi_glimmer.sh @ 0:b07a805758cc draft

planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
author yating-l
date Mon, 01 May 2017 15:29:33 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/multi_glimmer.sh	Mon May 01 15:29:33 2017 -0400
@@ -0,0 +1,50 @@
+#!/bin/sh
+set -e
+
+reference_fasta=$1
+trained_dir=$2
+output=$3
+temp="temp_contig_file"
+
+# Write the glimmerhmm, with the comments
+glimmerHMM_first () {
+    glimmerhmm $1 ${trained_dir} -o ${output} -g
+}
+
+# Write the glimmerhmm output without the comments
+glimmerHMM_without_comments () {
+    glimmerhmm $1 ${trained_dir} -g | tail -n +2 >> ${output}
+}
+
+count=1
+# Loop through the contigs to run glimmer on each
+while read line
+do
+    # Get the content of actual contig
+    #samtools_faidx_show_contig ${reference_fasta} ${contig} > contig_content
+    first_char=$(echo ${line} | cut -c1-1)
+
+    if [ ${first_char} = '>' ]
+    then
+        # If true, it means we have finished reading at least the first contig
+        if [ -f ${temp} ]
+        then
+            if [ ${count} -eq 1 ]
+            then
+                glimmerHMM_first ${temp};
+                count=$((count+1))
+            else
+                glimmerHMM_without_comments ${temp};
+            fi
+        fi
+        echo ${line} > ${temp}
+    else
+        echo ${line} >> ${temp}
+    fi
+done < "${reference_fasta}"
+
+# Still last contig to process
+glimmerHMM_without_comments ${temp};
+
+# Delete the temp_contig_file
+rm ${temp}