Tutorial: Installation of the MuSiC suite on unsupported Linux distributions
23
gravatar for Cyriac Kandoth
4.6 years ago by
Cyriac Kandoth4.6k
Memorial Sloan Kettering, New York, USA
Cyriac Kandoth4.6k wrote:

Below are some instructions that may help get TGI's MuSiC suite of tools installed on various Linux distributions. But please keep in mind that we cannot test, troubleshoot, and package MuSiC on too many distributions because of the complex dependencies. And this is why we officially support only Ubuntu.

For the latest officially supported installation instructions, please visit this page.

Update (9/26/2016): Users familiar with docker should quit while you're ahead, and pull this image, based on the Ding lab's most recent MuSiC2. And this here is a better documented docker image based on the first release of MuSiC (v0.4.1)

Important: These step-by-step instructions tested successfully on the latest releases of these OSes as of Feb 2, 2013. If you are using a different version, or a different OS, then you will likely encounter error messages from a compiler, package manager, or cpanm. To minimize the noise on this thread, please _do not_ post your error messages if you are not familiar with compiling code, handling dependencies, or CPAN. But after you've taught yourself a bit, with a little googling, please _do_ post your solutions (as answers to this post) or fixes (as comments). Or suggest ways to generalize these instructions, so I won't have to update them as often. ;)

For Fedora, CentOS6 or RHEL6 users

Make sure you have access to EPEL, a repository with some packages we'll need:

sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo yum update -y

Install some packaged prerequisites, and their nested dependencies:

sudo yum install -y curl gcc make perl git samtools samtools-devel BEDTools R-core R-devel perl-devel expat-devel zlib-devel

Download and build tabix, and move it where locally compiled packages reside:

git clone https://github.com/samtools/tabix.git
cd tabix
make
sudo mv tabix bgzip /usr/local/bin/

Follow the latest online instructions to build and install joinx: https://github.com/genome/joinx

For Debian or Ubuntu users

Install some packaged prerequisites, and their nested dependencies:

sudo apt-get install curl gcc make perl git samtools libbam-dev bedtools r-base-core libexpat1-dev zlib1g-dev tabix

Download the latest joinx stable release, solve some build dependencies, and then build and install it:

git clone --recursive https://github.com/genome/joinx.git
sudo apt-get install build-essential cmake libbz2-dev libgtest-dev
cd joinx; git checkout v1.6.17;
mkdir build; cd build
cmake .. -DCMAKE_BUILD_TYPE=release
make deps; make
sudo make install

For all users

Download and build calcRoiCovg, and move it where locally compiled packages reside:

curl -LO https://github.com/samtools/samtools/archive/0.1.19.tar.gz
tar -zxf 0.1.19.tar.gz
export SAMDIR=$PWD/samtools-0.1.19
cd samtools-0.1.19
make; cd ..
git clone https://github.com/ding-lab/calc-roi-covg.git
cd calc-roi-covg; make
sudo mv calcRoiCovg /usr/local/bin/

Install some R packages that enable parallelization across cores:


curl -LO "http://cran.r-project.org/src/contrib/Archive/{multicore/multicore_0.2.tar.gz,iterators/iterators_1.0.7.tar.gz,foreach/foreach_1.4.2.tar.gz,doMC/doMC_1.3.3.tar.gz}"
sudo R CMD INSTALL multicore_0.2.tar.gz iterators_1.0.7.tar.gz foreach_1.4.2.tar.gz doMC_1.3.3.tar.gz

Download and install cpanminus (cpanm), for simpler installation of Perl modules:

curl -L http://cpanmin.us | sudo perl - --self-upgrade

Install some prerequisite Perl modules:

sudo `which cpanm` -n Text::CSV_XS Statistics::Distributions Statistics::Descriptive PDL PDL::Stats Module::Build Regexp::Common Time::HiRes IPC::Cmd LWP::Simple List::MoreUtils Set::Scalar Bit::Vector UR
sudo `which cpanm` -n http://apt.genome.wustl.edu/ubuntu/pool/main/g/genome/genome_0.80.1-3.tar.gz

Install MuSiC:

sudo `which cpanm` -n http://apt.genome.wustl.edu/ubuntu/pool/main/g/genome-music/genome-music_0.4.1-1.tar.gz

You should now be able to list all of MuSiC's available sub-commands using:

genome music --help

Datafiles and sample inputs

The datafiles used by MuSiC's cosmic-omim and pfam tools are downloadable from here. Sample ROI files for use with bmr calc-covg and bmr calc-bmr, can be found in the calc-roi-covg repo, and sample MAF files can be downloaded from the TCGA (but you should read this post first). If you don't have access to BAM files for bmr calc-covg, then you can use UCSC wiggle track files with bmr calc-wig-covg instead, downloadable from Broad's Firehose (look for tarballs containing the words "Mutation_Packager_Coverage")

