为什么一个python报错不影响hisat2的运行呢

2020-03-17 16:14:36 浏览数 (1)

最近给学员新购置一台练习使用的云服务器,在上面测试我们的lncRNA-seq流程的时候,发现一个很有趣的现象。就是使用conda,如下所示创建LncRNA-seq的实战软件环境

代码语言:javascript复制
conda create -n lncRNA 
conda activate lncRNA 
conda install -y -c  bioconda hisat2 stringtie samtools fastp 

得到的hisat2是最新版,如下:

代码语言:javascript复制
/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文件的时候,发现运行日志里面有一个很有趣的报错:

代码语言:javascript复制
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版本:

代码语言:javascript复制
/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语言一样,大部分警告,甚至有些报错都是可以容忍的!

0 人点赞