EI-CoreBioinformatics / mikado

Mikado is a lightweight Python3 pipeline whose purpose is to facilitate the identification of expressed loci from RNA-Seq data * and to select the best models in each locus.
https://mikado.readthedocs.io/en/stable/
GNU Lesser General Public License v3.0
94 stars 18 forks source link

Is python 3.5 and pip3.5 absolutely necessary ? #95

Closed colindaven closed 7 years ago

colindaven commented 7 years ago

We only have Python 3.4 on our servers at present.

Thanks, Colin

maplesond commented 7 years ago

Hi Colin,

Luca's away travelling at the moment, and may not have wifi for a while, so I thought I'd chip in.

I'm not 100% sure if mikado requires 3.5 or whether it can run on 3.4 given some encouragment but in general it should be possible to have multiple python installs on your system simultaneously providing you build python 3.5 from source (I'd recommend using anaconda3 as it will have most of the packages you require pre-configured), see http://unix.stackexchange.com/questions/2502/using-different-versions-of-python

Hope that helps for now, maybe Luca can help further when he's available.

Cheers, Dan

colindaven commented 7 years ago

Thanks Dan.

We did get it installed, not sure if it will run through the test data successfully though.

Colin

lucventurini commented 7 years ago

Hi Colin, sorry for the delay in replying but I just got back from my holidays. Short version, after some tests I think there is some problem in how Nose is dealing with the tests, rather than on Mikado code per se.

Would you be able to confirm that

python3 setup.py test

performs 237 tests correctly, while

python3 setup.py nosetests

dies with errors such as "nose.proxy.AttributeError: 'NoneType' object has no attribute 'context'"?

Thanks

Luca

colindaven commented 7 years ago

Hi Luca,

thanks for your comments.

Tests - we got it installed via a venv by the way.

python3 setup.py test


Ran 237 tests in 9.573s

OK Traceback (most recent call last): File "/usr/lib/python3.4/multiprocessing/process.py", line 254, in _bootstrap self.run() File "/usr/lib/python3.4/multiprocessing/process.py", line 93, in run self._target(_self._args, *_self._kwargs) File "/usr/lib/python3.4/multiprocessing/managers.py", line 525, in _run_server server.serve_forever() File "/usr/lib/python3.4/multiprocessing/managers.py", line 167, in serve_forever sys.exit(0) SystemExit: 0

(then a following NFS write error, probably due to our filesystem)

There were some more problems with the nosetests, but no proxy errors seemed to occur in the nosetests.

python3 setup.py nosetests

File "/usr/lib/python3.4/traceback.py", line 125, in _iter_chain context = exc.context AttributeError: 'NoneType' object has no attribute 'context'


Ran 236 tests in 10.908s

FAILED (errors=4) Traceback (most recent call last): File "/usr/lib/python3.4/multiprocessing/process.py", line 254, in _bootstrap self.run() File "/usr/lib/python3.4/multiprocessing/process.py", line 93, in run self._target(_self._args, *_self._kwargs) File "/usr/lib/python3.4/multiprocessing/managers.py", line 525, in _run_server server.serve_forever() File "/usr/lib/python3.4/multiprocessing/managers.py", line 167, in serve_forever sys.exit(0) SystemExit: 0

I have been using mikado and am up to the serialize step.

I think I have to actually generate transdecoder ORFs for the transcripts, but have not done so yet.

When I get a chance I will get back to you on this if generating the ORFs does not solve the cryptic error I had.

Thanks, Colin

lucventurini commented 7 years ago

Hi Colin, yes, TransDecoder is pretty much central to Mikado (either that or an equivalent software to find ORFs, although I am not aware of any currently).

I suggest to use the Daijin pipeline, developed by Daniel, to guide the steps. You can find a tutorial and more detailed instructions in this section of the documentation: http://mikado.readthedocs.io/en/latest/Tutorial/Daijin_tutorial.html?highlight=daijin

As for the original issue, I will try to pinpoint the cause of the nosetests errors.

Cheers

lucventurini commented 7 years ago

Hi Colin, Nosetests now function also for version 3.4. Please note that due to some bugs in Python3.4 (which I have not been able to fully track down), Daijin is available for Python3.5 ONLY. Nosetests will be skipped for that part.

Cheers