unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ben Woodcroft <b.woodcroft@uq.edu.au>
To: Marius Bakke <mbakke@fastmail.com>, guix-devel@gnu.org
Subject: Re: [PATCH] gnu: Add minced.
Date: Wed, 17 Aug 2016 21:01:38 +1000	[thread overview]
Message-ID: <3c37dec8-60f2-fddc-ba2e-5151d2e37f64@uq.edu.au> (raw)
In-Reply-To: <87zioczycq.fsf@ike.i-did-not-set--mail-host-address--so-tickle-me>



On 16/08/16 22:34, Marius Bakke wrote:
> Ben Woodcroft <b.woodcroft@uq.edu.au> writes:
>
>> Hi Marius,
>>
>> Excellent to see others interested in packaging microbial bioinformatics
>> tools.
> You may want to look here before packaging other microbio tools:
>
> https://github.com/MRC-CLIMB/guix-climb
>
> I'm currently working on upstreaming most of these :)
Cool, and they generally look in quite good shape too. I'll be away next 
week, but I'd be happy to review them after that.

>> I tried this in a container and it seems that it calls out to a few
>> programs preventing it from working:
>>
>> [env]# minced -h
>> /gnu/store/8asw2i54x53rrwdr8qw4j2rpbkc9fqzz-profile/bin/minced: line 7:
>> dirname: command not found
>> /gnu/store/8asw2i54x53rrwdr8qw4j2rpbkc9fqzz-profile/bin/minced: line 9:
>> dirname: command not found
>> /gnu/store/8asw2i54x53rrwdr8qw4j2rpbkc9fqzz-profile/bin/minced: line 11:
>> basename: command not found
>>
>> So I think that (in order of preference), the source files themselves
>> should be patched with the absolute paths to these tools, the binary
>> should be wrapped, or coreutils should be propagated. For the first two
>> options, coreutils should be an input.
> Good catch. Since the "minced" executable is just a wrapper script, I
> opted to build my own wrapper to avoid the coreutils dependency.
Good idea.

>
>> Now some small comments on the patch itself.
>>
>>> +    (arguments
>>> +     `(#:test-target "test"
>>> +       #:phases
>>> +       (modify-phases %standard-phases
>>> +         (delete 'configure)
>>> +         (add-before 'check 'fix-test
>>> +           (lambda _
>>> +             ;; Fix test for latest version.
>>> +             (substitute* "t/Aquifex_aeolicus_VF5.expected"
>>> +               (("minced:0.1.6") "minced:0.2.0"))))
>> It might be more future-proof to use '(string-append "minced:"
>> ,version)' instead of hard-coding 0.2.0.
> I don't think this will be a problem in future releases. And it can also
> cause problems, in case a user sets version to e.g. a commit hash.
OK.
>> Also, this phase (and the next two) should end in #t since the return
>> value of substitute* is undefined.
>>
>>
>>> +         (add-before 'install 'qualify-java-path
>>> +           (lambda* (#:key inputs #:allow-other-keys)
>>> +             (substitute* "minced"
>>> +               ;; Set full path to java binary in wrapper script.
>>> +               (("^java") (string-append (assoc-ref inputs "jre")
>>> +                                         "/bin/java")))))
>>> +         (replace 'install
>>> +           ;; No install target.
>>> +           (lambda* (#:key outputs #:allow-other-keys)
>>> +             (let* ((out (assoc-ref outputs "out"))
>>> +                    (bin (string-append out "/bin")))
>>> +               (for-each (lambda (file)
>>> +                           (install-file file bin))
>>> +                         (list "minced" "minced.jar"))))))))
>>> +    (native-inputs
>>> +     `(("jdk", icedtea "jdk")))
>>> +    (inputs
>>> +     `(("jre", icedtea)))
>> The commas should go after the space.
> Oops, I should stop submitting patches late in the night!
>
>>> +    (home-page"https://github.com/ctSkennerton/minced")
>>> +    (synopsis "Mining CRISPRs in Environmental Datasets")
>>> +    (description
>>> +     "MinCED is a program to find Clustered Regularly Interspaced Short
>>> +Palindromic Repeats (CRISPRs) in full genomes or environmental datasets such
>>> +as metagenomes, in which sequence size can be anywhere from 100 to 800 bp.")
>> That description which you took from the README is a little dated at the
>> end. How about this?
>>
>> "MinCED is a program to find Clustered Regularly Interspaced Short
>> Palindromic Repeats (CRISPRs) in both full genomes and shorter metagenomic sequences."
>>
>> The rest LGTM. Thanks. Can you send an updated patch please?
> Please find updated patch below. Thanks for the feedback!

Pushed as '318c0ae' after adding a space in the description and only 
using only using the "out" of icedtea in the inputs.

Thanks.
ben

      parent reply	other threads:[~2016-08-17 11:01 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-15 15:13 [PATCH] gnu: Add minced Marius Bakke
2016-08-16  4:59 ` Ben Woodcroft
2016-08-16  6:03   ` Ben Woodcroft
2016-08-16 12:34   ` Marius Bakke
2016-08-16 12:49     ` Marius Bakke
2016-08-17 11:01     ` Ben Woodcroft [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3c37dec8-60f2-fddc-ba2e-5151d2e37f64@uq.edu.au \
    --to=b.woodcroft@uq.edu.au \
    --cc=guix-devel@gnu.org \
    --cc=mbakke@fastmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).