1.不使用递归的方法调用。
public void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0
File file = new File(path)
if (file.exists()) {
LinkedList list = new LinkedList()
File[] files = file.listFiles()
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹:" + file2.getAbsolutePath())
list.add(file2)
fileNum++
} else {
System.out.println("文件:" + file2.getAbsolutePath())
folderNum++
}
}
File temp_file
while (!list.isEmpty()) {
temp_file = list.removeFirst()
files = temp_file.listFiles()
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹:" + file2.getAbsolutePath())
list.add(file2)
fileNum++
} else {
System.out.println("文件:" + file2.getAbsolutePath())
folderNum++
}
}
}
} else {
System.out.println("文件不存在!")
}
System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum)
}
也做了挺多次RDA分析,自己现在小结一下RDA分析流程:
就我个人而言,虚线前面都是不太经历的步骤,我一般不会主动删去样品的环境信息,因为我接触的菌群这块本来就没有什么多余的环境信息-_-||,所以我的重点放在怎么去除多余OTU或菌群上面。
一般而言,我首先会做一次差异分析,挑选有差异的OTU或菌群进行展示(phyloseq推荐使用DESeq2和edgeR,详见 Waste Not, Want Not: Why Rarefying Microbiome Data Is Inadmissible ),这里不是重点不在赘述。
但是差异OTU或菌群还有可能太多,RDA呈现出来密密麻麻的,调也得调好久,最后还是好不美观。
偶然间,发现envfit不仅可以评估环境因子的显著性,也可以评估物种的相关性和显著性,这为我们进一步去取冗余物种提供了条件,值得记录下来学习。
示例:
一个安装包安装了之后还需要加载install.packages("rda") 这个函数运行一次之后就下载好了,
而每次要调用这个数据包就需要使用,
library(rda)这个函数。