Thanks, it works like a charm! Good to hear that there is another approach for 
FastQC support. Anyway, it made me setting up my own easyblock repository 
correctly :-) I will contribute back when I finished some other stuff.

Cheers,
  Oliver
________________________________________
From: [email protected] [[email protected]] on 
behalf of Kenneth Hoste [[email protected]]
Sent: Tuesday, June 09, 2015 4:59 PM
To: [email protected]
Subject: Re: [easybuild] Setting up own easyblock repository

On 09/06/15 16:54, Stolpe, Oliver wrote:
> Well, that worked! Thank you very much!
>
> I have a follow-up question :-)
>
> In my easyconfig script I have the line
>
>      postinstallcmds = ['chmod 755 fastqc']
>
> Unfortunately this does not alter the rights. If I use bin/fastqc (where it 
> is supposed to be copied to), it claims that the file doesn't exist. I use 
> shutil.copytree to copy the whole package content to bin. When is 
> postinstallcmds executed? I assume that it happens after the copy step, so I 
> wonder why he can't detect bin/fastqc.

It depends on where the post install commands are being executed from.

To make sure you're changing the permission on the install fastqc
binary, please use this:

     postinstallcmds = ['chmod 755 %(installdir)s/bin/fastqc']


The %(installdir)s part will be replaced with the actual installation
prefix before executing the command.

BTW: there already is an open pull request for FastQC, see
https://github.com/hpcugent/easybuild-easyconfigs/pull/845.

