Ejemplo n.º 1
0
def download_data(group, data_accession, output_format, group_dir, fetch_wgs,
                  extract_wgs, expanded, fetch_meta, fetch_index, aspera):
    if group == utils.WGS:
        print 'Fetching ' + data_accession[:6]
        sequenceGet.download_wgs(group_dir, data_accession[:6], output_format)
    else:
        print 'Fetching ' + data_accession
        if group == utils.ASSEMBLY:
            assemblyGet.download_assembly(group_dir, data_accession,
                                          output_format, fetch_wgs,
                                          extract_wgs, expanded, True)
        elif group in [utils.READ, utils.ANALYSIS]:
            readGet.download_files(data_accession, output_format, group_dir,
                                   fetch_index, fetch_meta, aspera)
Ejemplo n.º 2
0
def download_data(group, data_accession, format, group_dir, fetch_wgs, fetch_meta, fetch_index, aspera):
    if group == utils.WGS:
        print ('Fetching ' + data_accession[:6])
        if aspera:
            print ('Aspera not supported for WGS data. Using FTP...')
        sequenceGet.download_wgs(group_dir, data_accession[:6], format)
    else:
        print ('Fetching ' + data_accession)
        if group == utils.ASSEMBLY:
            if aspera:
                print ('Aspera not supported for assembly data. Using FTP...')
            assemblyGet.download_assembly(group_dir, data_accession, format, fetch_wgs, True)
        elif group in [utils.READ, utils.ANALYSIS]:
            readGet.download_files(data_accession, format, group_dir, fetch_index, fetch_meta, aspera)
Ejemplo n.º 3
0
 try:
     if utils.is_wgs_set(accession):
         if output_format is not None:
             sequenceGet.check_format(output_format)
         sequenceGet.download_wgs(dest_dir, accession, output_format)
     elif not utils.is_available(accession):
         sys.stderr.write('ERROR: Record does not exist or is not available for accession provided\n')
         sys.exit(1)
     elif utils.is_sequence(accession):
         if output_format is not None:
             sequenceGet.check_format(output_format)
         sequenceGet.download_sequence(dest_dir, accession, output_format, expanded)
     elif utils.is_analysis(accession):
         if output_format is not None:
             readGet.check_read_format(output_format)
         readGet.download_files(accession, output_format, dest_dir, fetch_index, fetch_meta, aspera)
     elif utils.is_run(accession) or utils.is_experiment(accession):
         if output_format is not None:
             readGet.check_read_format(output_format)
         readGet.download_files(accession, output_format, dest_dir, fetch_index, fetch_meta, aspera)
     elif utils.is_assembly(accession):
         if output_format is not None:
             assemblyGet.check_format(output_format)
         assemblyGet.download_assembly(dest_dir, accession, output_format, fetch_wgs, extract_wgs, expanded)
     else:
         sys.stderr.write('ERROR: Invalid accession provided\n')
         sys.exit(1)
     print 'Completed'
 except Exception:
     traceback.print_exc()
     utils.print_error()
Ejemplo n.º 4
0
                        version='%(prog)s 1.2')
    return parser


if __name__ == '__main__':
    parser = set_parser()
    args = parser.parse_args()

    accession = args.accession
    dest_dir = args.dest
    fetch_meta = args.meta
    aspera = args.aspera

    if not utils.is_analysis(accession):
        print(
            'Error: Invalid accession. An analysis accession must be provided')
        sys.exit(1)

    if not utils.is_available(accession):
        print(
            'Record does not exist or is not available for accession provided')
        sys.exit(1)

    try:
        readGet.download_files(accession, utils.SUBMITTED_FORMAT, dest_dir,
                               False, fetch_meta, aspera)
        print('Completed')
    except Exception:
        utils.print_error()
        sys.exit(1)