Tutorial:Installation of the MuSiC suite on unsupported Linux distributions
1
26
Entering edit mode
11.2 years ago

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")

genome-music linux smg • 16k views
ADD COMMENT
2
Entering edit mode

Nice job, thanks for this.

ADD REPLY
1
Entering edit mode

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 REPLY
0
Entering edit mode

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

ADD REPLY
0
Entering edit mode

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

ADD REPLY
0
Entering edit mode

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 REPLY
0
Entering edit mode

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 REPLY
0
Entering edit mode

Hi Cyriac, Could you please provide a link to download the KEGG file in the format accepted by Music/Music2.

thanks !

ADD REPLY
1
Entering edit mode
10.5 years ago
fcaramia ▴ 30

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

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 COMMENT
0
Entering edit mode

Thanks, I updated the original post with samtools-0.1.19

ADD REPLY
0
Entering edit mode

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 to `gzopen64'
/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 to `gzopen64'
/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 to `gzopen64'
collect2: ld returned 1 exit status
make: *** [all] Error 1
ADD REPLY
0
Entering edit mode

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 REPLY
0
Entering edit mode

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 REPLY
0
Entering edit mode

Resolved this in Ubuntu with

sudo apt-get install -y r-cran-domc
ADD REPLY
0
Entering edit mode

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

ADD REPLY

Login before adding your answer.

Traffic: 2672 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6