问题与解决

Posted by Icey的博客 on September 18, 2019

layout: post title: 问题与解决 subtitle:
date: 2019-09-18 author: 琼脂糖 header-img: img/post-bg-re-vs-ng2.jpg catalog: true tags: - debug —

记录日常遇到的bug和debug。

9月

9.30 找不到pyh模块

可以import的模块查找路径

import numpy
print(numpy.__file__)
#/local_data1/software/python/python-v2.7.9/lib/python2.7/site-packages/numpy/__init__.pyc
find /  -type f -name "pyh.pyc" 2>/dev/null
find /  -type d -name "pyh" 2>/dev/null

9.20 annovar报错

/local_data1/work/xiaosiwei/software/annovar/gtfToGenePred -genePredExt species.gtf species_refGene.txt

Error: exonFrames field is being added, but I found a gene (orf00001-1) with CDS but no valid frames. This can happen if program is invoked with -genePredExt but no valid frames are given in the file. If the 8th field of GFF/GTF file is always a placeholder, then don’t use -genePredExt.

去掉参数genePredExt 不报错了

感觉是因为分析基因组是微生物,没有外显子,所以也没有exonFrames。

9.20 gffread输出为空

总结:重装gffread,用自己目录下的gffread。并修改gff 删除一列。不需要-g参数

/local_data1/work/liyubing/software/gffread/gffread /local_data1/work/liyubing/test/salmonella_gene.gff  -g ../../00.prepare/salmonella.fa -T -o test.gtf

加上了参考基因组,报错

Warning: invalid start coordinate at line: eqname source feature start end score +/- frame attribute Error: invalid feature coordinates (end<start!) at line: chr1 Glimmer CDS 5015202 315 . - 3 ID=orf06910-5041;

这行因为环状DNA,所以end>start。将这行删除。可以得到gtf文件啦。

9.17 res节点circos报错

missing GD::Polyline error Attempt to reload GD.pm aborted.Compilation failed in require at /home/liyubing/perl5/lib/perl5/x86_64-linux-thread-multi/GD/Polyline.pm line 45. missing GD error Can’t load ‘/home/liyubing/perl5/lib/perl5/x86_64-linux-thread-multi/auto/GD/GD.so’ for module GD: libXpm.so.4: cannot open shared object file: No such file or directory at /local_data1/software/perl/perl-v5.28.0/lib/5.28.0/x86_64-linux-thread-multi/DynaLoader.pm line 193. at (eval 29) line 1.Compilation failed in require at (eval 29) line 1.

9.17 snakemake模块找不到

想使用qsub.py里面要import snakemake。结果报错 import snakemake (no module found)

找到snakemake包位置

/local_data1/work/liyubing/software/anaconda3/pkgs/snakemake-minimal-5.5.4-py_2/site-packages/

snakemake文件夹 里面有__init.py__.证明它是一个python模块。

将路径放入$PYTHONPATH中

9.17 snakemake 作图报错

snakemake --dag | dot -Tpdf > dag.pdf

Warning: Could not load "/local_data1/work/liyubing/software/anaconda3/lib/graphviz/libgvplugin_pango.so.6" - file not found
Warning: Could not load "/local_data1/work/liyubing/software/anaconda3/lib/graphviz/libgvplugin_pango.so.6" - file not found
Format: "pdf" not recognized. Use one of: bmp canon cmap cmapx cmapx_np dot eps fig gv ico imap imap_np ismap jpe jpeg jpg pdf pic plain plain-ext png pov ps ps2 svg svgz tif tiff tk vml vmlz xdot xdot1.2 xdot1.4

找库文件

find / -name libgvplugin_pango.so.6 -type f 2>/dev/null

后来发现是python版本的问题(原环境是python2)。python3就可以正常出图了。

9.16 delly报错

error while loading shared libraries: libboost_iostreams.so.1.53.0: cannot open shared object file: No such file or directory

查看依赖库

ldd /local_data1/work/liyubing/software/delly/src/delly

linux-vdso.so.1 => (0x00007fff08d9c000) libboost_iostreams.so.1.53.0 => not found libboost_filesystem.so.1.53.0 => /lib64/libboost_filesystem.so.1.53.0 (0x00002b3c398b6000) …

