Compilation and Installation
Procedure
- Use PuTTY to log in to the server as the root user.
- 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
- Modify the Makefile file.
- Open Makefile.
vi Makefile
- 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
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Open Makefile.
- Modify the counter.h file.
- Open counter.h.
vi counter.h
- 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)
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Open counter.h.
- Modify the graph.h file.
- Open graph.h.
vi graph.h
- 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)
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Open graph.h.
- Modify the scaffoldGraph.cpp file.
- Open scaffoldGraph.cpp.
vi scaffoldGraph.cpp
- 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;
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Open scaffoldGraph.cpp.
- Modify the baseCommand.cpp file.
- Compile and install Platanus.
make
Parent topic: Platanus 1.2.4 Porting Guide (openEuler 20.03)
