为什么一个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语言一样,大部分警告,甚至有些报错都是可以容忍的!

文末友情宣传

强烈建议你推荐给身边的博士后以及年轻生物学PI,多一点数据认知,让他们的科研上一个台阶:

Comments are closed.