Lamin URIs
¶
The nf-lamin plugin provides native support for lamin:// URIs, allowing you to reference LaminDB artifacts directly in your Nextflow workflows using Nextflow’s standard file() function.
lamin://<owner>/<instance>/artifact/<uid>[/<subpath>]
Components:
owner- The LaminDB instance owner (organization or user)instance- The LaminDB instance nameuid- The artifact UID (16 or 20 characters)16-character base UIDs fetch the most recently updated version
20-character full UIDs fetch that specific version
subpath- (Optional) Path within the artifact for directories or archives
Basic usage¶
Use lamin:// URIs with the file() function:
workflow {
// Reference a LaminDB artifact directly by URI
def input_file = file('lamin://laminlabs/lamindata/artifact/PnNjE93TdZGJ')
log.info "Using artifact: ${input_file}"
Channel.of(input_file)
| myProcess
}
With sub-paths¶
For artifacts that are directories or archives, reference specific files within them:
workflow {
// Reference a specific file within an artifact directory
def config_file = file('lamin://myorg/myinstance/artifact/abcd1234efgh5678/config/settings.yaml')
Channel.of(config_file)
| processConfig
}
As workflow parameters¶
Use lamin:// URIs as workflow parameters:
params.input = 'lamin://laminlabs/lamindata/artifact/PnNjE93TdZGJ'
workflow {
Channel.fromPath(params.input)
| myProcess
}
Or pass them on the command line:
nextflow run my-pipeline.nf --input 'lamin://laminlabs/lamindata/artifact/PnNjE93TdZGJ'
Requirements¶
The
nf-laminplugin must be configured with a valid API keyThe workflow must have started (the plugin initializes on workflow start)
For private cloud storage, ensure your AWS/GCS credentials are configured in
nextflow.config
Limitations¶
lamin://paths are read-only - you cannot write to themCurrently uses cloud credentials from your
nextflow.config(automatic credential federation from LaminHub is planned for a future release)