Edit this page | Blame

GN1 Pairscan

Pair scan is not working because of an import issue.

Here is the error I get trying to run pair-scan.
Traceback (most recent call last):
File "/gnshare/gn/web/webqtl/cmdLine/webqtlCmdLine.py", line 79, in ?
from pairScan import DirectPlotPage
File "/gnshare/gn/web/webqtl/cmdLine/../pairScan/DirectPlotPage.py", line 32,
in ?
import direct
ImportError: No module named direct



Where 'direct' is an imported module. Interestingly it looks like we import the wrong one!

I plugged in the direct.so binary blob and set the LD_LIBRARY_PATH. That gets it running, but we need the source code for the future(!)

Efraim included the module and wrote

from the traceback it looks like it's in production.

from my gn1-python24-site-packages folder from lily there's a direct.so{,.bak} file so I'll start hunting around to see what I can make of it.

and a fix in guix-bioinformatics:

gn: Add python24-direct

it is not on Tux01, so let's update from

guix-past 4f5856f85578a04991dc646a06279d51f85973bf
guix-bioinformatics b08410a9944e677ef71267410b235ba869f3935f


gn1@tux01:~$ ~/opt/guix/bin/guix --version
guix (GNU Guix) 1.2.0-12.dffc918

First update guix with

gn1@tux01:~$ ~/opt/guix/bin/guix pull -p ~/opt/guix-latest

followed by the git repos above.

The error changed into

Traceback (most recent call last):
  File "/gnshare/gn/web/webqtl/cmdLine/webqtlCmdLine.py", line 81, in ?
    page = DirectPlotPage.DirectPlotPage(fd)
  File "/gnshare/gn/web/webqtl/cmdLine/../pairScan/DirectPlotPage.py", line 141, in __init__
    ResultFull, ResultInteract, ResultAdd = direct.permu(webqtlConfig.GENODIR, _vals, _strains, genofile + ".geno", 500) #XZ, 08/14/2008: add module name webqtlConfig
AttributeError: 'module' object has no attribute 'permu'

Turns out we are using the wrong direct.so. I made it work by adding the binary blob with LD_LIBRARY_PATH (also required libstdc++.so.6)

I just fixed pairscan with a bad hack. You can enjoy the production machine. Note it will disappear on a restart right now of GN1. Efraim, it works if direct.so and libstdc++.so.6 are visible. Maybe you can add the binary blob to GN1 and we pray it keeps working?

With gn1.genenetwork.org test by selecting the hippocampus dataset, look for 'shh' gene, click 'pair scan' on the mapping page and 'compute'.

Update from Efraim

I have copied the previous version of direct.so to IPFS, it is available at QmYUZiuAP6DJeubu69JqvRWSsn53qCZCS3FkRWgTowtWkA. Note that it is direct.so itself. As of commit

gn: Use known good binary version of direct.so for genenetwork1

we are now using that for genenetwork1. Patchelf makes it refer to the correct libstdc++.so.6 (namely one provided by Guix) so we don't need to worry about it being specifically propagated. I'm having trouble actually running the genenetwork1 container so Pjotr said he'd test it out.

(made with skribilo)