Code Monkey home page Code Monkey logo

icamp1's Introduction

iCAMP

Infer Community Assembly Mechanisms by Phylogenetic bin-based null model analysis (Latest version 1.2.10)

Daliang Ning

News

Key functions in iCAMP package

  • iCAMP: Quantify relative importance of basic community assembly processes at both community and phylogenetic group ('bin') levels.
    • Based on phylogenetic marker gene sequencing results, e.g. OTU or ASV table and phylogenetic tree from 16S sequencing data.
    • The processes including homogeneous and heterogeneous selection, homoginizing and limited dispersal, and 'drift' (drift and other processes)
    • Quantitative for each turnover (between two samples) at community level, and for each phylogenetic bin in a group of samples.
    • Each phylogenetic bin is usually a group of taxa (a few dozens to a few hundreds of OTUs or ASVs) from a family or order.
    • key function: icamp.big (Ning et al 2020 Nat Commun in revision)
  • To implement some other published methods
    • NP: Neutral taxa percentage, i.e. number or relative abundance of taxa following neutral theory model.
      • developed by Burns et al (2016 ISME J), based on a neutral theory model (Sloan et al 2006 EM).
      • I add options to perform bootstraping test and re-define taxa abundance profile in one or multiple metacommunities (regional pools).
      • function: snm.comm
    • QPEN: quantifying community assembly processes based on entire-community null model analysis.
      • developed by Stegen et al (2013 ISME J, 2015 Front Microbiol).
      • I add options to handle big datasets and re-define taxa abundance profile in the metacommunity.
      • function: qpen
    • tNST and pNST: taxonomic and phylogenetic normalized stochasticity ratio.
  • Some handy functions for big datasets
    • phylogenetic and taxonomic null model analysis at both community and bin levels
      • functions: bNTIn.p, bNTI.bin.big, bNRIn.p, bNRI.bin.big, RC.pc, RC.bin.bigc
    • between-taxa niche difference and phylogenetic distance of big communities
      • functions: dniche, pdist.big
    • phylogenetic signal test within phylogenetic groups
      • function: ps.bin
    • midpoint root of big trees
      • function: midpoint.root.big

Publication

Ning D, Yuan M, Wu L, Zhang Y, Guo X, Zhou X, Yang Y, Arkin AP, Firestone MK, and Zhou J. A quantitative framework reveals ecological drivers of grassland microbial community assembly in response to warming. Nature Communications 11, 4717 (2020) doi:10.1038/s41467-020-18560-z.

How to use

System requirements

  • Operating systems: Windows, or Mac, or Linux, any versions which can run R (version >= 3.2).

  • Dependencis: R (version >=3.2; https://www.r-project.org/), R packages: vegan, parallel, permute, ape, bigmemory, nortest, minpack.lm, Hmisc, stats4.

    • R package NST is necessary to run the funciton tNST and pNST in the example, but not required for running package iCAMP.
  • iCAMP current version 1.2.4 has been tested on the current development version of R (4.1.0, 2020-8-18 r79041), R 4.0.2, and R 3.5.3.

  • Any required non-standard hardware: No. However, if you are dealing with a large dataset (e.g. >20,000 taxa), a server with enough CPU threads (e.g. >=20) is preferred to finish the calculation in reasonable time.

Installation guide

  • Downlaod and install R (https://www.r-project.org/).

  • Install iCAMP.

    • Install published iCAMP: Open R, use function "install.packages" as below.
    install.packages("iCAMP")
    
    • Install from source file:
      • Download an iCAMP version from this repository iCAMP1/RPackage/AllVersions.
      • Open R, install or update following packages: vegan, parallel, permute, ape, bigmemory, nortest.
      install.packages(c("vegan", "permute", "ape", "bigmemory", "nortest", "minpack.lm", "Hmisc"))
      
      • In R, click Packages/install package from local file, then select the file. For windows, select the .zip file. For Mac/Linux, select the .gz file. Alternatively, in Linux sytem, if you open R in a terminal, use following command to install from the .gz file (revise "/Path/to/the/folder" to the real path of the .gz file on your computer, revise "xxx" to the version number of iCAMP):
      install.packages(pkgs="/Path/to/the/folder/iCAMP_xxx.tar.gz", repos = NULL, type="source")
      
  • The whole installation typically takes several minutes. Usually, <5 min for R installation, <1 min for the iCAMP package, <5 min for installation of other packages.

Instructions for use

  • Before analyze your own data with iCAMP, you may go through a simple example dataset in the folder /Examples/SimpleOTU.

  • When analyzing your own data, check the format of the example data files (otu.txt, tree.nwk, treat2col.txt, and environment.txt) in the folder "SimpleOTU". Revise your data files to the same format. It is fine if you do not have environment factor information, just pay attention to the notes specific to no-env.file situation in the file "icamp.test.r".

  • Change the folder paths and file names in the "icamp.test.r" to your data as indicated.

  • Change the thread number for parallel computing, memory limitation, and other parameter setting according to your need. You may check the help document of each function for detailed explanation.

  • Run the codes and check the output files in the output folder you've specified. You may check the ReadMe.md in /Examples/SimpleOTU for the meaning of each output file, as well as the help documents in the R package for details.

End

icamp1's People

Contributors

daliangning avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.