For some reason, this ended up not being merged yet, but it looks OK
(I'll look into getting it merged).

Note that Andreas is using the PackedBinary easyblock there, rather than
writing a custom easyblock for FastQC...

If you're up for it, please contribute your FastQC support once you got
it working, see
https://github.com/hpcugent/easybuild/wiki/Contributing-back .


regards,

Kenneth


>
> Cheers,
>    Oliver
>
> ________________________________________
> From: [email protected] [[email protected]] on 
> behalf of Kenneth Hoste [[email protected]]
> Sent: Tuesday, June 09, 2015 4:10 PM
> To: [email protected]
> Subject: Re: [easybuild] Setting up own easyblock repository
>
> Hi Oliver,
>
> The name of the module file should be lowercase, i.e. fastqc.py.
>
> Can you try that?
>
>
> regards,
>
> Kenneth
>
> On 09/06/15 15:44, Stolpe, Oliver wrote:
>> Hello Kenneth,
>>
>> please find the requested files attached! I also attached the recipy. In the 
>> log file I found these lines suspicious:
>>
>> == 2015-06-09 13:17:14,712 main.easyconfig.easyconfig DEBUG Failed to import 
>> module 'easybuild.easyblocks.fastqc': No module named fastqc
>> == 2015-06-09 13:17:14,713 main.easyconfig.easyconfig DEBUG No module path 
>> 'easybuild.easyblocks.fastqc' found
>> == 2015-06-09 13:17:14,713 main.easyconfig.easyconfig DEBUG Module path 
>> determined based on software name: easybuild.easyblocks.fastqc
>> == 2015-06-09 13:17:14,713 main.easyconfig.easyconfig DEBUG getting class 
>> for easybuild.easyblocks.fastqc.EB_FastQC
>> == 2015-06-09 13:17:14,713 main.easyconfig.easyconfig DEBUG error regexp: No 
>> module named fastqc
>>
>> Cheers,
>>     Oliver
>>
>> ________________________________________
>> From: [email protected] [[email protected]] on 
>> behalf of Kenneth Hoste [[email protected]]
>> Sent: Tuesday, June 09, 2015 3:08 PM
>> To: [email protected]
>> Subject: Re: [easybuild] Setting up own easyblock repository
>>
>> Hi Oliver,
>>
>> On 09/06/15 14:17, Stolpe, Oliver wrote:
>>> Hello Kenneth and Niek,
>>>
>>> thanks for your quick answers!
>>> It wasn't clear to me from the documentation that easybuild directory also 
>>> needs __init__.py.
>>>
>>> Now I got:
>>>
>>> $ find easybuild
>>> easybuild/__init__.py
>>> easybuild/easyblocks
>>> easybuild/easyblocks/__init__.py
>>> easybuild/easyblocks/FastQC.py
>>> easybuild/easyblocks/FastQC.pyc
>>>
>>> And:
>>>
>>> $ echo $PYTHONPATH
>>> /tools/easybuild/software/EasyBuild/2.1.1/lib/python2.7/site-packages:/tools/easybuild.local/easybuild/easyblocks:/tools/easybuild.local:/tools/easybuild.local/easybuild/
>>>
>>> It exists:
>>>
>>> $ eb --list-easyblocks | grep -i fastqc
>>> |   |-- EB_FastQC
>> OK, this confirm your easyblock can be found, indeed.
>>> But I keep getting the same error. Any other ideas?
>> Can we see the full easyconfig file you're using, and maybe also the
>> full log file (ideally, from a run where --debug was used)?
>>
>>
>> regards,
>>
>> Kenneth
>>
>>> Cheers,
>>>      Oliver
>>>
>>>
>>> ________________________________________
>>> From: [email protected] [[email protected]] 
>>> on behalf of Kenneth Hoste [[email protected]]
>>> Sent: Tuesday, June 09, 2015 1:59 PM
>>> To: [email protected]
>>> Subject: Re: [easybuild] Setting up own easyblock repository
>>>
>>> On 09/06/15 13:49, Niek de Klein wrote:
>>>> Hello Oliver,
>>>>
>>>> I'm not part of the EasyBuild team but I think I see what goes wrong.
>>>> I think you forgot to add the easyblock name. What is the class name
>>>> you used in FastQC.py? For example, if in FastQC.py, under the imports
>>>> you have
>>>>
>>>> class EB_FastQC(EasyBlock):
>>>>        ...
>>>>
>>>> You should add
>>>>
>>>> easyblock = 'EB_FastQC'
>>>>
>>>> in your FastQC-0.11.3.eb.
>>> If no easyblock specification is given, EasyBuild will try to find the
>>> easyblock that matches the software name.
>>>
>>> Assuming the easyconfig file contains "name = 'FastQC' ", EB should be
>>> looking for EB_FastQC by itself.
>>>
>>> The error message shown below only mentions that the automagic fallback
>>> to ConfigureMake is no longer there.
>>>
>>> Oliver: if the information you've provided is complete, you're missing
>>> an __init__.py file in the 'easybuild' directory too (that includes the
>>> 'extend_path' statement mentioned in the documentation.
>>>
>>>
>>> regards,
>>>
>>> Kenneth
>>>> Hope this helps,
>>>> Niek
>>>>
>>>> On Tue, Jun 9, 2015 at 1:43 PM, Stolpe, Oliver <[email protected]> 
>>>> wrote:
>>>>> Hello Mailinglist,
>>>>>
>>>>> I wanted to setup my own EasyBlock repository. I followed the instructions
>>>>> from
>>>>> <https://github.com/hpcugent/easybuild/wiki/Setting-up-your-own-easyblocks-repository>.
>>>>> Somehow it ignores my easyblock when I try to execute the config file. Any
>>>>> help is appreciated!
>>>>>
>>>>> Cheers,
>>>>>       Oliver
>>>>>
>>>>> This is what I got:
>>>>>
>>>>> /tools/easybuild.local/easybuild/easyblocks
>>>>> /tools/easybuild.local/easybuild/easyblocks/FastQC.py
>>>>> /tools/easybuild.local/easybuild/easyblocks/__init__.py
>>>>>
>>>>> $ echo $PYTHONPATH
>>>>> /tools/easybuild/software/EasyBuild/2.1.1/lib/python2.7/site-packages:/tools/easybuild.local
>>>>>
>>>>> $ head FastQC-0.11.3.eb
>>>>> name = 'FastQC'
>>>>> version = '0.11.3'
>>>>>
>>>>> homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/fastqc'
>>>>>
>>>>> $ eb FastQC-0.11.3.eb
>>>>> == temporary log file in case of crash /tmp/eb-hJyLxt/easybuild-NGWQ6S.log
>>>>> ERROR: Failed to process easyconfig
>>>>> /tools/easybuild.local/easyconfigs/f/FastQC/FastQC-0.11.3.eb: NO LONGER
>>>>> SUPPORTED since v2.0: Fallback to default easyblock ConfigureMake (from
>>>>> easybuild.easyblocks.generic.configuremake); use "easyblock =
>>>>> 'ConfigureMake'" in easyconfig file?; see
>>>>> http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html 
>>>>> for
>>>>> more information
>>>>>

Reply via email to