Hi Mădălin,
> * gnu/packages/bioinformatics.scm (python-bioframe): New variable.
Thanks for the patch.
Despite all the test inputs the test suite is not actually run:
--8<---------------cut here---------------start------------->8---
starting phase `check'
running "python setup.py" with command "test" and parameters ()
running test
running egg_info
writing bioframe.egg-info/PKG-INFO
writing dependency_links to bioframe.egg-info/dependency_links.txt
writing requirements to bioframe.egg-info/requires.txt
writing top-level names to bioframe.egg-info/top_level.txt
reading manifest file 'bioframe.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '__pycache__/*' found anywhere in distribution
warning: no previously-included files matching '*.so' found anywhere in distribution
warning: no previously-included files matching '*.pyd' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '.git*' found anywhere in distribution
warning: no previously-included files matching '.deps/*' found anywhere in distribution
warning: no previously-included files matching '.DS_Store' found anywhere in distribution
writing manifest file 'bioframe.egg-info/SOURCES.txt'
running build_ext
/tmp/guix-build-python-bioframe-0.2.0.drv-0/source/bioframe/io/dask.py:47: NumbaWarning:
Compilation is falling back to object mode WITH looplifting enabled because Function "reg2bins" failed type inference due to: No conversion from list(int64)<iv=None> to int32 for '$262return_value.1', defined at None
File "bioframe/io/dask.py", line 79:
def reg2bins(rbeg, rend):
<source elided>
return lst
^
During: typing of assignment at /tmp/guix-build-python-bioframe-0.2.0.drv-0/source/bioframe/io/dask.py (79)
File "bioframe/io/dask.py", line 79:
def reg2bins(rbeg, rend):
<source elided>
return lst
^
@numba.jit("int32(int32, int32)")
/tmp/guix-build-python-bioframe-0.2.0.drv-0/source/bioframe/io/dask.py:47: NumbaWarning:
Compilation is falling back to object mode WITHOUT looplifting enabled because Function "reg2bins" failed type inference due to: cannot determine Numba type of <class 'numba.core.dispatcher.LiftedLoop'>
File "bioframe/io/dask.py", line 59:
def reg2bins(rbeg, rend):
<source elided>
k = 9 + (rbeg >> 23)
^
@numba.jit("int32(int32, int32)")
/gnu/store/sm6k3ar46q11w77s7cc2q1hv33q8p3v0-python-numba-0.51.2/lib/python3.8/site-packages/numba/core/object_mode_passes.py:177: NumbaWarning: Function "reg2bins" was compiled in object mode without forceobj=True, but has lifted loops.
File "bioframe/io/dask.py", line 50:
def reg2bins(rbeg, rend):
<source elided>
MAX_BIN = ((1 << 18) - 1) // 7
^
warnings.warn(errors.NumbaWarning(warn_msg,
/gnu/store/sm6k3ar46q11w77s7cc2q1hv33q8p3v0-python-numba-0.51.2/lib/python3.8/site-packages/numba/core/object_mode_passes.py:187: NumbaDeprecationWarning:
Fall-back from the nopython compilation path to the object mode compilation path has been detected, this is deprecated behaviour.
For more information visit
https://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit
File "bioframe/io/dask.py", line 50:
def reg2bins(rbeg, rend):
<source elided>
MAX_BIN = ((1 << 18) - 1) // 7
^
warnings.warn(errors.NumbaDeprecationWarning(msg,
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
phase `check' succeeded after 3.1 seconds
--8<---------------cut here---------------end--------------->8---
I made a couple of cosmestic changes:
--8<---------------cut here---------------start------------->8---
(define-public python-bioframe
(package
(name "python-bioframe")
(version "0.2.0")
;; Sources on pypi do not contain requirements.txt
(source
(origin
(method git-fetch)
(uri (git-reference
(url "
https://github.com/open2c/bioframe")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0w5xrb93cf3hx3d1lw48a0l1ranghpj260b05b1rpk58wwwcsqfh"))))
(build-system python-build-system)
(propagated-inputs
`(("python-click" ,python-click)
("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-requests" ,python-requests)))
(native-inputs
`(("python-dask" ,python-dask) ; for tests
("python-matplotlib" ,python-matplotlib) ; for tests
("python-numba" ,python-numba) ; for tests
("python-pypairix" ,python-pypairix) ; for tests
("python-pytest" ,python-pytest)
("python-wheel" ,python-wheel)))
(home-page "
https://github.com/open2c/bioframe")
(synopsis "Framework for genomic data analysis using Pandas dataframes")
(description
"This package is a library to enable flexible and scalable operations on
genomic interval dataframes in Python. @code{python-bioframe} enables access;
to a rich set of dataframe operations. Working in Python enables rapid
visualization (e.g. matplotlib, seaborn) and iteration of genomic analyses.")
(license license:expat)))
--8<---------------cut here---------------end--------------->8---
Please note that the lack of requirements.txt on pypi shouldn’t be an
obstacle to use the sources from pypi. It should build just as well.
--
Ricardo