hillerlab / REforge

Regulatory Element Forward Genomics to associate transcription factor binding site divergence in regulatory elements with phenotypic differences between species
MIT License
8 stars 3 forks source link

Bioconda package for REforge #7

Open jayramr opened 1 year ago

jayramr commented 1 year ago

Hi Team,

I would need to make this REforge as a bioconda package.

Kindly let me know what are the prerequisities for doing this installation and steps. So i can prepare the staging environment and push to bioconda channel.

Thanks Jay

jayramr commented 1 year ago

@MichaelHiller Please check

MichaelHiller commented 1 year ago

REforge requires Stubb (with a patch) and newmat. Stubb (http://www.sinhalab.net/software) and newmat11 (http://www.robertnz.net/download.html) The installation is described in the README. Important is to patch Stubb, as REforge requires a slighly modified Stubb exectuable.

jayramr commented 1 year ago

Hi,

I'm getting an error

#cd lib/newmat/
#gmake -f nm_gnu.mak
g++ -O2 -Wall -c newmat6.cpp
newmat6.cpp: In member function ‘void CroutMatrix::operator=(const CroutMatrix&)’:
newmat6.cpp:431:13: error: ordered comparison of pointer with integer zero (‘int*’ and ‘int’)
  431 |    if (indx > 0) { delete [] indx; indx = 0; }
      |        ~~~~~^~~
gmake: *** [nm_gnu.mak:10: newmat6.o] Error 1

Kindly let me know the reason for this error.

Thanks Jay

MichaelHiller commented 1 year ago

This could be a compiler related issue. I haven't seen this error, but I'll ask Bjoern Langer who developed it.

jayramr commented 1 year ago

Thanks @MichaelHiller please update once you get any info

jayramr commented 1 year ago

I tested with compiler gcc/g++ version 10 worked perfectly. gcc/g++ 11 having issues.

Also the documentation for changing directory needed to be corrected. Below is the updated one

patch -p1 < ../../REforge/stubb.patch
cd lib/newmat/
gmake -f nm_gnu.mak
cd ../../
make
export PATH=$PATH:`pwd`/bin
cd ../../REforge/
export PATH=$PATH:`pwd`

Thanks Jay

MichaelHiller commented 1 year ago

Good point. This depends on where users install and download Stubb (either inside REforge or outside). I replaced these paths with /path/to/REforge now

MichaelHiller commented 1 year ago

Bjoern mentioned that "maybe the C++ standard changed within the 15 years that this problematic library that Stubb is using is old now and pointer vs integer comparisons used to be allowed but not anymore?"

We are not having gcc 11 on our system, but is there any indication that v11 is not backwards compatible?