find / -name "libboost_iostreams*" -type f 2>/dev/null

查到/usr/lib64/里有 加入path

$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH

mu01可以跑,但res不能跑,还是缺lib。scp复制到自己的lib目录下,并把自己的lib加入到LD_LIBRARY_PATH

scp /usr/lib64/libboost_iostreams.so.1.53.0 liyubing@cu-0030:/local_data1/work/liyubing/lib

9.16 pindel picard报错

pindel中的picard 报错:

Exception in thread “main” htsjdk.samtools.SAMFormatException: Error parsing SAM header. Problem parsing @RG key:value pair. Line: @RG ID:group1 PL:illumina SM:A LB=lib1 PU=unit1; File /local_data1/work/liyubing/projects/02snakeReq/01.mapping/sorted_A.bam; Line number 3

似乎说bam文件的header有问题。 samtools view -H 查看header文件

@SQ SN:chr1 LN:5015348 @RG ID:group1 PL:illumina SM:B LB=lib1 PU=unit1 @PG ID:bwa PN:bwa VN:0.7.17-r1188 CL:/local_data1/software/bwa/bwa-0.7.17/bwa mem -M -t 3 -R @RG\tID:group1\tPL:illumina\tSM:B\tLB=lib1\tPU=unit1 /local_data1/work/liyubing/projects/02snakeReq/00.prepare/ref/salmonella.fa /local_data1/project/resequencing/20190524_18070_shamenshijun/00.prepare/B_Q20L50_1.fastq.gz /local_data1/project/resequencing/20190524_18070_shamenshijun/00.prepare/B_Q20L50_2.fastq.gz

看看RG 后面都是等号!! 改成冒号就好了

2018年

安装cogent遇到问题:

pkg_resources.ContextualVersionConflict:

(pyparsing 1.5.7 (/data1/software/miniconda2/envs/anaCogent/lib/python2.7/site-packages), Requirement.parse(‘pyparsing!=2.0.4,!=2.1.2,!=2.1.6,≥2.0.1’), set([‘matplotlib’]))

pyparsing的版本

R从3.2升级到3.4.1

Bioconductor 3.6 (BiocInstaller 1.28.0), R 3.4.2 (2017-09-28). Bioconductor 3.2 (BiocInstaller 1.20.3), R 3.2.2 (2015-08-14).

升级 conda install -c r r-base=3.4.1 报错 nsatisfiableError: The following specifications were found to be in conflict:

  • bioconductor-keggrest -> r=3.3.1 -> r-base==3.3.1=6
  • r-base=3.4.2 先升级bioconductor-keggrest,依赖3.4.1版本的r的最高版本 conda install bioconductor-keggrest=1.18.0

    GATK

    GATK需要参考基因组,fai和dict文件。更换了一次参考基因组,但用新的fasta生成的dict文件仍然是旧的contig信息。不知道原因。有可能是因为fai没有更新。

解决:将fasta复制到其他目录重新生成,后把url更换成之前的。fai也要记得更新。

zsh 不显示虚拟环境名字

virtualenv name not show in zsh prompt conda版本

  • 1 printenv 查看conda显示env的变量名字 CONDA_PROMPT_MODIFIER
  • 2 在 .zshrc加入
    function virtualenv_info { [ $CONDA_PROMPT_MODIFIER ] && echo `basename $CONDA_PROMPT_MODIFIER` }
    
  • 3 在theme文件的base prompt中加入virtualenv_info vim /home/liyubing/.oh-my-zsh/themes/pygmalion.zsh-theme 在base_prompt = 中第一和第二项加入 如下 %{$fg[green]%}$(virtualenv_info)%{$reset_color%}%

conda更新之后报错解决:

conda Solving environment: failed line 380, in raw_decode obj, end = self.scan_once(s, idx) ValueError: Unterminated string starting at: line 1 column 2080580 (char 2080579)

解决:conda clean -i

Gmap报错:

Use of uninitialized value $1 in numeric eq (==) at /data1/software/PASApipeline/scripts/process_GMAP_alignments_gff3_chimeras_ok.pl line 94.

