Change from java-based EGA downloader to pyega3

The documentation states, that one needs to use the EGA Download client to access ICGC data stored with EGA. I found that this client is not really supported anymore and that EGA now usually points to their Python based pyega3 client. I know that the manifest files in DCC are generated automatically to work with the java based client but only few adaptations are necessary to use it with pyega3.

You will need to

  1. install pyega3 v.5.1.0 or higher
  2. adapt the auto-generated manifest file to
#!/bin/bash
###############################################################################
# Manifest
###############################################################################

file_ids="EGAF00001074790"
mapping="{EGAF00001074790=FI41441}

###############################################################################
# Checking
###############################################################################

if ! command -v python &>/dev/null; then
   echo "Python not found. Exiting..."
   exit 2
fi

###############################################################################
# Request
###############################################################################

echo "Requesting $mapping..."

for file_id in $file_ids
do
  echo "Requesting $file_id..."
  pyega3 -cf conf.pyega3.json fetch $file_id
done

echo "Finished!"
  1. provide a second file called conf.pyega3.json which looks like
{
   "username":<your email registered with EGA>,
   "password":<your password registered with EGA>
}

Maybe this can be included in the docs as a second option to access the data.

1 Like