ulimit -v and -m
)ulimit -n 1024
, should be greater or equal to this valueulimit -s 8192
, should be lower or equal to this valueulimit -u 16384
, should be greater or equal to this valueulimit -v unlimited
, should be greater or equal to 4GBulimit -m unlimited
, should be greater or equal to 4GBulimit -l 64
, should be greater or equal to this value<config name>.cfg
file in the ~/.basespace/ directory.
The mount point directory becomes the top level folder in your mounted file tree.https_proxy
environment variable (if this doesn't work, please refer to libcurl's manual).docker run --privileged
, you may look around docker run --cap-add SYS_ADMIN --device /dev/fuse --security-opt apparmor:unconfined
(but please don't ask us for any help with this obscure thing).basemount --config <config name>
), and you can mount all of them simultaneously on different mount points.--config
feature as you will usually deal with multiple accounts.--api-server <API URL or alias>
.--api-server=https://api.basespace.illumina.com/
US server (Default)--api-server=https://api.euc1.sh.basespace.illumina.com/
EU serverbasemount --api-server help
to get a list of known servers and their aliases.https://api.euc1.sh.basespace.illumina.com/
(no subdomain specified), but your browser must be showing the URL https://MY_SUB_DOMAIN.euc1.sh.basespace.illumina.com
. If you type this URL while being logged in under the base BaseSpace public domain, your browser will mistakenly redirect you outside your entreprise domain. You need to explicitely log out and re-enter the correct subdomain URL before logging in.basemount --unmount <mount point>
(this actually just calls the fusermount line below)basemount <mount point or subdirectory>
(same as above, after detecting that it refers to a mounted directory)fusermount -u <mount point>
cd
out of the filesystem's subdirectories in all your terminals.echo unmount > <mount point>/.commands
(brutal method, which kills BaseMount from within)fusermount -uz <mount point>
: lazy unmount, which leaves the basemount process running but frees the mount pointmount | grep basemount
.ls
only at the top level).basemount-cmd
.id.{entity-id} -> {entity-name}
.mkdir
command and delete them with rmdir
.cat Application/.AppLauncher
) will show you the launch API response.basemount-cmd show-launch-files
. A shortcut to relaunch the app is basemount-cmd relaunch
.mkdir
, it would first appear in write mode, making it possible to copy files to the Files directory. Once this is done, you can mark the entity as Complete with the command basemount-cmd mark-as-complete
.ls -a
.basemount-cmd refresh
. Some entities also have a "Status" file that is more dynamically updated and is sometimes writeable.Files
sub-directories expose data files, which can we copied or used interactively.cp
, rsync
, or any command line tool to copy the files from your BaseMount space to your chosen destination.--threads=<n>
and --cache-opts=<interactive block size>:<large block size>:<total cache size>
n=8
: 8 concurrent threads, shared between all concurrently downloaded filesinteractive block size=2
: accesses to non-contiguous blocks in a file use 2MB-size blockslarge block size=16
: contiguous accesses use 16MB-size blockstotal cache size=512
: max 512MB of RAM is used to cache downloaded blocks, which is 32 large blocks.16MB/thread * 8 threads * 8 bits/byte / 300s = 3.4 Mbps
=> If your connection is slower than that, you should reduce the number of threads or block size using the two above-mentioned parameters.Files
directory, you will see a special Files.metadata
directory.ls
results. Each file that you can see in a Files/ directory has a hidden matching directory entry in File.metadata/.
For example, if Files/ contains a file Files/mySubDir/myFile
, then you can do: cd Files.metadata/mySubDir/myFile
to access this file's metadata.
In there you will find the usual BaseMount metadata special files (such as .json), as well as a useful Content/Url file exposing the S3 URL of the file itself.basemount --remove-config [--config=<config>]
) and run BaseMount again to re-authenticate.mkdir <name>
command will create a new directory with the specified name.basemount --threads=<n>
option - note that this command line parameter is also controlling the number of download threads. Expect this to change in a future version).input.sample
property as follows:input.samples
with the type "array of samples":basemount-cmd mark-as-complete
to change the status of the associated appsession to "Complete".mv
command in the AppSessions directory to rename appsessions.basemount --remove-config [--config=<config>]
) and run BaseMount again to re-authenticate.basemount-cmd --path <entity directory> move-to-trash
.
In case of error (e.g. lack of permissions, app still running, etc.), the tool will report the error and exit with error code 1.cd
into the entity's directory and run basemount-cmd move-to-trash
.
Warning: In case of success, the current directory will become invalid, as the entity will have been deleted.cd
into the entity's parent directory and run rmdir <entity name>
.
In case of error, the entity won't be deleted, and the error message will be added to the .error
file in the current directory.basemount-cmd move-to-trash-preserve-metadata
, which deletes only the Data directory from the run, preserving the entity and the other files.<mount point>/.Trash
(note the dot) contains the list of items stored in your trash.
In order to restore one of these items, run:
basemount-cmd --path <path_of_item_in_trash> restore-from-trash
.basemount-cmd --path <restored entity's parent path> refresh
.Trash
directory is itself a directory that contains the usual .json and other metadata files, giving you some information about the deleted item.TrashItemType
exposes a string of the form <Type> (<includes>)
, where:<Type>
takes values such as "DeletedProject", "DeletedRun", "DeletedAppSession", etc.<includes>
is a list of '+'-separated entries as returned by the API, currently either "FILEDATA+METADATA" for items that have been deleted with move-to-trash
, and just "FILEDATA" for items that have been deleted with move-to-trash-preserve-metadata
rm -rf
rm -rf
to delete a BaseSpace Sequence Hub entity, as it could delete its properties before moving the entity itself to the trash.
As a safeguard, any attempt to delete an invalid item (such as the Projects directory or a .json file) blocks any other deletion for 5 seconds. As rm -rf
usually starts with such invalid items, it should block itself before deleting any data.curl
).basemount --use-v2-api
basemount-cmd
(or its shorter alias bm-cmd
) displays the list of available commands. This list of commands will vary based on your current directory, for example mark-as-complete
only appears for AppResults that are not yet in status==Complete, whereas the refresh
command appears in most directories.basemount-cmd
tool was introduced to:cat
, echo
, etc. only read or write to a file, but can't return explicit information or error messages conveniently)basemount-cmd <TAB><TAB>
)basemount-cmd <TAB><TAB>
displays the list of available commands.
Running basemount-cmd
without arguments also shows a description for each command.cat LaunchPayload > Application/.AppLauncher
(see show-launch-files below) Available in: appsession entities/tmp/BsfsMount
is created (the location can be configured), and will contain BSFS mount points./home/user/.basespace/default.cfg
(Note: replace "default" by the basemount config name you wish to configure).basemount -f ...
) to keep BaseMount in the foreground and give you a (very!) comprehensive log output. Disadvantage: it keeps one terminal busy and slows BaseMount down.--threads=<n>
sets the number of concurrent download threads--threads=2
may help.--cache-opts=<interactive block size>:<large block size>:<total cache size>
--cache-opts=2:4:512
would make BaseMount download 4MB blocks.--threads=4 --cache-opt=2:8:512
basemount-cmd refresh
cat <mount point>/.AccessToken/.json
apt-get/yum install basemount
commandapt-get/yum install bsfs
commandbm-cmd
tool, a shorter alias for basemount-cmd