为什么一个python报错不影响hisat2的运行呢
最近给学员新购置一台练习使用的云服务器,在上面测试我们的lncRNA-seq流程的时候,发现一个很有趣的现象。就是使用conda,如下所示创建LncRNA-seq的实战软件环境
conda create -n lncRNA
conda activate lncRNA
conda install -y -c bioconda hisat2 stringtie samtools fastp
得到的hisat2是最新版,如下:
/home/jmzeng/miniconda3/envs/lncRNA/bin/hisat2-align-s version 2.2.0
64-bit
Built on
Wed Mar 11 23:09:57 UTC 2020
Compiler: gcc version 7.3.0 (crosstool-NG 1.23.0.450-d54ae)
Options: -O3 -m64 -msse2 -funroll-loops -g3 -DPOPCNT_CAPABILITY -std=c++11
Sizeof {int, long, long long, void*, size_t, off_t}: {4, 8, 8, 8, 8, 8}
但是使用它把测序数据fastq文件比对到参考基因组的fasta文件的时候,发现运行日志里面有一个很有趣的报错:
Traceback (most recent call last):
File "/home/jmzeng/miniconda3/envs/lncRNA/bin/hisat2_read_statistics.py", line 210, in <module>
reads_stat(args.read_file, args.read_count)
File "/home/jmzeng/miniconda3/envs/lncRNA/bin/hisat2_read_statistics.py", line 168, in reads_stat
for id, seq in fstream:
File "/home/jmzeng/miniconda3/envs/lncRNA/bin/hisat2_read_statistics.py", line 44, in parser_FQ
if line[0] == '@':
IndexError: index out of range
很明显是python脚本,或者是版本问题?
但是尽管报错,并不影响比对过程的完整进行
我看了看以前服务器的hisat2版本:
/home/jmzeng/miniconda3/envs/rna/bin/hisat2-align-s version 2.1.0
64-bit
Built on
Wed Jun 7 15:53:42 EDT 2017
Compiler: gcc version 4.8.2 (GCC)
Options: -O3 -m64 -msse2 -funroll-loops -g3 -DPOPCNT_CAPABILITY
Sizeof {int, long, long long, void*, size_t, off_t}: {4, 8, 8, 8, 8, 8}
看起来,hisat2只是是一个小版本的改动,但是GCC的版本差异很大。
就是分享一下,既然不影响,我也懒得深究
可能是跟R语言一样,大部分警告,甚至有些报错都是可以容忍的!