[Bioperl-l] bioperl invades emacs -- bug report?
Mark A. Jensen
maj at fortinbras.us
Sat Sep 5 12:53:12 UTC 2009
Hi Pablo-- You're right about the PERL5LIB issue; I had
not set up the module path to handle multiple paths as you
describe. I am working hard on an implementation that can
handle multiple paths; I hope to have it out next week --cheers MAJ
----- Original Message -----
From: "Pablo Marin-Garcia" <pg4 at sanger.ac.uk>
To: "Mark A. Jensen" <maj at fortinbras.us>
Cc: <bioperl-l at lists.open-bio.org>
Sent: Thursday, September 03, 2009 4:01 AM
Subject: Re: [Bioperl-l] bioperl invades emacs -- bug report?
> On Thu, 3 Sep 2009, Mark A. Jensen wrote:
>
>> Hi Pablo and all-
>> Try the latest revision (>=16081) with your debian/Emacs 21. Set
>> the variable bioperl-module-path to the directory above the
>> Bio directory (same idea as ' use lib "./bioperl-live"; ' ), and try
>> again there. Tomorrow, MacOS
>> cheers,
>> Mark
>
> Hello Mark,
>
> after setting bioperl-module-path manually, your module works ok in linux
> emacs 21.4 with latest revision.
>
> About the perl5lib issue, sorry about not reporting the platform: the report
> was on linux not in mac os X. In the wiki you have a comment about mac OS X
> separator:
>
> [wiki] The problem Pablo was running into is definitely the Mac OS X path
> [wiki] separator issue.
>
> Here I was refering to ':' as the 'path seprator' for linux multipath
> environmental vars not the systems directory separator [:/\].
>
> Also from the wiki
>
> [wiki] I think this is ok as it is, since bioperl-module-path is meant to
> [wiki] point to the directory above Bio
>
> This is right. Probably my message was misleading. I wrongly appended '/Bio'
> to the path instead to a temp variable for testing with file-exist-p. And
> probably gave you the impression that the point was to have the /Bio added to
> the path. Sorry about that.
>
> Instead my main point was about the line where you capture the PRL5LIB:
>
> [code] (if (setq pth (getenv "PERL5LIB"))
>
> wouldn't this leave pth with s *string* like "lib/path1:lib/path2:lob/path3"
> in linux?
>
> Then, when you test:
>
> [code] (setq pth (if (file-exists-p (concat pth "/" "Bio")) pth nil))))
>
> it would append '/Bio' at the end of the whole string
> 'lib/path1:lib/path2:lib/path3'. and this string path obviously does not
> exist.
>
> Am I missing something? Shouldn't the 'concat /Bio' be applied to *each*
> lib/path, splitting first the pth string by the ':' in linux/osX or equivalent
> in windows.
>
> Sorry about not being very clear in my firest report.
>
>
> -Pablo
>
>
>
>>> == bug when parsing perl5lib? ==
>>>
>>> Please correct me if I am wrong but in bioperl-init.el when extracting the
>>> Bioperl paths from PERL5LIB this is not working for me in linux.
>>>
>>> While debugging bioperl-init.el:
>>> # (setq pth (getenv "PERL5LIB"))
>>> #
>>> "/nfs/home/pmg/ensembl-api/ensembl-compara/modules:...:/nfs/home/pmg/bioperl-live:..."
>>> # (setq pth (if (file-exists-p (concat pth "/" "Bio")) pth nil))
>>> # nil
>>>
>>> No file is found because it is looking for all the paths concatenated
>>> together with a '/Bio' at the end:
>>>
>>> libpaht1:libpath2:libpath3/Bio
>>>
>>> 'concat' adds /Bio to the pth that is a string with all the PERL5LIB paths.
>>> Should this concat rather be applied to the splited perl5lib by ':' in unix
>>> or ';' in windows and then tested for the existence of files?
>>>
>>> for example in unix:
>>>
>>> --- code --
>>> (defun addbio (bio_path)
>>> "apend /Bio to each path"
>>> (concat bio_path "/" "Bio"))
>>>
>>> (mapcar 'file-exists-p (mapcar 'addbio (split-string pth ":")))
>>> -- end code ---
>>>
>>> This would result in the list of T and F bioperl (and ensembl) paths
>>> (t t nil t t t t t t nil nil nil ...)
>>>
>>>
>>> Regards and thanks for the modules they would be very useful.
>>>
>>> -Pablo
>>>
>>> =====================================================================
>>> Pablo Marin-Garcia, PhD
>>>
>>> \\// (Argiope bruennichi
>>> \/\/`(||>O:'\/\/ with stabilimentum)
>>> //\\
>>>
>>> Sanger Institute | PostDoc / Computer Biologist
>>> Wellcome Trust Genome Campus | team : 128/108 (Human Genetics)
>>> Hinxton, Cambridge CB10 1HH | room : N333
>>> United Kingdom | email: pablo.marin at sanger.ac.uk
>>> ====================================================================
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> The Wellcome Trust Sanger Institute is operated by Genome Research Limited,
>>> a charity registered in England with number 1021457 and a company registered
>>> in England with number 2742969, whose registered office is 215 Euston Road,
>>> London, NW1 2BE. _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l at lists.open-bio.org
>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>>
>>>
>>
>>
>
>
> =====================================================================
> Pablo Marin-Garcia, PhD
>
> \\// (Argiope bruennichi
> \/\/`(||>O:'\/\/ with stabilimentum)
> //\\
>
> Sanger Institute | PostDoc / Computer Biologist
> Wellcome Trust Genome Campus | team : 128/108 (Human Genetics)
> Hinxton, Cambridge CB10 1HH | room : N333
> United Kingdom | email: pablo.marin at sanger.ac.uk
> ====================================================================
>
>
>
>
>
>
>
>
>
>
> --
> The Wellcome Trust Sanger Institute is operated by Genome Research Limited, a
> charity registered in England with number 1021457 and a company registered in
> England with number 2742969, whose registered office is 215 Euston Road,
> London, NW1 2BE. _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>
>
More information about the Bioperl-l
mailing list