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
prev 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).