def test_keep_filtered_read_input(): import sys sys.argv = ['--keep_filtered', 'test.fastq'] (min_len, keep_filtered, min_GC, max_GC, output_base_name, file_name) = read_input() assert keep_filtered sys.argv = ['test.fastq'] (min_len, keep_filtered, min_GC, max_GC, output_base_name, file_name) = read_input() assert not keep_filtered
def test_GC_bounds_read_input(): import sys sys.argv = ['--gc_bounds', '10', '75', 'test.fastq'] (min_len, keep_filtered, min_GC, max_GC, output_base_name, file_name) = read_input() assert max_GC == 75 assert min_GC == 10
print(OVERWRITE_WARNING) if min_len == 0 and min_GC == 0 and max_GC == 0: copy_fastq(output_base_name, file_name) elif min_len == 0: sort_only_GC_trash_filtered(min_GC, max_GC, output_base_name, file_name) elif min_len > 0: if min_GC == 0 and max_GC == 100: sort_only_len_trash_filtered(min_len, output_base_name, file_name) else: sort_by_len_GC_trash_filtered(min_len, min_GC, max_GC, output_base_name, file_name) def copy_fastq(output_base_name: str, file_name: str): print('Filtration arguments not found. Output file is equal to\ non filtrated file') original = file_name target = '{}_output.fastq'.format(output_base_name) copyfile(original, target) if __name__ == '__main__': (min_len, keep_filtered, min_GC, max_GC, output_base_name, file_name) = read_input() main_sorter(min_len, keep_filtered, min_GC, max_GC, output_base_name, file_name)
def test_file_name_read_input(): import sys sys.argv = ['--min_length', '50', 'test.fastq'] (min_len, keep_filtered, min_GC, max_GC, output_base_name, file_name) = read_input() assert file_name == 'test.fastq'