The platform GUI provides the Project Connector utility which allows data to be linked automatically between projects. This creates a one-way dynamic link for files and samples from source to destination, meaning that additions and deletions of data in the source project also affect the destination project. This differs from copying or moving which create editable copies of the data. In the destination project, you can delete data which has been moved or copied and unlink data which has been linked.
one-way | files | folders | erases source data | propagate source edits | editable on destination | |
---|---|---|---|---|---|---|
Select the source project (project that will own the data to be linked) from the Projects page (Projects > your_source_project).
Select Project Settings > Details.
Select Edit
Under Data Sharing ensure the value is set to Yes
Select Save
Select the destination project (the project to which data from the source project will be linked) from the Projects page (Projects > your_destination_project).
From the projects menu, select Project Settings > Connectivity > Project Connector
Select + Create and complete the necessary fields.
Check the box next to Active to ensure the connector will be active.
Name (required) — Provide a unique name for the connector.
Type (required) — Select the data type that will be linked (either File or Sample)
Source Project - Select the source poject whose data will be linked to.
Filter Expression (optional) — Enter an expression to restrict which files will be linked via the connector (see Filter Expression Examples below)
Tags (optional) — Add tags to restrict what data will be linked via the connector. Any data in the source project with matching tags will be linked to the destination project.
The examples below will link Files based on the Format field.
Only Files with Format of FASTQ will be linked:
[?($.details.format.code == 'FASTQ')]
Only Files with Format of VCF will be linked:
[?($.details.format.code == 'VCF')]
The examples below will restrict linked Files based on a filenames.
Exact match to 'Sample-1_S1_L001_R1_001.fastq.gz':
[?($.details.name == 'Sample-1_S1_L001_R1_001.fastq.gz')]
Ends with '.fastq.gz':
[?($.details.name =~ /.*\.fastq.gz/)]
Starts with 'Sample-':
[?($.details.name =~ /Sample-.*/)]
Contains '_R1_':
[?($.details.name =~ /.*_R1_.*/)]
The examples below will link Samples based on User Tags and Sample name, respectively.
Only Samples with the User Tag 'WGS-Project-1'
[?('WGS-Project-1' in $.tags.userTags)]
Only Samples with the name 'BSSH_Sample_1':
Link a Sample with the name 'BSSH_Sample_1':
[?($.name == 'BSSH_Sample_1')]
move
x
x
x
x
x
copy
x
x
x
x
manual link
x
x
x
project connector
x
x
x