[Bioperl-l] bioperl invades emacs -- bug report?
Pablo Marin-Garcia
pg4 at sanger.ac.uk
Thu Sep 3 08:01:26 UTC 2009
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.
More information about the Bioperl-l
mailing list