LiChenPU / NetID

A global network optimization approach for untargeted LC-MS metabolomics data annotation and metabolite discovery
GNU General Public License v3.0
43 stars 24 forks source link

Question: Is there an easy way to install NetID on LInux #4

Open adelabriere opened 2 years ago

adelabriere commented 2 years ago

Hi, is there an easy way to install NetID on Linux, for example a container, notably to run it on an HPC cluster ? I am trying to find a way but it is actually quite complex given the number of moving part.

LiChenPU commented 2 years ago

Hi Alexis C Running NetID on a cluster is something I am very interested in. Installing the optimization module from IBM, namely CPLEX, in a cluster is difficult to me, with both technical and possible license issues. I did once manage run the codes before optimization, but I had to save the intermediate file, move it back to my own computer, and perform optimization. Happy to discuss how to make a container for the algorithm and hopefully we can run it on a cluster in the future.

发件人: @. @.> 代表 Alexis Delabriere 发送时间: Thursday, November 18, 2021 5:55 PM 收件人: LiChenPU/NetID @.> 抄送: Subscribed @.> 主题: [LiChenPU/NetID] Question: Is there an easy way to install NetID on LInux (Issue #4)

Hi, is there an easy way to install NetID on Linux, for example a container, notably to run it on an HPC cluster ? I am trying to find a way but it is actually quite complex given the number of moving part.

― You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/LiChenPU/NetID/issues/4 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AIN7EZCH7CZS6QOHG7W7EZDUM TEQJANCNFSM5IJFQBOQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&m t=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=u tm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .

alienzj commented 2 years ago

To be honest, I also meet this problem on linux. But I thinks we should to read the README of cplexAPI directly:

https://github.com/cran/cplexAPI/blob/master/inst/INSTALL#L21

Bellow the command line can work on my linux machine.

R CMD INSTALL --configure-args="  \ 
 --with-cplex-lib='/usr/lib' \ 
 --with-cplex-include='/usr/include' \ 
 --with-cplex-link='-lcplex -m64 -lm -pthread' \ 
 --with-cplex-cflags='-m64 -fPIC'" \ 
 cplexAPI_1.4.0.tar.gz

Hope it can help others.

alienzj commented 2 years ago

For CPLEX installation on linux, if you use archlinux, there a PKGBUILD (bash script) to build the package, then we can use system-level package manager (pacman) to install it.

Similarly, this method is suitable for ubuntu, centos and other system.

I can help you if you have any problem in installing it on linux.

alienzj commented 2 years ago

So the full process is:

  1. Download cplex manually at IBM website, assume we have downloaded it, and the file name is: ILOG_COS_20.10_LINUX_X86_64.bin

  2. Then at archlinux, you can run:

    
    pacman -G cplex
    cd cplex
    cp /path/to/ILOG_COS_20.10_LINUX_X86_64.bin ./

makepkg -s -f -m

sudo pacman -U cplex-20.10-2-x86_64.pkg.tar.xz


3. Install cplexAPI:
```{bash}
R CMD INSTALL --configure-args="  \ 
 --with-cplex-lib='/usr/lib' \ 
 --with-cplex-include='/usr/include' \ 
 --with-cplex-link='-lcplex -m64 -lm -pthread' \ 
 --with-cplex-cflags='-m64 -fPIC'" \ 
 cplexAPI_1.4.0.tar.gz
alienzj commented 2 years ago

Download file:

image

alienzj commented 2 years ago

Install process: image

alienzj commented 2 years ago

image