Skip to content

emedgene/fs_basespace

Repository files navigation

fs_basespace

Readonly pyfilesystem2 interface to Illumina Basespace

Installing

pip install fs-basespace

Requires python3 version of basespace-python-sdk which can be installed from the develop branch.

pip install 'git+https://github.com/basespace/basespace-python-sdk#egg=BaseSpacePy-0.3&subdirectory=src'

Opening FS Basespace

With class constructor

from fs_basespace import BASESPACEFS
basespacefs = BASESPACEFS("/projects/{project-id}/appresults/{result-id}/files/{file-id}",
                          client_id = "{client-key}",
                          client_secret = "{client-secret}",
                          access_token = "{access_token}",
                          server_name = "{server_name} optional")

Default server name for Illumina is https://api.basespace.illumina.com/

With connection string

import fs
basespacefs = fs.open_fs("basespace://{clientKey}:{clientSecret}:{appToken}@{server}")

Advanced connection strings

Access to server root directory:

basespace://{clientKey}:{clientSecret}:{appToken}@{server}

Accessing projects:

basespace://{clientKey}:{clientSecret}:{appToken}@{server}!/projects/{projectId}

Accessing project sample files:

basespace://{clientKey}:{clientSecret}:{appToken}@{server}!/projects/{projectId}/samples/{sampleId}/files/{fileId}

Accessing project appResult files (bam, vcf, ...):

basespace://{clientKey}:{clientSecret}:{appToken}@{server}!/projects/{projectId}/appresults/{resultId}/files/{fileId}

Downloading files

with open("local_file", "wb") as local_file:
    basespacefs.download("path/to/remote/file/id", local_file)

Uploading files

Only readonly access to Basespace is implemented in this package. No upload possible yet.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 11