说明没有找到$1.代码中$1是前面gmap —version 匹配的第一个括号。

原因是:gmap没有启动。gmap —version没有返回任何结果

找不到YAML.pm

但已经通过MCPAN和conda都安装过了

查找YAML.pm 然后添加路径到$PERL5LIB

模块有点问题 安装了但还是无法找到

最后加入了软件的lib路径/data1/software/quast-4.6.0/quast_libs/genemark-es/lib/$PERL5LIB

conda问题

gmap命令不能使用。没有任何报错。安装其他版本

conda install gmap=2017.11.15

还是不行。卸载了

最后 解决:手动装gmap

locale

LC_CTYPE=en_US.UTF-8 LC_ALL=en_US.UTF-8 加入bashrc

pheatmap 的annotation

右侧的NFAT1O的E怎么也不能显示。

解决方法:把anno的Condition 改成Group_condition、延长边距。使完整显示。

非生物学重复的富集不出来结果

输入文件sig_expr的第一列是GeneID,但没有对应的行名,因此R读入的时候自动从第二列开始读,把第一列默认为行名。 而提取genelist是提取的第一列,这样就提取不到geneID.

解决:读取sigfile的时候,默认第一列为行名。然后取行名存入geneID列。后面从geneID列取genelist

list index out of range 报错

查看sample list是否有问题,比如tab分隔

conda遇到问题:

conda中的R包安装问题。最后R也不能进入了。

终极解决:彻底卸载R之后重装 (conda remove R)不能删除R的library conda uninstall r-base

gmap不能用

安装后也不在miniconda2文件夹里。搜索后发现在 /home/liyubing/.conda/pkgs里。全部删掉

登录服务器报错

known hosts删除原来的ip相关信息 ###R 包

conda install r-ape #cran的包 conda install bioconductor-apeglm

R dplyr select报错

原脚本 修改如下:加下划线的版本接受参数为string

docker

镜像保存后,再次用软件,报错说掉了一个包(vmatch not installed)

原因:~/.profile 在重启系统后并不会主动执行,PATH中没有加入新安装的包路径,因此系统找不到vmatch。

需要source ~/.profile

docker 运行多个命令 用 /bin/bash -c 命令间用&&分开

安装diffRpes

https://github.com/shenlab-sinai/diffreps github perl Makefile.PL (Optional, PREFIX=your_perl_directory) make make test make install 缺几个perl 包。conda装

将perl脚本的 6改成了5

-h可以出来 但运行脚本继续缺包。需要perl diffReps.pl (perl不能省略)

forkmanager版本解决:

查看perl模块版本编号

perl -MParallel::ForkManager -e 'print Parallel::ForkManager->VERSION. "\n"'

查看模块的安装路径 perldoc -l Parallel::ForkManager (/data1/software/quast-4.6.0/quast_libs/genemark-es/lib/Parallel/ForkManager.pm)

查看发现目前使用的是quast的ForkManager,将bashrc的quast lib路径注释掉后,转而使用/data1/software/miARma-Seq/miARma1.7.0/lib/Perl/Parallel/ForkManager.pm,相对版本更高。

RepeatMasker报错

卸载 conda uninstall RepeatMakser

但share下的文件夹还在 删除 rm -rf /data1/software/miniconda2/share/RepeatMakser

pkgs下安装包也在 。。。

最终解决:放弃conda安装。使用手动安装和configure。

缺perl包

Can't locate Text/Soundex.pm in @INC

添加路径到PERL5LIB后

MCPAN安装报错:

conda装 conda install perl-text-soundex OKOKOK!!! cp /data1/software/miniconda2/lib/perl5/site_perl/5.22.0/Text/Soundex.pm /data1/software/miniconda2/lib/site_perl/5.26.2/Text 把找到的模块拷贝到 @INC下的任何一个路径(比如conda的perl lib下面)

rnammer迅速运行,输出的文件没有结果。

hmmsearch 从3版本换成2.(在指定环境中装2.3版本),修改rnammer的hmmsearch路径 报错

修改core-rnammer,删除两处” —cpu 1“

R脚本报错

卸载dplyr remove.packages(pkgs, lib) 后重装 (似乎跟tidyverse和dplyr的冲突有关)