[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