summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/bioinformatics.scm25
1 files changed, 14 insertions, 11 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 35e9f359c1..9b4afbfcfb 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -2551,7 +2551,7 @@ Illumina, Roche 454, and the SOLiD platform.")
 (define-public fraggenescan
   (package
     (name "fraggenescan")
-    (version "1.20")
+    (version "1.30")
     (source
      (origin
        (method url-fetch)
@@ -2559,7 +2559,7 @@ Illumina, Roche 454, and the SOLiD platform.")
         (string-append "mirror://sourceforge/fraggenescan/"
                        "FragGeneScan" version ".tar.gz"))
        (sha256
-        (base32 "1zzigqmvqvjyqv4945kv6nc5ah2xxm1nxgrlsnbzav3f5c0n0pyj"))))
+        (base32 "158dcnwczgcyhwm4qlx19sanrwgdpzf6bn2y57mbpx55lkgz1mzj"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -2574,6 +2574,7 @@ Illumina, Roche 454, and the SOLiD platform.")
                   (string-append "system(\"" (which "rm")))
                  (("system\\(\"mv")
                   (string-append "system(\"" (which "mv")))
+                 (("\\\"awk") (string-append "\"" (which "awk")))
                  ;; This script and other programs expect the training files
                  ;; to be in the non-standard location bin/train/XXX. Change
                  ;; this to be share/fraggenescan/train/XXX instead.
@@ -2583,10 +2584,7 @@ Illumina, Roche 454, and the SOLiD platform.")
                                  "train/\".$FGS_train_file;")))
                (substitute* "run_hmm.c"
                  (("^  strcat\\(train_dir, \\\"train/\\\"\\);")
-                  (string-append "  strcpy(train_dir, \"" share "/train/\");")))
-               (substitute* "post_process.pl"
-                 (("^my \\$dir = substr.*")
-                  (string-append "my $dir = \"" share "\";"))))
+                  (string-append "  strcpy(train_dir, \"" share "/train/\");"))))
              #t))
          (replace 'build
            (lambda _ (and (zero? (system* "make" "clean"))
@@ -2598,8 +2596,6 @@ Illumina, Roche 454, and the SOLiD platform.")
                     (share (string-append out "/share/fraggenescan/train")))
                (install-file "run_FragGeneScan.pl" bin)
                (install-file "FragGeneScan" bin)
-               (install-file "FGS_gff.py" bin)
-               (install-file "post_process.pl" bin)
                (copy-recursively "train" share))))
          (delete 'check)
          (add-after 'install 'post-install-check
@@ -2607,8 +2603,9 @@ Illumina, Roche 454, and the SOLiD platform.")
            ;; output files gets created.
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (string-append (assoc-ref outputs "out")))
-                    (bin (string-append out "/bin/")))
-               (and (zero? (system* (string-append bin "run_FragGeneScan.pl")
+                    (bin (string-append out "/bin/"))
+                    (frag (string-append bin "run_FragGeneScan.pl")))
+               (and (zero? (system* frag ; Test complete genome.
                              "-genome=./example/NC_000913.fna"
                              "-out=./test2"
                              "-complete=1"
@@ -2616,7 +2613,13 @@ Illumina, Roche 454, and the SOLiD platform.")
                     (file-exists? "test2.faa")
                     (file-exists? "test2.ffn")
                     (file-exists? "test2.gff")
-                    (file-exists? "test2.out"))))))))
+                    (file-exists? "test2.out")
+                    (zero? (system* ; Test incomplete sequences.
+                            frag
+                            "-genome=./example/NC_000913-fgs.ffn"
+                            "-out=out"
+                            "-complete=0"
+                            "-train=454_30")))))))))
     (inputs
      `(("perl" ,perl)
        ("python" ,python-2))) ;not compatible with python 3.