8000 Is the pip3 install broken on macOS? · Issue #80 · immcantation/presto · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Is the pip3 install broken on macOS? #80
Closed
@ssnn-airr

Description

@ssnn-airr

Original report by Rian Stockbower (Bitbucket: rianjs, GitHub: rianjs).


I feel like I'm missing something simple and obvious, but I can't get the Jiang2013 example to work. I'm not a Python developer, but I do have about a decade of professional experience as a software developer in other ecosystems, so I'm not totally ignorant.

This is what I did, starting from a fresh install of macOS:

  1. Install the xcode CLI tools (which gets you gcc without needing all 10GB of the xcode IDE): xcode-select --install
  2. Downloaded python 3.9.4 from https://www.python.org/downloads/mac-osx/ and installed it (This gets you pip3, too)
  3. I then installed presto: pip3 install presto --user which also grabbed the associated dependencies -- everything installed without errors.

I launched the python3 REPL, and quickly tested biopython, and had no problems. My test was fairly simple:

from Bio.Seq import Seq
my_seq = Seq("AGTACACTGGT")
print(my_seq)
  1. After that, I imported presto, just to see if python3 could find it: import presto -- no problems. (Wasn't sure how to test it, though.)
  2. From there, I downloaded the Jiang sample, and tried to run the bash script, which errored out:
% ./ExamplePipeline_Jiang2013.sh
readlink: illegal option -- f
usage: readlink [-n] [file ...]
readlink: illegal option -- f
usage: readlink [-n] [file ...]
readlink: illegal option -- f
usage: readlink [-n] [file ...]
readlink: illegal option -- f
usage: readlink [-n] [file ...]
DIRECTORY: output
START
   1: FilterSeq length         11:21 04/19/21
./ExamplePipeline_Jiang2013.sh: line 30: FilterSeq.py: command not found
   2: FilterSeq quality        11:21 04/19/21
./ExamplePipeline_Jiang2013.sh: line 35: FilterSeq.py: command not found
   3: MaskPrimers score        11:21 04/19/21
...etc...

Weird. MacOS did recently switch to zsh as the default shell, but it still has bash, not that it should matter given the script header. Nonethless, I launched bash, and tried running it again: same result.

So I went looking for FilterSeq.py, and the other files that are associated with pRESTO:

% ls /Users/rianjs/Library/Python/3.9/lib/python/site-packages/presto
total 344
-rw-r--r--@  1 rianjs  staff  24189 Jun 22  2020 Annotation.py
-rw-r--r--@  1 rianjs  staff  16014 Jul 15  2020 Applications.py
-rw-r--r--@  1 rianjs  staff  14310 Jun 22  2020 Commandline.py
-rw-r--r--@  1 rianjs  staff   1814 Jun 22  2020 Defaults.py
-rw-r--r--@  1 rianjs  staff  12264 Sep 27  2020 IO.py
-rw-r--r--@  1 rianjs  staff  23864 Jun 22  2020 Multiprocessing.py
-rw-r--r--@  1 rianjs  staff  66028 Sep 27  2020 Sequence.py
-rw-r--r--@  1 rianjs  staff    293 Oct 13  2020 Version.py
-rw-r--r--   1 rianjs  staff    259 Jun 22  2020 __init__.py
drwxr-xr-x  11 rianjs  staff    352 Apr 19 10:21 __pycache__

I explored some of the subdirectories, and there was nothing that looked promising. (ls -la didn't show anything else.)

So I downloaded the raw tarball from pypi, and decompressed it. Poking around, I DO see FilterSeq.py, et al in the bin folder, which looks like the meat of pRESTO:

% ls ~/Downloads/presto-0.6.2/bin 
total 600
-rwxr-xr-x@ 1 rianjs  staff  20725 Sep 27  2020 AlignSets.py
-rwxr-xr-x@ 1 rianjs  staff  24308 Jun 22  2020 AssemblePairs.py
-rwxr-xr-x@ 1 rianjs  staff  24122 Jun 22  2020 BuildConsensus.py
-rwxr-xr-x@ 1 rianjs  staff  28429 Jun 22  2020 ClusterSets.py
-rwxr-xr-x@ 1 rianjs  staff  20407 Jun 22  2020 CollapseSeq.py
-rwxr-xr-x@ 1 rianjs  staff  11328 Jun 22  2020 ConvertHeaders.py
-rwxr-xr-x@ 1 rianjs  staff  36792 Jun 22  2020 EstimateError.py
-rwxr-xr-x@ 1 rianjs  staff  12126 Jun 22  2020 FilterSeq.py
-rwxr-xr-x@ 1 rianjs  staff  28060 Jun 22  2020 MaskPrimers.py
-rwxr-xr-x@ 1 rianjs  staff  12157 Jun 22  2020 PairSeq.py
-rwxr-xr-x@ 1 rianjs  staff  21913 Jun 22  2020 ParseHeaders.py
-rwxr-xr-x@ 1 rianjs  staff   5419 Jun 22  2020 ParseLog.py
-rwxr-xr-x@ 1 rianjs  staff  38028 Jun 22  2020 SplitSeq.py
-rwxr-xr-x@ 1 rianjs  staff   7129 Jun 22  2020 UnifyHeaders.py

I went back to /Users/rianjs/Library/Python/3.9/lib/python/site-packages/presto, and there is NOTHING like that in there. I did a find, just to see, and nothing showed up:

rianjs@Galadriel: ~/Library/Python/3.9/lib/python
% find . -name "Filter*"
rianjs@Galadriel: ~/Library/Python/3.9/lib/python
% find . -name "Command*"
./site-packages/presto/Commandline.py
./site-packages/presto/__pycache__/Commandline.cpython-39.pyc

Is the macOS package broken in some way?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmajor

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0