热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

生信学习入门常见错误可能的原因分类总结和求助指南

生信学习学的是什么?常识!学生信,不是贪多的,而是求精的!为前文填坑,也希望能给后续答疑积累个素

生信学习学的是什么?常识!

学生信,不是贪多的,而是求精的!

为前文填坑,也希望能给后续答疑积累个素材,有问题先来查询再提问!

文件或目录找不到

这是常见问题,常见提示有

  • No such file or directory

  • Error in file(file, “rt”):无法打开链接

  • Fatal error: Unable to open file for reading (seq/WT1_1.fq)

  • Fatal error: Unable to read from file (C:Program file/Git/usearch/rdp_16s_v16_sp.fa)

  • mv: cannot stat ‘circlize.pdf’: No such file or directory

排查思路:

  1. 如果提示中给了文件名,确认与提示名字完全一致的文件是否存在,并确认路径是否正确。如上面第 3 个提示,确认WT1_1.fq文件存在于当前工作路径的 seq 目录下

  2. 如果未提示文件名,需要自己从命令行参数中找到文件名,再按第 1 条思路排查

  3. 不管是哪个情况,要坚信是自己提供的文件名字的问题或文件路径与自己的工作路径不匹配的问题。

提问建议:

如果自己按上面的排查,没发现问题,在群里提问时要注意 5 点:

  1. 注明:我知道这个是文件路径问题,但我查看了,文件路径和名字都没错。要不然得到的回答还是要你先排查这一步。

  2. 截图时完整的截取运行的命令和报错信息,不要只截取报错信息或只截取自己认为的核心报错信息。最简单的截图方式:截取满屏、标记重点

  3. 同时也截取下对应目录的文件列表,方便他人一起看下是不是文件名中字符没分辨清楚,如1与l空格等特殊字符的存在。如下面这个-在 R 中做了转换,致使匹配不上。

  4. 如果目录中文件太多,一定截取到最近的区域,如下面截图所示就是一个错误例子,没有到W部分不能判断文件是否存在。应该按名字排序截取到v,w,x开头的文件处。

  5. 提问不能太随意。

    自己重视,别人才能重视。

文件为空

