This is a program written in C programming language to search patterns in multiple fasta files with specified maximum differences between the input query pattern and the target sequences (edit distances). These differences include mismatches, insertions, and deletions. A precompiled version of the program "pattern_search" can be downloaded from this site, together with a perl script "convert_to_bed.pl" to convert the outputs into a file in bed format. To use these programs, here is an example: ./pattern_search CGCTGAGGCAGCACCCTGTG 2 mm2 genome.fa ./convert_to_bed.pl mm2.forward mm2.backward chromosome_size.txt | sort -k1,1 -k2,2n -k3,3n > mm1.bed where - CGCTGAGGCAGCACCCTGTG is the input query pattern to search (case insensitive, <= 64 bp); - "2" is the maximum differences (you can choose any reasonable numbers that meets your need); - "mm2" is the output file prefix. Two files, "mm2.forward" and "mm2.backward", will be generated; - "genome.fa" is the genome sequences in fasta format. Multiple genome sequences in multiple files are accepted. Case insensitive; - "chromosome_size.txt" is a file that (1) remaps the sequence names in the fasta file(s); (2) gives the size of each sequence. An example file for mm10 mouse genome can be downloaded from this site. If the dynamically linked program "pattern_search" does not work on your system, try the statically linked "pattern_search_static". Note that the input query pattern should be smaller than 64 bp.