ADD COMMENTlink modified 12 months ago • written 4.6 years ago by Cyriac Kandoth4.6k
2

Nice job, thanks for this.

ADD REPLYlink written 4.6 years ago by Neilfws47k
1

FYI there is a more recent docker available at https://github.com/readline/docker/tree/master/MuSiC , however it's outdated and it doesnt work.

I made my own version of this and committed it back to dockerhub

docker pull zayed/genomemusic

Will get the fully installed GenomeMUSIC to try out. I dont maintain this software just trying to help people get to use it.

ADD REPLYlink written 12 months ago by Zee20

Note that the lab has since released a MuSiC2, which is also dockerized here.

ADD REPLYlink written 12 months ago by Cyriac Kandoth4.6k

"`which cpanm`" is not required, "cpanm" is enough (bash will resolve this automatically)

ADD REPLYlink written 2.0 years ago by Michael Schubert6.7k

Note that installation of genome-1.80.1-3 fails on any machine with more than a single - (dash) in it's hostname.

I just tried on a server called xxxx-yyyy-head-node.fully.qual.domain.com and got this error:

Checking if you have IO::String 0 ... Yes (1.08)
Checking if you have Carp 0 ... Yes (1.26)
Checking if you have Getopt::Complete 0 ... Yes (0.26)
Checking if you have File::Temp 0 ... Yes (0.2304)
Checking if you have File::Basename 0 ... Yes (2.84)
Checking if you have Sys::Hostname 0 ... Yes (1.16)
Building and testing Genome-0.080001
Building Genome
failed to extract pod: : error in Genome::Site::com::domain::qual::fully::xxx-yyy-head-node: Bareword "head" not allowed while "strict subs" in use at (eval 203) line 1.
Bareword "node" not allowed while "strict subs" in use at (eval 203) line 1.

 at /root/.cpanm/work/1468555350.19019/genome-0.80.1/blib/lib/Genome/Site.pm line 24.
        Genome::Site::BEGIN() called at /root/.cpanm/work/1468555350.19019/genome-0.80.1/blib/lib/Genome/Site.pm line 36
        eval {...} called at /root/.cpanm/work/1468555350.19019/genome-0.80.1/blib/lib/Genome/Site.pm line 36
        require Genome/Site.pm called at blib/lib/Genome.pm line 24
        require Genome.pm called at blib/lib/Genome/Model/Tools.pm line 5
        Genome::Model::Tools::BEGIN() called at /root/.cpanm/work/1468555350.19019/genome-0.80.1/blib/lib/Genome/Site.pm line 36

I then tried it on a server with two dashes in it's hostname:

failed to extract pod: : error in Genome::Site::com::domain::qual::fully::xxx-yyy-utils: Bareword "utils" not allowed while "strict subs" in use at (eval 203) line 1.
ADD REPLYlink modified 14 months ago • written 14 months ago by datakid0

When I hand edit the code to get around this problem, the next issue I face is the following. This is all done on Centos 7 with cpan -l . "filename".

Writing cmd-bindoc/genome-model-tools-install-apt-get.pod
Writing cmd-bindoc/genome-model-tools-install-cpanm.pod
Writing cmd-bindoc/genome-model-tools-example1.pod
Writing cmd-bindoc/genome-model-tools-install.pod
Writing cmd-bindoc/genome-model-tools-example2.pod
Writing cmd-bindoc/genome-model-tools.pod
Use of uninitialized value $ENV{"GENOME_TEST_TEMP"} in string at t/Genome-Sys-copy_directory.t line 18.
create_directory for path /tmp/gm-genome_sys-2016-07-15_14_38_31--8AVT/anonymous0 failed:
Pathname 
General error: unable to map info to a gid, group ownership not changed
 at t/Genome-Sys-copy_directory.t line 21.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 2 just after 1.
t/Genome-Sys-copy_directory.t .. 
Dubious, test returned 2 (wstat 512, 0x200)
All 1 subtests passed 
Use of uninitialized value $ENV{"GENOME_TEST_TEMP"} in string at t/Genome-Sys-tar.t line 20.
create_directory for path /tmp/gm-genome_sys-2016-07-15_14_38_34--oK9k/anonymous0 failed:
Pathname 
General error: unable to map info to a gid, group ownership not changed
 at t/Genome-Sys-tar.t line 23.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 2 just after 1.
