def METHOD_NAME(args):
    if os.path.exists(SILVA_FILE):
        interesting_ids = read_silva(SILVA_FILE)
    if os.path.exists(DEFAULT_PICKLE_FILE):
        with open(DEFAULT_PICKLE_FILE,'r') as picklefile:
            to_load = pickle.load(picklefile)
    else:
        to_load = None
    d = driver()
    if to_load:
        accessions, lastfile, conflicts = to_load
        print("accessions: {0:8d}; last: {1}".format(len(accessions),lastfile))
        segment = d.next()
        while lastfile[:-4] != segment:
            print("lastfile: {0}, segment: {1}".format(lastfile[:-4], segment))
            segment = d.next()
        segment = d.next() # advance to next sequence file
    else:
        accessions = {}
        conflicts = set()
        segment = d.next()
    while segment:
        remote_file = segment + '.seq.gz'
        local_file = segment + '.seq'
        command = ("curl -# '" + 
                   FTP_SERVER + 
                   remote_file + 
                   "' | gunzip > " + 
                   local_file)
        print command
        os.system(command)
        accessions, conflicts = process_file(local_file, accessions, conflicts, interesting_ids)
        print "accession count = {0:8d}".format(len(accessions))
        to_save = (accessions, local_file, conflicts)
        temp = DEFAULT_PICKLE_FILE + '.new'
        with open(temp, 'w') as picklefile:
            pickle.dump(to_save, picklefile, -1)
        os.rename(temp, DEFAULT_PICKLE_FILE)
        os.remove(local_file)
        segment = d.next()