我有一个awk脚本,用于过滤差异表达的基因。我有一个在R中创建的csv文件。
#Command to get DE genes
awk -F '\t' '$14 < 0.05 && $10 < -1 && $7 > 1 { print > "Genes-Down.csv" }
$14 < 0.05 && $10 > +1 && $8 > 1 { print > "Genes-Up.csv" }' Results-RPKMs.csv
我现在开始在Mac OS上进行所有的分析,但是相同的命令不起作用。它也没有给出任何错误信息。运行后什么也没有发生。我在其他sed命令中也遇到了同样的问题,但使用awk很容易解决。
更新: MacOS X的awk版本是20070501。然而,Ubuntu机器有mawk 1.3.3。命令awk --version不能工作。必须使用awk -W --version。所以我想这就是为什么它在Ubuntu上起作用但在MacOSX上无法工作的原因。所以我下载了mawk并使用fink安装了它,现在该命令在MacOSX上可以工作了。谢谢你的帮助。
更新2:实际上问题不是在awk上。通常我会在R中创建csv文件,然后运行脚本进行过滤。结果发现,如果我在Excel中打开csv文件或将Excel文件保存为csv格式,则该脚本将无法工作(尝试了几次使用不同的分隔符)。显然,如果您在MacOX(Excel 2011)中将电子表格另存为.csv,并尝试在Excel中将其打开,则会显示它是SYLK文件。Microsoft网站上有对此的描述。如果我使用OpenOffice,一切都能正常工作。
&&
分组为($14 < 0.05 && $10 < -1) && $7 > 1
。 - Avinash Raj