t/Genome-Sys-tar.t ............. 
Dubious, test returned 2 (wstat 512, 0x200)
All 1 subtests passed 
create_directory for path /tmp/gm-genome_sys-2016-07-15_14_38_36--AEQ1/foo failed:
Pathname 
General error: unable to map info to a gid, group ownership not changed
 at t/Genome-Sys.t line 14.
t/Genome-Sys.t ................. 
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run 
t/Genome.t ..................... ok
RUN: cat /tmp/shellcmd1.test /tmp/shellcmd2.test> /dev/null
RUN: cat /tmp/shellcmd1.test /tmp/shellcmd2.test> /dev/null
t/shellcmd.t ................... ok
Test Summary Report
-------------------
t/Genome-Sys-copy_directory.t (Wstat: 512 Tests: 1 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/Genome-Sys-tar.t           (Wstat: 512 Tests: 1 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/Genome-Sys.t               (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
Files=5, Tests=9, 12 wallclock secs ( 0.03 usr  0.03 sys +  2.42 cusr  0.99 csys =  3.47 CPU)
Result: FAIL
Failed 3/5 test programs. 0/9 subtests failed.
-> FAIL Installing ../../../source/genome-music/genome_0.80.1-3.tar.gz failed. See /root/.cpanm/work/1468557504.4735/build.log for details. Retry with --force to force install it.
ADD REPLYlink written 14 months ago by datakid0
1
gravatar for fcaramia
4.0 years ago by
fcaramia30
Australia
fcaramia30 wrote:

The following steps will fail due to changes in samtools:

git clone https://github.com/samtools/samtools.git
export SAMDIR=$PWD/samtools
git clone https://github.com/ding-lab/calc-roi-covg.git
cd calc-roi-covg
make
sudo mv calcRoiCovg /usr/local/bin/

Use version 0.1.18: http://sourceforge.net/projects/samtools/files/samtools/0.1.18/

tar jxf samtools-0.1.18.tar.bz2
mv samtools-0.1.18 samtools
export SAMDIR=$PWD/samtools
git clone https://github.com/ding-lab/calc-roi-covg.git
cd calc-roi-covg
make
sudo mv calcRoiCovg /usr/local/bin/

Thanks,

ADD COMMENTlink written 4.0 years ago by fcaramia30

Thanks, I updated the original post with samtools-0.1.19

ADD REPLYlink written 4.0 years ago by Cyriac Kandoth4.6k

Not sure what to do with this error even with samtools-0.1.18 bash-4.1$ make gcc -g -Wall -O2 -I/local_home/vyellapantula/local/downloads/calc-roi-covg/samtools calcRoiCovg.c -o calcRoiCovg -L/local_home/vyellapantula/local/downloads/calc-roi-covg/samtools -lbam -lm -lz /local_home/vyellapantula/local/downloads/calc-roi-covg/samtools/libbam.a(bam_import.o): In function __bam_get_lines': /local_home/vyellapantula/local/downloads/calc-roi-covg/samtools-0.1.18/bam_import.c:76: undefined reference togzopen64' /local_home/vyellapantula/local/downloads/calc-roi-covg/samtools/libbam.a(bam_import.o): In function sam_open': /local_home/vyellapantula/local/downloads/calc-roi-covg/samtools-0.1.18/bam_import.c:468: undefined reference togzopen64' /local_home/vyellapantula/local/downloads/calc-roi-covg/samtools/libbam.a(bam_import.o): In function sam_header_read2': /local_home/vyellapantula/local/downloads/calc-roi-covg/samtools-0.1.18/bam_import.c:126: undefined reference togzopen64' collect2: ld returned 1 exit status make: * [all] Error 1

ADD REPLYlink written 3.6 years ago by y.divyatej10

The part of your error to pay attention to is undefined reference to gzopen64. If you google for gzopen64, you'll find forums with other people who had the same error, and the libraries they installed to fix the error.

ADD REPLYlink written 3.6 years ago by Cyriac Kandoth4.6k

Curl downloading the R packages for parallelization fails because the packages have either been replaced by a new package (parallel replacing multicore) or the current CRAN version for the package is newer. If you want the exact versions mentioned in the install instructions, you need to install from the CRAN archive.

curl -LO "http://cran.r-project.org/src/contrib/Archive/{multicore/multicore_0.2.tar.gz,iterators/iterators_1.0.7.tar.gz,foreach/foreach_1.4.2.tar.gz,doMC/doMC_1.3.3.tar.gz}"
ADD REPLYlink written 18 months ago by Collin390

Resolved this in Ubuntu with

sudo apt-get install -y r-cran-domc
ADD REPLYlink written 12 months ago by Zee20

Thank you both. I've updated the tutorial to use the new URLs of the R tarballs.

ADD REPLYlink written 12 months ago by Cyriac Kandoth4.6k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 696 users visited in the last hour