sc932 / ALE

Assembly Likelihood Estimator
Other
32 stars 7 forks source link

Conda Install Broken - 'ale-core' #22

Closed gbouras13 closed 1 year ago

gbouras13 commented 1 year ago

Hi @sc932,

Firstly thanks for ALE - it's a great tool :)

I'm interested in using ALE in my hybrid bacterial genome assembly pipeline that I am developing (https://github.com/gbouras13/hybracter) - Ryan Wick recommends it so that's as much of a tick of approval as it gets.

The issue is the way I manage dependencies in that workflow is with conda. And when you try and install ALE from conda, it simply doesn't work because the python dependencies for the plotting scripts are old enough that they have been removed from conda.

conda install -c bioconda ale==20180904
The following package could not be installed
└─ ale 20180904  is uninstallable because it requires
   └─ pymix  , which requires
      └─ matplotlib >=1.1.0,!=1.4.2,<1.5.0 , which does not exist (perhaps a missing channel).

The oldest matplotlib version is 1.5.0 (https://anaconda.org/conda-forge/matplotlib/files).

I'm not sure this is an easy solvable problem in the conda ecosystem.

In any case, I don't need the plotting in my workflow - just the ALE score which works once compiled. And I'm sure others might be the same

Accordingly, I was thinking of putting ale-core on conda with just ALE without plotting functionality?

Let me know if that is ok (or you have any objections!)

Kind regards,

George

sc932 commented 1 year ago

Thanks for the kind words! I'm glad you're getting value out of it. I haven't updated this meaningfully since grad school, so I'm glad it's functional at all!

Please feel free to put a core version on conda, or submit a pull request here to pull out pymix etc.

I do see that old matplotlib is still in pypi, so that may also be a workaround: https://pypi.org/project/matplotlib/#history

Cheers, Scott

gbouras13 commented 1 year ago

@sc932 shows how good a job you did! - the C code compiles and works like a charm so many years later.

I'll let you know here how I go.

George

sc932 commented 1 year ago

Thanks! I love C for that, too bad python packages can't be as stable.

You may be able to bundle the matplotlib code into this repo too, it seems to have a permissive license.

Thanks again for your help. Let me know if I can ever return the favor.

-Scott

gbouras13 commented 1 year ago

No problem thanks are to you Scott!

Just to finish this off, ALE without the plotting functionality is available on bioconda as ale-core.

https://github.com/bioconda/bioconda-recipes/pull/42998

conda install -c bioconda ale-core
ALE -h

Welcome to the Assembly Likelihood Estimator!
(C) 2010 Scott Clark

Usage: ALE [-options] alignments.[s|b]am assembly.fasta[.gz] ALEoutput.txt

Options: <i>nt <f>loat <s>tring [default]
-h or --help    : print out this help
--kmer <f>      : Kmer depth for kmer stats [4]
--qOff <i>      : Quality ascii offset (illumina) [33] or 64 (or 0)
--pl <s>        : placementOutputBAM
--pm <s>        : library parameter file (auto outputs .param)
--nout          : only output meta information (no per base) [off]
--minLL         : the minimum log Likelihood (-120)
--metagenome    : Evaluate each contig independently for depth & kmer metrics
--realign[=matchScore,misMatchPenalty,gapOpenPenalty,gapExtPenalty,minimumSoftClip (default: 1,3,11,4,8) ]
                   Realign reads with Striped-Smith-Waterman honoring ambiguous reference bases
                   and stacking homo-polymer indels
                   for PacBio, try --realign=1,5,2,1,20 (similar to BWA-SW recommendations)
--SNPreport <s> : Creates a new text file reporting all SNP phasing 
                   observed by a read against ambiguous bases in the reference
--minQual <i>   : Minimum quality score to use in Z-normalization (default 3).
                   Illumina quality scores can be unreliable below this threshold

George

sc932 commented 1 year ago

Great, thanks! I'll close the issue.

@alexreg, I see the docs have moved over to NERSC. Can you update them with this option?

-Scott

alexreg commented 1 year ago

@sc932 Did you mean to tag me?

sc932 commented 1 year ago

Sorry @alexreg , I meant to tag @robegan21 , in case someone still has access to NERSC docs edit rights.