[Bioperl-l] bioperl invades emacs -- bug report?

Pablo Marin-Garcia pg4 at sanger.ac.uk
Wed Sep 2 23:35:07 UTC 2009



Hello Mark,

It sounds fantastic,

unfortunatelly I was unable to use it:

It does not found pod2text in my macosX and fail to find my bioperl paths 
in linux (probably due to a bug in the perl5lib parsing but I am a lisp 
novice so I could be wrong)

==  macosX ==

in my macbook macosX 10.5 emacs 22.3 it does not find the pod2text
GNU Emacs 22.3.1 (i386-apple-darwin9.6.0, X toolkit)

   -I have installed your modules in my local-lisp and added the requiere 
and now emacs fails with the error:

   File error: Searching for program, invalid argument, pod2text

   -- I have pod2text in /usr/bin and this is in my $PATH (I use fink 
emacs in not-window mode) but the same happens with the carbon emacs

==  debian etch with an old emacs 21 ==

GNU Emacs 21.4.1 (i486-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 
2007-06-19 on ninsei, modified by Debian

It loads ok but when asking for the pods

[pod] Namespace: Bio::

it does not autocomplete from there, and if I have the cursor over a 'use 
Bio::xxx', and select [BP Docs] 'view methods' or 'view pod' it says 'no 
match'

# [pod mth] Namespace: Bio::PrimarySeq [No match]

Reading bioperl-mode.el and bioperl-init.el I have seen that the variable 
that stores the path to bioperl has not other paths added a part of 
current path:

# c-h v bioperl-module-path [ret] => bioperl-module-path's value is "."


== 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. 



More information about the Bioperl-l mailing list