Source code for spirepy.cli.download
import os
import os.path as path
from typing import Union
from spirepy.sample import Sample
from spirepy.study import Study
from spirepy.logger import logger
[docs]
def download(item: Union[Study, Sample], target: str, output: str):
"""
Dowload data from a SPIRE item.
:param item: The item to be viewed (:class:`spirepy.sample.Sample` or :class:`spirepy.study.Study`).
:type item: :class:`spirepy.sample.Sample` or :class:`spirepy.study.Study`
:param target: What you want to view (metadata, antibiotic resistance annotations, manifest)
:type target: str
:param output: The output folder where the items will be downloaded.
:type output: str
"""
os.makedirs(output, exist_ok=True)
if type(item) is Study:
if target == "metadata":
item.get_metadata().write_csv(path.join(output, f"{item.name}.csv"))
elif target == "mags":
item.download_mags(output)
else:
logger.error("No matching item for Study type")
else:
if target == "metadata":
item.get_metadata().write_csv(path.join(output, f"{item.id}.csv"))
elif target == "mags":
item.download_mags(output)
else:
logger.error("No matching item")