Skip to content

mecfs_bio.build_system.task.get_file_from_synapse_task

Task to get a file from synapse.org, a scientific data repository.

Classes:

  • GetFileFromSynapseTask

    Task to get a file from synapse.org (see: https://docs.synapse.org/synapse-docs/faq)

Attributes:

logger module-attribute

logger = getLogger()

GetFileFromSynapseTask

Bases: Task

Task to get a file from synapse.org (see: https://docs.synapse.org/synapse-docs/faq) May require authentication. See Getting Started.

Methods:

Attributes:

deps property

deps: list[Task]

expected_filename instance-attribute

expected_filename: str

meta property

meta: Meta

synid instance-attribute

synid: str

execute

execute(scratch_dir: Path, fetch: Fetch, wf: WF) -> Asset
Source code in mecfs_bio/build_system/task/get_file_from_synapse_task.py
def execute(self, scratch_dir: Path, fetch: Fetch, wf: WF) -> Asset:
    syn = synapseclient.login()
    files = synapseutils.syncFromSynapse(syn, self.synid, path=str(scratch_dir))
    logger.debug(f"downloaded: {files}")
    assert len(files) == 1
    assert files[0].name == self.expected_filename
    return FileAsset(Path(files[0].path))