How To Access HCP-YA Subject Data via REST
For the HCP 1200 Release, unprocessed and processed data for a subject can be accessed via REST calls apart from using other modes such as Connectome In a Box, Aspera, Amazon AWS.
In order to access data for a subject, you will need to register at https://db.humanconnectome.org
To get data via REST, in a script, you could use tools like curl.
Data organization
Details about file and folder organization are availablehere.
USAGE
To download a particular file, say the minimally processed file, T1w_acpc_dc_restore_1.25.nii.gz, for a subject, say 100307, you could invoke curl as:
curl -u DB_LOGIN_ID_HERE:DB_PASSWORD_HERE -O
https://db.humanconnectome.org/data/archive/projects/HCP_1200/subjects/100307/experiments/100307_CREST/resources/100307_CREST/files/T1w/T1w_acpc_dc_restore_1.25.nii.gz
The URI to get any file, for the subject 100307 in the HCP 1200 Release, would begin with:
https://db.humanconnectome.org/data/archive/projects/HCP_1200/subjects/100307/experiments/100307_CREST/resources/100307_CREST/files
add the path to the file after this prefix to get a file. For example, if you want the file MNINonLinear/Results/rfMRI_REST1_LR/rfMRI_REST1_LR_Atlas.dtseries.nii, the URL would be:
https://db.humanconnectome.org/data/archive/projects/HCP_1200/subjects/100307/experiments/100307_CREST/resources/100307_CREST/files/MNINonLinear/Results/rfMRI_REST1_LR/rfMRI_REST1_LR_Atlas.dtseries.nii
Bash Script snippet for getting files for a batch of subjects
DBHOST=https://db.humanconnectome.org
PROJECT=HCP_1200
REST_URL_PREFIX=$DBHOST/data/archive/projects/$PROJECT/subjects
##################################################################################################################
#
# GET a jsession
#
#
# Set
#
# MY_CURL_OPTIONS: Options that you may want to pass to curl such as --connect-timeout, --retry etc
# db_user: ConnectomeDB login id
# db_password: ConnectomeDB password
#
#
# subject_list_file: A File containing list of subject IDs
#
##################################################################################################################
jsession=`curl $MY_CURL_OPTIONS -u $db_user:$db_password $DBHOST`
while read line
do
subject=$line
subject_url_prefix=$REST_URL_PREFIX/$subject/experiments/${subject}_CREST/resources/${subject}_CREST/files
file_relative_path=MNINonLinear/Results/rfMRI_REST1_LR/rfMRI_REST1_LR_Atlas.dtseries.nii
curl $MY_CURL_OPTIONS -b "JSESSIONID=$jsession" -O $subject_url_prefix/$file_relative_path
done < $subject_list_file