Rate This Document
Findability
Accuracy
Completeness
Readability

Compilation and Installation

Procedure

  1. Use PuTTY to log in to the server as the root user.
  2. Go to the installation directory and decompress the installation package.
    cd /path/to/PLATANUS && tar -zxf Platanus_v1.2.4.tar.gz && cd Platanus_v1.2.4
  3. Modify the Makefile file.
    1. Open Makefile.
      vi Makefile
    2. Press i to enter the insert mode and edit lines 1 and 2.

      Before the modification:

      1 CXX = g++
      2 CXXFLAGS = -std=c++0x -O3 -funroll-loops -Wall -fopenmp -finline-limit-50000 -lm -Dnullptr=0

      After the modification:

      1 CXX = clang++
      2 CXXFLAGS = -std=c++0x -O3 -funroll-loops -Wall -fopenmp -lm -Dnullptr=0

      After performing 3.a, press Esc, type :set nu, and press Enter to display the line number.

    3. Press Esc, type :wq!, and press Enter to save the file and exit.
  4. Modify the counter.h file.
    1. Open counter.h.
      vi counter.h
    2. Press i to enter the insert mode and modify lines 426, 455, and 684.

      Before the modification:

      426             countKmerOrWriteTemporary(loopFlag, key, tmpOccurrenceTable, unmappedFP, lock, kmer);
      455 inline void Counter<KMER>::countKmerOrWriteTemporary(bool &loopFlag, const typename KMER::keyType &key, DoubleHash<typename KMER::keyType, unsigned short> tmpOccurrenceTable[], FILE *unmappedFP, omp_lock_t lock[], const KMER &kmer, const unsigned iterateTimes=32)
      684 inline void Counter<KMER>::countKmerOrWriteTemporary(bool &loopFlag, const typename KMER::keyType &key, FILE *unmappedFP, omp_lock_t lock[], const KMER &kmer, const unsigned iterateTimes=32)

      After the modification:

      426             countKmerOrWriteTemporary(loopFlag, key, tmpOccurrenceTable, unmappedFP, lock, kmer, 32);
      455 inline void Counter<KMER>::countKmerOrWriteTemporary(bool &loopFlag, const typename KMER::keyType &key, DoubleHash<typename KMER::keyType, unsigned short> tmpOccurrenceTable[], FILE *unmappedFP, omp_lock_t lock[], const KMER &kmer, const unsigned iterateTimes)
      684 inline void Counter<KMER>::countKmerOrWriteTemporary(bool &loopFlag, const typename KMER::keyType &key, FILE *unmappedFP, omp_lock_t lock[], const KMER &kmer, const unsigned iterateTimes)

      After performing 4.a, press Esc, type :set nu, and press Enter to display the line number.

    3. Press Esc, type :wq!, and press Enter to save the file and exit.
  5. Modify the graph.h file.
    1. Open graph.h.
      vi graph.h
    2. Press i to enter the insert mode and modify line 1764.

      Before the modification:

      1764 void BruijnGraph<KMER>::cutBranchIterative(const unsigned long long numThread=1)

      After the modification:

      1764 void BruijnGraph<KMER>::cutBranchIterative(const unsigned long long numThread)

      After performing 5.a, press Esc, type :set nu, and press Enter to display the line number.

    3. Press Esc, type :wq!, and press Enter to save the file and exit.
  6. Modify the scaffoldGraph.cpp file.
    1. Open scaffoldGraph.cpp.
      vi scaffoldGraph.cpp
    2. Press i to enter the insert mode and modify line 2280.

      Before the modification:

      2280             if (abs(insertLength - averageInsSize) > tolerence) continue;

      After the modification:

      2280             if (std::fabs(insertLength - averageInsSize) > tolerence) continue;

      After performing 6.a, press Esc, type :set nu, and press Enter to display the line number.

    3. Press Esc, type :wq!, and press Enter to save the file and exit.
  7. Modify the baseCommand.cpp file.
    1. Open baseCommand.cpp.
      vi baseCommand.cpp
    2. Press i to enter the insert mode and modify line 175.

      Before the modification:

      175     for (;moveArgs != '\0'; ++moveArgs) {

      After the modification:

      175     for (;*moveArgs != '\0'; ++moveArgs) {

      After performing 7.a, press Esc, type :set nu, and press Enter to display the line number.

    3. Press Esc, type :wq!, and press Enter to save the file and exit.
  8. Compile and install Platanus.
    make