Skip to content

Running Fusera

Matt Bianchi edited this page Mar 20, 2018 · 14 revisions

Access the help with fusera -h:

NAME:
   fusera - A FUSE interface to the NCBI Sequence Read Archive (SRA)

USAGE:
   fusera [global options] mountpoint
   
VERSION:
   0.0.-beta
   
GLOBAL OPTIONS:
   --ngc value       path to an ngc file that contains authentication info. [$DBGAP_CREDENTIALS, $FUSERA_NGCFILE, $FUSERA_CREDENTIALS]
   --acc value       comma separated list of SRR#s that are to be mounted. [$DBGAP_ACC, $FUSERA_ACC]
   --acc-file value  path to file with comma or space separated list of SRR#s that are to be mounted. [$DBGAP_ACCFILE, $FUSERA_ACCFILE]
   --loc value       preferred region. [$DBGAP_LOC, $FUSERA_LOC]
   
MISC OPTIONS:
   --help, -h     Print this help text and exit successfully.
   --debug        Enable debugging output.
   --version, -v  print the version

A simple run of Fusera:

$ fusera --ngc [path/to/ngcfile] --acc [comma separated list of SRR#s] --loc [s3.us-east-1|gs.US] <mountpoint>

All of these flags also have equivalent environment variables ($DBGAP_CREDENTIALS, $DBGAP_ACC, $DBGAP_LOC, etc), which might be more handy when attempting to automate the use of fusera over multiple machines or reduce redundancy if you find yourself consistently invoking fusera with the same flags.

If and only if you are running fusera or sracp on an AWS instance, both of these tools can resolve the location flag for you. If this flag is left off of either of these tools and you are not on an AWS instance, prepare for a long wait for a timeout and then a disappointing error informing you that you forgot the location flag.

The <mountpoint> must be an existing, empty directory, to which the user has read and write permissions.

It is recommended that the mountpoint be a directory owned by the user. Creating the mountpoint in system directories such as /mnt, /tmp have special uses in unix systems and should be avoided.

Because of the nature of FUSE systems, only the user who ran fusera will be able to read the files mounted. This can be changed by editing a config file (reference) on the machine to allow_others, but be warned that there are security implications to be considered: https://github.com/libfuse/libfuse#security-implications.

Accessions can be specified through the commmand line using the --acc flag, or, by reference to a file with space or comma separated accessions using the --acc-file option. The union of these two sets of accessions is used to build the FUSE file system, with duplicates eliminated.

Clone this wiki locally