Commit e29a1702 authored by Ivan Vanát's avatar Ivan Vanát
Browse files

catching exceptions; updated generator argument description

parent 6a1bfadb
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -11,13 +11,13 @@ from nested.output.sketcher import Sketcher
@click.argument('input_db', required=True, type=click.Path(exists=True))
@click.argument('input_db', required=True, type=click.Path(exists=True))
@click.argument('output_db', required=True, type=str)
@click.argument('output_db', required=True, type=str)
@click.option('--baselength', '-l', type=int, help='Baselength for generated elements.')
@click.option('--baselength', '-l', type=int, help='Baselength for generated elements.')
@click.option('--number_of_iterations', '-i', type=int, help='Number of iterations in generating.')
@click.option('--number_of_iterations', '-i', type=int, help='Number of inserted elements.')
@click.option('--number_of_elements', '-n', type=int, help='Number of generated elements.')
@click.option('--number_of_elements', '-n', type=int, help='Number of generated sequences.')
@click.option('--filter', '-f', is_flag=True, default=False, type=str, help='Filter database and create new one with given output db path.')
@click.option('--filter', '-f', is_flag=True, default=False, type=str, help='Filter database and create new one with given output db path.')
@click.option('--filter_string', '-s', type=str, help='Filter entries by given string [ONLY RELEVANT WITH -filter OPTION].')
@click.option('--filter_string', '-s', type=str, help='Filter entries by given string [ONLY RELEVANT WITH -filter OPTION].')
@click.option('--filter_offset', '-o', type=int, help='LTR offset allowed [ONLY RELEVANT WITH -filter OPTION].')
@click.option('--filter_offset', '-o', type=int, help='LTR offset allowed [ONLY RELEVANT WITH -filter OPTION].')
@click.option('--percentage', '-p', type=int, help='Percentage of elements in generated sequence.')
@click.option('--percentage', '-p', type=int, help='Percentage of elements in generated sequence.')
@click.option('--average_element', '-a', type=int, help='Average element length.')
@click.option('--average_element', '-a', type=int, help='Average element length in database.')
@click.option('--expected_length', '-e', type=int, help='Expected output sequence length [ONLY WORKS WITH -percentage and -average_element].')
@click.option('--expected_length', '-e', type=int, help='Expected output sequence length [ONLY WORKS WITH -percentage and -average_element].')
@click.option('--output_directory', '-d', default=os.getcwd(), type=str, help='Output directory.')
@click.option('--output_directory', '-d', default=os.getcwd(), type=str, help='Output directory.')
def main(input_db, output_db, baselength, number_of_iterations,
def main(input_db, output_db, baselength, number_of_iterations,
+21 −21
Original line number Original line Diff line number Diff line
@@ -42,7 +42,7 @@ def process_sequence(sequence, sketcher, i, sketch, format, output_fasta_offset,
    seq_start_time = datetime.now()
    seq_start_time = datetime.now()
    strlen = 15
    strlen = 15
    print("Processing {}".format(sequence.id))
    print("Processing {}".format(sequence.id))
    #try:
    try:
        nester = Nester(sequence, i, initial_threshold, threshold_multiplier)
        nester = Nester(sequence, i, initial_threshold, threshold_multiplier)
        sketcher.create_gff(nester.nested_element, dirpath=output_folder, output_fasta_offset=output_fasta_offset, format=format)
        sketcher.create_gff(nester.nested_element, dirpath=output_folder, output_fasta_offset=output_fasta_offset, format=format)
        sketcher.create_solo_ltr_gff(nester.solo_ltrs, dirpath=output_folder)  
        sketcher.create_solo_ltr_gff(nester.solo_ltrs, dirpath=output_folder)  
@@ -52,17 +52,17 @@ def process_sequence(sequence, sketcher, i, sketch, format, output_fasta_offset,
            sketcher.sketch(sequence.id, dirpath=output_folder)
            sketcher.sketch(sequence.id, dirpath=output_folder)
        seq_end_time = datetime.now()
        seq_end_time = datetime.now()
        print('Processing {a}: DONE [{b}]'.format(a=sequence.id, b=seq_end_time - seq_start_time))
        print('Processing {a}: DONE [{b}]'.format(a=sequence.id, b=seq_end_time - seq_start_time))
    #except KeyboardInterrupt:
    except KeyboardInterrupt:
    #    cleanup()
        cleanup()
    #    raise
        raise
    #except CalledProcessError:
    except CalledProcessError:
    #    cleanup()
        cleanup()
    #    number_of_errors += 1
        number_of_errors += 1
    #    print('Processing {}: SUBPROCESS ERROR'.format(sequence.id[:strlen]))
        print('Processing {}: SUBPROCESS ERROR'.format(sequence.id[:strlen]))
    #except:
    except:
    #    cleanup()
        cleanup()
    #    number_of_errors += 1
        number_of_errors += 1
    #    print('Processing {}: UNEXPECTED ERROR:'.format(sequence.id[:strlen]), sys.exc_info()[0])
        print('Processing {}: UNEXPECTED ERROR:'.format(sequence.id[:strlen]), sys.exc_info()[0])


def cleanup():
def cleanup():
    for file in glob.glob("*ltrs.fa"):
    for file in glob.glob("*ltrs.fa"):