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.p
m,相对版本更高。
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的冲突有关)