FASTX-Toolkit安装
The FASTX-Toolkit is a collection of command line tools for Short-Reads FASTA/FASTQ files preprocessing.
FASTX-Toolkit是用于快速读取FASTA/FASTQ文件预处理的命令行工具的集合。
FASTX-Toolkit主页: http://hannonlab.cshl.edu/fastx_toolkit/
下载地址: http://cancan.cshl.edu/labmembers/gordon/fastx_toolkit/download.html
安装说明与下载: http://cancan.cshl.edu/labmembers/gordon/fastx_toolkit/download.html
1.安装过程
软件依赖于libgtextutils,先安装libgtextutils再安装fastx-toolkit
安装时采用普通用户user01身份
(1)安装libgtextutils
wget https://github.com/agordon/libgtextutils/releases/download/0.7/libgtextutils-0.7.tar.gz
tar xvf libgtextutils-0.7.tar.gz
cd libgtextutils-0.7
./configure --prefix=/home/user01/apps/libgtextutils-0.7
make
make install
*加载环境变量,再安装fastx-toolkit*
export PKG_CONFIG_PATH=/home/user01/apps/libgtextutils-0.7/lib/pkgconfig:$PKG_CONFIG_PATH
(2)安装fastx-toolkit
wget https://github.com/agordon/fastx_toolkit/releases/download/0.0.14/fastx_toolkit-0.0.14.tar.bz2
tar xvf fastx_toolkit-0.0.14.tar.bz2
cd fastx_toolkit-0.0.14
./configure --prefix=/home/user01/apps/fastx_toolkit-0.0.14
make
make install
2.安装结果
[user01@node01 fastx_toolkit-0.0.14]$ pwd
/home/user01/apps/fastx_toolkit-0.0.14
[user01@node01 fastx_toolkit-0.0.14]$ ls
bin share
[user01@node01 fastx_toolkit-0.0.14]$ ls bin/
fasta_clipping_histogram.pl fastq_quality_converter fastx_barcode_splitter.pl fastx_quality_stats
fasta_formatter fastq_quality_filter fastx_clipper fastx_renamer
fasta_nucleotide_changer fastq_quality_trimmer fastx_collapser fastx_reverse_complement
fastq_masker fastq_to_fasta fastx_nucleotide_distribution_graph.sh fastx_trimmer
fastq_quality_boxplot_graph.sh fastx_artifacts_filter fastx_nucleotide_distribution_line_graph.sh fastx_uncollapser
3.安装报错
报错1.配置fastx_toolkit时报错
checking for GTEXTUTILS... configure: error: Package requirements (gtextutils) were not met:
No package 'gtextutils' found
解决方法:加载libgtextutils环境变量
export PKG_CONFIG_PATH=/home/user01/apps/libgtextutils-0.7/lib/pkgconfig:$PKG_CONFIG_PATH
报错2.编译fastx_toolkit时报错
/usr/bin/ld: fastx.o: access beyond end of merged section (2084)
/usr/bin/ld: fastx.o: access beyond end of merged section (2084)
/usr/bin/ld: ../libfastx/libfastx.a(fastx.o)(.debug_info+0x896): reloc against `.text': error 2
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[3]: *** [fastx_clipper] Error 1
make[3]: Leaving directory `/home/user01/software/fastx_toolkit-0.0.14/src/fastx_clipper'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/user01/software/fastx_toolkit-0.0.14/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/user01/software/fastx_toolkit-0.0.14'
make: *** [all] Error 2
解决办法:make时设置了多线程,改为单线程安装即可。
报错3.编译libgtextutils-0.7时报错
text_line_reader.cpp: In member function 'bool TextLineReader::next_line()':
text_line_reader.cpp:47:9: error: cannot convert 'std::istream {aka std::basic_istream<char>}' to 'bool' in return
return input_stream ;
^~~~~~~~~~~~
make[3]: *** [text_line_reader.lo] Error 1
解决方法:
a.网上提供了修改src/gtextutils/text_line_reader.cpp文件,将return input_stream ;修改为return input_stream.good() ;
此方法可以解决,并可成功安装,但是在此基础上,安装fastx-toolkit,会报错undefined reference to `InputStreamWrapper::InputStreamWrapper(std::__cxx11::basic_string<char, std:
b.编译时使用的gcc是7.3版本的,将其换成系统的4.8.5版本后,可以正常编译两个软件(此次采用的是这个方法)