不太常见,通常为前面步骤运行出错导致的。需要打开文件看下,确认是否为空(最常见的可能性)还是有特殊格式(如#号开头或引号不对等),再继续向前翻看运行记录,看下是哪步出的错。

小技巧:搜索这个文件名(或文件名的一部分),通常可以快速定位到输出这个文件的步骤或代码部分。

  • Error in read.table(file = “result/alpha/otu_group_exist.txt”, sep=”\t”: 输入中没有多出的行

画图时输出文件已打开,不能覆盖

导致下面的问题最常见的原因是:之前运行过命令,对应的图已经生成并且正处于打开状态,程序不能覆盖,一般只发生在Windows平台下。如果文件确实已打开,就关掉对应的PDF文件,再运行一次。

另外一种可能是:输出路径的目录没有创建,需要创建下。这时就是一层层目录去查看。

  • Error in pdf(x, …): 无法打开’result/beta/bray_curtiis.txt.pheatmap.pdf’文件

  • Error in grDevices::pdf(file=filename) 无法打开result/alpha/alpha_boxplot_riichness.pdf文件

命令未找到

排查思路:

  1. 对应的软件没有安装。

  2. 软件安装后,没有放到环境变量中,具体见PATH和path,傻傻分不清。如果是conda安装,则查看是否在对应的

  3. 如果不确定是 1 还是 2 的问题,可使用locatefind命令查看命令是否已安装,具体见Linux下那些查找命令。

  4. 软件命令输入错误,如大小写混淆等。

  5. 软件和参数之间没有加空格。

  • bash: SOAPdenovo: 未找到命令...

  • -bash: ls-l: command not found

TAB 不能填充

TAB填充是 Linux 下输入命令和文件名比较方便快速且不容易出错的快捷按键。TAB键会自动补全环境变量中的程序名字和作为参数时的文件和路径名。所以下面截图中,只输入文件名就按TAB键是没有反应的。

多行程序未能正确运行

不少程序因为太长需要多行显示,在运行时最好是全选而非一句句的运行。单句一个个点运行时就容易出现下面的问题,多点了导致参数赋值出错。

更多的时候,会出现这样的错误,中间少点了某一句,致使程序一直未能如期运行。在Terminal运行处,出现了很多不结束的大于号(>)开头的行,很多命令都被卡住了,要么一直运行不了,要么运行报错。

这时,果断按下Ctrl+C终止当前的输入,然后从最开始卡住处重新运行。

参数赋值问题

参数和命令之间漏掉空格

  • bash: cd/c/amplicon: No such file or directory

参数忘记赋值。一般出现在参数值以公共变量形式出现时,公共变量如wddb等未初始化导致的。当然从这个截图我们看不出问题具体是什么,因为截图不完整,只能是猜测,或通过进一步与提问者沟通了解问题所在。

参数写错: 比如-l误看做-1,自己敲入命令时就会出错;或-c, -C, -p, -P等大小写问题;或不同系统软件参数略有不同导致的。既然看到了illegal option,首先坚信是自己参数输入错了,然后查看下对应命令的帮助信息,看看最相近的参数名字是什么,按需要修改即可。

  • cp: illegal option — 1

R的错误

Error: unexpected numeric constant in:
"if (0 != 0){data_m$0.2"
Execution halted
列名字不能为数字或者以数字开头


Error in read.table(file = "1509195237.txt", :duplicate 'row.names' are not allowed
Execution halted
请对给定数据矩阵第一列的重复元素进行预处理,一般可以增加序号进行区分或重复的属性合并


Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :line 1 did not have 3 elements
Calls: read.table -> scan
Execution halted
请确认矩阵每一行列数是否相同,注意列分隔符是否为TAB键


Error in read.table(file = "/var/www/html/ImageGP/Public/source/lines/1510560834.txt", :more columns than column names
Execution halted
请确认矩阵每一行列数是否相同,注意列分隔符是否为TAB键


Error in `$<-.data.frame`(`*tmp*`, variable, value = integer(0)) :replacement has 0 rows, data has 58
Calls: $<- -> $<-.data.frame
Execution halted
检查给定的变量名字(也就是列名字)是否存在


Error in `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else paste0(labels, :factor level [4] is duplicated
Calls: factor
Execution halted
输入的variable order 有重复元素;variable order为对应列的唯一元素的有序排列


Warning message:
NAs introduced by coercion
Error: Discrete value supplied to continuous scale
Execution halted
数据是离散的(discrete, 字符型)却选择了continuous类型 (数值型)


Error in Math.factor(data$GeneRatio) : &#39;log10&#39; not meaningful for factors
Execution halted
请确认指定使用对数处理的列是不是只含有数字


Error in order(NULL, c(6L, 2L, 2L, 6L, 7L, 7L, 6L, 3L, 5L, 4L, 1L, 4L), :argument 1 is not a vector
Calls: [ -> [.data.frame -> order -> do.call -> order
Execution halted
请提供合法的列名字


Error in log10(data$Pvalue) :non-numeric argument to mathematical function
Execution halted
请确认给定的列为数值列


Error: unexpected symbol in "uwid = 70cm"
Execution halted
请不用填写单位


Error in fix.by(by.x, x) : &#39;by&#39; must specify a uniquely valid column
Calls: merge -> merge.data.frame -> fix.by
Execution halted
请检查输入数据格式


Error: object &#39;Value&#39; not found
Execution halted
请提供数据中存在的列名字,注意大小写;特殊地,对线图,数值列的列名字必须是value


Error in order(data$term, data$Ratio) : argument 1 is not a vector
Calls: [ -> [.data.frame -> order
Execution halted
请提供数据中存在的列名字,注意大小写;


Error in grDevices::col2rgb(colors, alpha = alpha) :invalid color name &#39;gree&#39;
Calls: scale_colour_gradient ... seq_gradient_pal -> gradient_n_pal -> colour_ramp ->
Execution halted
请提供正确的颜色名字, green不是gree


Error in colSums(temp_data) :&#39;x&#39; must be an array of at least two dimensions
Calls: upset -> FindMostFreq -> colSums
Execution halted
UpSetView 需要至少3列 (Wide format)


Error in max(sapply(as.vector(unique(data_m$qvalue)), nchar)) :invalid &#39;type&#39; (list) of argument
Execution halted
请确认给定的列 (variable)是否正确。


Error in if (-90 ~ 90 != 0) { : argument is not interpretable as logical
In addition: Warning message:
In if (-90 ~ 90 != 0) { :the condition has length > 1 and only the first element will be used
Execution halted
角度只需给一个数字就可以。没有参数接受一个范围值,范围只用于提示。


Error in hclust(d, method = method) :NA/NaN/Inf in foreign function call (arg 11)
Calls: pheatmap -> cluster_mat -> hclust
Execution halted
热图层级聚类分析时不允许NA值的存在。


Error: unexpected symbol in "ann_colors = list(Type=c(Pain and"
Execution halted
热图自定义注释颜色格式不对,请参照提示。


Error: cannot allocate vector of size 15.2 Gb
Execution halted
热图矩阵太大。


Error in cor(t(mat)) : &#39;x&#39; must be numeric
Calls: pheatmap -> cluster_mat -> as.dist -> cor
Execution halted
热图必须是数值矩阵,除第一行和第一列,其它的元素都必须是数值。

遇到错误多调试,至少在初学时,坚信是自己的错,不是程序的错。

往期精品(点击图片直达文字对应教程)

后台回复“生信宝典福利第一波”或点击阅读原文获取教程合集

 

(请备注姓名-学校/企业-职务等)



推荐阅读
  • 阿里云服务器搭建详解——Ubuntu
    由于自己电脑配置跟不上,双系统一开,整个电脑就会变得非常卡顿,所以决定在阿里云买一个云服务器。听朋友说,学生买的话是非常便宜 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案
    MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案 ... [详细]
  • 在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ... [详细]
  • 在Linux环境中,通过编写Shell脚本来实现自定义命令的创建与激活,能够极大地简化服务器上多个子系统的管理操作。例如,通过简单的命令如“tt”,即可快速查看各个应用程序的名称及其运行状态,从而提高系统维护的效率和便捷性。 ... [详细]
  • 在 Go 开发环境中,通过使用 iTerm 和 Oh My Zsh,可以显著提升终端操作的效率和体验。Oh My Zsh 是一个强大的 Zsh 配置管理框架,提供了丰富的插件支持,如代码高亮、自动补全和多种编程语言支持,同时还拥有众多美观的主题,使终端界面更加个性化和高效。Zsh 作为一种高度可定制的 shell,不仅适用于交互式应用,还可用作脚本解释器,集成了 bash、ksh 和 tcsh 等其他 shell 的诸多优点,并具备独特的功能特性。 ... [详细]
  • 【高效构建全面的iOS直播应用】(美颜功能深度解析)
    本文深入探讨了如何高效构建全面的iOS直播应用,特别聚焦于美颜功能的技术实现。通过详细解析美颜算法和优化策略,帮助开发者快速掌握关键技术和实现方法,提升用户体验。适合对直播应用开发感兴趣的开发者阅读。 ... [详细]
  • 本发明涉及网卡性能测试技术领域::,更具体的说是涉及一种Linux系统下网卡速率的测试方法。背景技术::&#x ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • 本文介绍了如何在 Windows 系统上利用 Docker 构建一个包含 NGINX、PHP、MySQL、Redis 和 Elasticsearch 的集成开发环境。通过详细的步骤说明,帮助开发者快速搭建和配置这一复杂的技术栈,提升开发效率和环境一致性。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 如何轻松地将多个文件导入Python:简明指南 ... [详细]
author-avatar
上海千恩万燮
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有