NIH | National Cancer Institute | NCI Wiki  

If your user account has the Read permission level on various collections, you can download one or more of those collections, from DME to an Amazon Web Services (AWS) S3 bucket. 

To download one or more collections to S3:

  1. Prepare an S3 bucket, as described in Preparing to Use AWS S3 Bucket for the CLU

  2. Consider whether you want to download a single collection or multiple collections: 

    • To download a single collection: Plan to specify the path for that collection in the command. 
    • To download multiple collections: In your local system, use a command line editor (such as vi editor) to create a file that lists the paths for all of the DME collections you want to download, delimited by newline. Plan to use the -f option to specify that file in the command. 
  3. Run the following command:

    (dm_download_collection_s3 [optional parameters] [DME data path] <destination S3 bucket> <destination-path> [AWS credentials file path])


    The following table describes each parameter:

    ParameterDescription
    [-D <REST-response>]

    An optional parameter, specifying a path and filename in your local system. The system always creates a response file:

    • If you specify this parameter, the system saves the response from the server to the specified file in the specified location.
    • If you omit this parameter, the system saves the file as download-collection-response-header.tmp in your home directory.
    [-o <output-json-file>]

    An optional parameter, specifying a path and filename in your local system. The system always creates an output file: 

    • If you specify this parameter, the system saves the output to the specified file in the specified location.
    • If you omit this parameter, the system saves the output as download-collection-response-message.json.tmp in your home directory.

    If the command is successful, the output file is empty.

    [-f <paths-file>]

    or

    [DME data path]

    One or more paths within DME. Select one of the following methods to specify the collection or collections that you want to download:

    • To specify multiple collections, use the -f parameter to specify a path and filename in your local system, of a file that lists the paths for all of the DME collections you want to download, delimited by newline.
    • To specify a single collection, specify the path for the DME collection you want to download.
    <destination S3 bucket>
    The name of the destination S3 bucket.
    <destination path>
    The path to and the name of the folder in the destination bucket. Do not begin the path with a slash. If the destination folder structure you specify does not already exist, DME creates it. 
    [AWS credentials file path]

    The location of the credentials file. If your credentials file is in the default location, as noted in Preparing to Use AWS S3 Bucket for the CLU, you can omit this parameter.

For some examples, consider the following code specified in a credentials file:

[default]
aws_access_key_id = SAMPLEACCESSKEY
aws_secret_access_key = SampleSecretAccessKey
region = us-east-1

Single Collection Example

The following example uses the credentials file in a non-default location to download a collection from DME. 

dm_download_collection_s3 /Example_Archive/PI_Lab1/Project_1 bucket1 folder1/subfolder1/ /NCI/JaneDoe/aws/credentials


In this example, the command performs the following:

  • Locates or creates a folder1 folder in the bucket1 bucket.
  • Locates or creates a subfolder1 folder within the folder1 folder.
  • Downloads from DME all files in the Project_1 collection.
  • Saves those files in the subfolder1 folder with the same file names they have in DME. 

Multiple Collections Example

For another example, consider the following command.

dm_download_collection_s3 -f collection-list.txt bucket1 folder1/subfolder1/


With the following code in the specified collection-list.txt file, the above command uses the credentials file in a default location to download multiple collections from various locations in DME.

/Example_Archive/PI_Lab2/Project_1
/Example_Archive/PI_Lab2/Project_2
/Example_Archive/PI_Lab3/Project_1

In this example, the command performs the following:

  • Locates or creates a folder1 folder in the bucket1 bucket.
  • Locates or creates a subfolder1 folder within the folder1 folder.
  • Downloads from DME all files in the collections listed in the specified collection-list.txt file.
  • Saves those files in the subfolder1 folder with the same file names they have in DME. 
  • No labels