Learn R Programming

phyloseq (version 1.12.2)

microbio_me_qiime: Download and import directly from microbio.me/qiime

Description

This function is for accessing microbiome datasets from the microbio.me/qiime public repository from within R. I haven't yet figured out how to list the available studies at microbio.me/qiime from within R (and I don't know if they have made this possible), but I have provided illustrated instructions for finding details about studies you might want to download and explore, as well as the FTP address that you will need. Note that you likely need to create an account at microbio.me/qiime in order to explore the studies they have available for download. Please see a detailed tutorial for further help finding the FTP address of the data that you want. Also note that this function will work on the full address to any .zip zipped file with microbiome data organized with the same naming conventions and file types as microbio.me/qiime. Please also see the microbio_me_qiime tutorial

Usage

microbio_me_qiime(zipftp, ext = ".zip", parsef = parse_taxonomy_greengenes, ...)

Arguments

zipftp
(Required). A character string that is the full URL path to a zipped file that follows the file naming conventions used by microbio.me/qiime. Alternatively, you can simply provide the study number as a single integer or other single-length vector that can be coerced to an integer; this function will complete the remainder of the ftp URL hosted at microbio.me/qiime. For example, instead of the full URL string, "ftp://thebeast.colorado.edu/pub/QIIME_DB_Public_Studies/study_494_split_library_seqs_and_mapping.zip", you could simply provide 494 or "494" as the first (`zipftp`) argument.
ext
(Optional). A character string of the expected file extension, which also indicates the compression type, if zipftp is a study number instead of the full path. Note that this argument has no effect if zipftp is the full path, in which case the file extension is read directly from the downloaded file.
parsef
(Optional). The type of taxonomic parsing to use for the OTU taxonomic classification, in the .biom file, if present. This is passed on to import_biom, but unlike that function the default parsing function is parse_taxonomy_greengenes, rather than parse_taxonomy_default, because we know ahead of time that most (or all?) of the taxonomic classifications in the microbio.me/qiime repository will be based on GreenGenes.
...
(Optional, for advanced users). Additional arguments passed to download.file. This is mainly for non-standard links to resources (in this case, a zipped file) that are not being hosted by microbio.me/qiime. If you are using a FTP address or study number from their servers, then you shouldn't need to provide any additional arguments.

Value

A phyloseq-class object if possible, a component if only a component could be imported, or NULL if nothing could be imported after unzipping the file. Keep in mind there is a specific naming-convention that is expected based on the current state of the microbio.me/qiime servers. Several helpful messages are catted to standard out to help let you know the ongoing status of the current download and import process.

See Also

See download.file and url for details about URL formats -- including local file addresses -- that might work here.

import_biom

import_qiime

Examples

Run this code
# This should return TRUE on your system if you have internet turned on
# and a standard R installation. Indicates whether this is likely to
# work on your system for a URL or local file, respectively.
capabilities("http/ftp"); capabilities("fifo")
# A working example with a local example file included in phyloseq
zipfile = "study_816_split_library_seqs_and_mapping.zip"
zipfile = system.file("extdata", zipfile, package="phyloseq")
tarfile = "study_816_split_library_seqs_and_mapping.tar.gz"
tarfile = system.file("extdata", tarfile, package="phyloseq")
tarps = microbio_me_qiime(tarfile)
zipps = microbio_me_qiime(zipfile)
identical(tarps, zipps)
tarps; zipps
plot_heatmap(tarps)
# A real example
# # Smokers dataset
# smokezip = "ftp://thebeast.colorado.edu/pub/QIIME_DB_Public_Studies/study_524_split_library_seqs_and_mapping.zip"
# smokers1 = microbio_me_qiime(smokezip)
# # Alternatively, just use the study number
# smokers2 = microbio_me_qiime(524)
# identical(smokers1, smokers2)

Run the code above in your browser using DataLab