Sharing and Collaboration

How do I invite other users to access my project?

To invite other users to a project, you must first have ADMINISTER access to that project (if you created the project yourself, this is the default setting). For more information about project sharing, please see the guide to projects on DNAnexus.

Through the web UI

  1. Navigate to your project page.

  2. Click on the Share button in the upper right-hand corner.

  3. Enter the username or email of the user you'd like to add to the project in the text box.

  4. Select the access level you would like to give to that user in the dropdown box on the right.

  5. Click the Add Member button.

For more detailed instructions, see the instructions here.

Through the command line

# The following commands invite a user to have VIEW, UPLOAD, CONTRIBUTE,
# and ADMINISTER permissions, respectively
$ dx invite username project-name-or-id VIEW
$ dx invite username project-name-or-id UPLOAD
$ dx invite username project-name-or-id CONTRIBUTE
$ dx invite username project-name-or-id ADMINISTER

How do I send or transfer data to another user?

To send (transfer) a data object to another user, you can do the following:

  1. Create a new project.

  2. Add all the data that you will give to the other user, the recipient of this project.

  3. Transfer the project to the recipient.

More detailed instructions can be found here.

The project recipient will receive an email notification that you wish to transfer the project to them. The recipient must then accept the transfer. The transfer will not be complete until this step is done.

Note that after the user accepts the transfer, they will become an ADMIN of the project. If they wish to do so, they will be able to remove your access from the project.

Through the web UI

  1. Navigate to your project page.

  2. Click on the button in the upper left-hand corner for your project settings.

  3. Click the Transfer to Another User link.

Go to this page for more detailed instructions.

Through the command line

# The following command will send a transfer request to a user
# Replace project-xxxx with your project ID and user@example.com
# with the recipient's DNAnexus username or email associated with
# his/her account
$ dx api /project-xxxx/transfer '{"invitee": "user@example.com"}'

I would like to have my sample data uploaded into my DNAnexus account by my sequencing service provider. How should I go about doing this?

If your sequencing service provider has a DNAnexus account:

  1. The sequencing service provider should then upload the data directly into this project. See the answer to the question below for instructions.

  2. After the upload is complete, you can remove the sequencing service provider from the project.

If your sequencing service provider does NOT have a DNAnexus account:

You can give your sequencing service provider a DNAnexus API token to allow them to upload the data into a project you own. An API token is a secret string that can be used to authenticate you on the DNAnexus platform while you are using the command-line tools. You can limit the scope of the token created to give the bearer UPLOAD access to a specified project, and only that specified project.

We recommend that you follow these steps:

  1. Create a new API token.

    • Set the token scope to only the project you just created.

    • Set the token scope to have UPLOAD (or greater) access to the project.

    • Set the expiration date for the token.

  2. Send the API token to your sequencing service provider and have them follow the instructions outlined in the question below.

  3. After the upload is complete, if you no longer want your sequencing service provider to access your project, you can revoke their access and delete the API token.

I am a sequencing service provider and I HAVE a DNAnexus account. My customers would like their samples uploaded into their DNAnexus account. What should I do?

If you have a DNAnexus account, there are TWO different methods you can go about doing this.

You can create a new project and transfer the project to your customer.

  1. Upload your data into the project by following the instructions below (we recommend that you use the Upload Agent for large files) (instructions below).

  2. After upload is complete, transfer your project to your customer; they will need to give you the username or email address associated with the account.

Alternatively, you can have your customer share with you a project and give you UPLOAD or CONTRIBUTE access.

  1. Give your customer your DNAnexus username or the email associated with your DNAnexus account.

  2. Have them follow the instructions in the answer to the question above to give you UPLOAD access to a project they own. When this is done, you will see their project in the list of projects to which you have access.

  3. Upload your data into the platform using Upload Agent (instructions below).

  4. Notify your customer that their samples are ready.

Uploading Large Files using Upload Agent

If you don’t already have Upload Agent installed, please follow the instructions here to install it.

Below, we show an example query which will upload all files matching the pattern *.fastq.gz present in your current local directory. Since files matching this pattern should already be compressed, we set the --do-not-compress flag on Upload Agent. We also set the --progress flag to show upload progress. You should fill in <TOKEN> with an API token you create for authentication against the platform and project-xxxx with the project ID given to you.

ua --auth-token <TOKEN> --project project-xxxx --progress --do-not-compress *.fastq.gz

For more information about Upload Agent, please see its page.

Note: If you’re using the web platform, you can find the project ID (formatted project-xxxx) by going to the project settings page.

Troubleshooting: If you experience any errors using Upload Agent, troubleshoot by following the instructions in the answer to the question below.

I am a sequencing service provider and I DO NOT HAVE a DNAnexus account. My customers would like their samples uploaded into their DNAnexus account. What should I do?

Even if you do not have a DNAnexus account, you can upload to an existing DNAnexus account using Upload Agent, the DNAnexus command-line upload tool, and a DNAnexus API token provided to you by the user. An API token is a secret string that can be used to authenticate you on the DNAnexus platform while you are using the command-line tools. API tokens cannot be used to access the web platform.

  1. Your customers should first follow the instructions here and give you the following:

    • Project ID (of the format project-xxxx)

    • API token with UPLOAD (or greater) access to the project above.

  2. Install the Upload Agent executable.

Below, we show an example query which will upload all files matching the pattern *.fastq.gz present in your current local directory. Since files matching this pattern should already be compressed, we set the --do-not-compress flag on Upload Agent. We also set the --progress flag to show upload progress. You should fill in <TOKEN> with an API token you create for authentication against the platform and project-xxxx with the project ID given to you.

ua --auth-token <TOKEN> --project project-xxxx --progress --do-not-compress *.fastq.gz

If you experience any errors using Upload Agent, troubleshoot by following the instructions in the answer to the question below.

I am trying to use Upload Agent with an API token but I keep getting errors. How do I troubleshoot?

If you get the following error while using Upload Agent, this may indicate one of the following:

  • You have typed in an invalid project ID (the project does not exist).

  • You do not have appropriate permissions to upload to this project.

project-xxxx does not represent a valid project name or ID (with >=UPLOAD access).
Please check the project name/ID given and whether you have >= UPLOAD permission
to project specified."

In this case, you can troubleshoot the problem by using the DNAnexus command-line tools (a.k.a. the DNAnexus SDK).

Step 1: Try to authenticate on the DNAnexus platform using the API token given to you.

If the following command returns an error, please make a new token.

dx login --token <TOKEN>

Step 2: If you are able to successfully log in, check to see if you have access to the project by trying to dx select (navigate into) the project.

If this command returns a ResourceNotFound error, please check the project ID to make sure that it is valid.

dx select project-xxxx

Step 3: If the above two commands work, check that you have UPLOAD or greater permission to the project by describing the project with dx describe and checking that your "Access Level" to the project is UPLOAD, CONTRIBUTE, or ADMINISTER.

If your access level is VIEW, please make a new token with UPLOAD (or greater) access to the project.

dx describe project-xxxx

Step 4: If none of the above work, please try running Upload Agent one more time while logged in on the command line.

Step 5: If you are still experiencing issues uploading, please contact support@dnanexus.com for assistance.