def query_sequence(seq, tries=<NUM_LIT:5>):
for i in reversed(range(tries)):<EOL><INDENT>page = _blogotubes_with_fdb_useragent('<STR_LIT>'+str(seq))<EOL>if page is None:<EOL><INDENT>return None<EOL><DEDENT>if '<STR_LIT>' in page: <EOL><INDENT>_logger.error(f'<STR_LIT>')<EOL>raise FDBResourceLimitReached(fdbpage=page)<EOL><DEDENT>try:<EOL><INDENT>ali = process_ali_data(seq, page)<EOL><DEDENT>except FDBDataError as e:<EOL><INDENT>if i <= <NUM_LIT:0>:<EOL><INDENT>_logger.warning(f"<STR_LIT>")<EOL>raise<EOL><DEDENT>else:<EOL><INDENT>_logger.info(str(e))<EOL>_logger.info(f'<STR_LIT>')<EOL>sleep(<NUM_LIT:5>)<EOL>continue<EOL><DEDENT><DEDENT>if i < tries-<NUM_LIT:1>:<EOL><INDENT>_logger.info(f'<STR_LIT>')<EOL><DEDENT>return ali<EOL><DEDENT>
Returns None on network error, raises FDBDataError if `tries` consecutive bad data,
    or a new SequenceInfo object if successful