--- /dev/null
+SEQ_NAME: test_full_length_adaptor
+SEQ: TCGTATGCCGTCTTCTGCTTG
+SEQ_LEN: 21
+---
+SEQ_NAME: test_begin_match
+SEQ: TCGTATGCCGTCTTCTGCTTGactacgt
+SEQ_LEN: 28
+---
+SEQ_NAME: test_middle_match
+SEQ: actgactgaTCGTATGCCGTCTTCTGCTTGactacgt
+SEQ_LEN: 37
+---
+SEQ_NAME: test_end_match
+SEQ: gactgaTCGTATGCCGTCTTCTGCTTG
+SEQ_LEN: 27
+---
+SEQ_NAME: test_pos_begin
+SEQ: gactgaTCGTATGCCGTCTTCTGCTTGgactgaTCGTATGCCGTCTTCTGCTTGacgta
+SEQ_LEN: 59
+---
+SEQ_NAME: test_edit_dist_5
+SEQ: actgactgaTCGGATGCGGTCTCATGTTGactacgt
+SEQ_LEN: 36
+---
+SEQ_NAME: test_end_trim
+SEQ: gtgacactatcgatacgatcgacactgaTCGTA
+SEQ_LEN: 33
+---
+SEQ_NAME: test_end_trim_edit_dist_1
+SEQ: gatgatcgtagcgatcgatcgacgctgaTCGTG
+SEQ_LEN: 33
+---
--- /dev/null
+SEQ_NAME: test_full_length_adaptor
+SEQ: TCGTATGCCGTCTTCTGCTTG
+SEQ_LEN: 21
+ADAPTOR_POS: 0
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_begin_match
+SEQ: TCGTATGCCGTCTTCTGCTTGactacgt
+SEQ_LEN: 28
+ADAPTOR_POS: 0
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_middle_match
+SEQ: actgactgaTCGTATGCCGTCTTCTGCTTGactacgt
+SEQ_LEN: 37
+ADAPTOR_POS: 9
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_end_match
+SEQ: gactgaTCGTATGCCGTCTTCTGCTTG
+SEQ_LEN: 27
+ADAPTOR_POS: 6
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_pos_begin
+SEQ: gactgaTCGTATGCCGTCTTCTGCTTGgactgaTCGTATGCCGTCTTCTGCTTGacgta
+SEQ_LEN: 59
+ADAPTOR_POS: 6
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_edit_dist_5
+SEQ: actgactgaTCGGATGCGGTCTCATGTTGactacgt
+SEQ_LEN: 36
+ADAPTOR_POS: 32
+ADAPTOR_LEN: 4
+ADAPTOR_MATCH: acgt
+---
+SEQ_NAME: test_end_trim
+SEQ: gtgacactatcgatacgatcgacactgaTCGTA
+SEQ_LEN: 33
+ADAPTOR_POS: 28
+ADAPTOR_LEN: 5
+ADAPTOR_MATCH: TCGTA
+---
+SEQ_NAME: test_end_trim_edit_dist_1
+SEQ: gatgatcgtagcgatcgatcgacgctgaTCGTG
+SEQ_LEN: 33
+ADAPTOR_POS: 28
+ADAPTOR_LEN: 4
+ADAPTOR_MATCH: TCGT
+---
--- /dev/null
+SEQ_NAME: test_full_length_adaptor
+SEQ: TCGTATGCCGTCTTCTGCTTG
+SEQ_LEN: 21
+---
+SEQ_NAME: test_begin_match
+SEQ: TCGTATGCCGTCTTCTGCTTGactacgt
+SEQ_LEN: 28
+ADAPTOR_POS: 24
+ADAPTOR_LEN: 4
+ADAPTOR_MATCH: acgt
+---
+SEQ_NAME: test_middle_match
+SEQ: actgactgaTCGTATGCCGTCTTCTGCTTGactacgt
+SEQ_LEN: 37
+ADAPTOR_POS: 33
+ADAPTOR_LEN: 4
+ADAPTOR_MATCH: acgt
+---
+SEQ_NAME: test_end_match
+SEQ: gactgaTCGTATGCCGTCTTCTGCTTG
+SEQ_LEN: 27
+ADAPTOR_POS: 24
+ADAPTOR_LEN: 3
+ADAPTOR_MATCH: TTG
+---
+SEQ_NAME: test_pos_begin
+SEQ: gactgaTCGTATGCCGTCTTCTGCTTGgactgaTCGTATGCCGTCTTCTGCTTGacgta
+SEQ_LEN: 59
+ADAPTOR_POS: 33
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_edit_dist_5
+SEQ: actgactgaTCGGATGCGGTCTCATGTTGactacgt
+SEQ_LEN: 36
+ADAPTOR_POS: 32
+ADAPTOR_LEN: 4
+ADAPTOR_MATCH: acgt
+---
+SEQ_NAME: test_end_trim
+SEQ: gtgacactatcgatacgatcgacactgaTCGTA
+SEQ_LEN: 33
+ADAPTOR_POS: 28
+ADAPTOR_LEN: 5
+ADAPTOR_MATCH: TCGTA
+---
+SEQ_NAME: test_end_trim_edit_dist_1
+SEQ: gatgatcgtagcgatcgatcgacgctgaTCGTG
+SEQ_LEN: 33
+ADAPTOR_POS: 28
+ADAPTOR_LEN: 4
+ADAPTOR_MATCH: TCGT
+---
--- /dev/null
+SEQ_NAME: test_full_length_adaptor
+SEQ: TCGTATGCCGTCTTCTGCTTG
+SEQ_LEN: 21
+ADAPTOR_POS: 0
+ADAPTOR_LEN: 17
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTG
+---
+SEQ_NAME: test_begin_match
+SEQ: TCGTATGCCGTCTTCTGCTTGactacgt
+SEQ_LEN: 28
+ADAPTOR_POS: 0
+ADAPTOR_LEN: 17
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTG
+---
+SEQ_NAME: test_middle_match
+SEQ: actgactgaTCGTATGCCGTCTTCTGCTTGactacgt
+SEQ_LEN: 37
+ADAPTOR_POS: 9
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_end_match
+SEQ: gactgaTCGTATGCCGTCTTCTGCTTG
+SEQ_LEN: 27
+ADAPTOR_POS: 6
+ADAPTOR_LEN: 17
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTG
+---
+SEQ_NAME: test_pos_begin
+SEQ: gactgaTCGTATGCCGTCTTCTGCTTGgactgaTCGTATGCCGTCTTCTGCTTGacgta
+SEQ_LEN: 59
+ADAPTOR_POS: 33
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_edit_dist_5
+SEQ: actgactgaTCGGATGCGGTCTCATGTTGactacgt
+SEQ_LEN: 36
+ADAPTOR_POS: 32
+ADAPTOR_LEN: 4
+ADAPTOR_MATCH: acgt
+---
+SEQ_NAME: test_end_trim
+SEQ: gtgacactatcgatacgatcgacactgaTCGTA
+SEQ_LEN: 33
+ADAPTOR_POS: 28
+ADAPTOR_LEN: 5
+ADAPTOR_MATCH: TCGTA
+---
+SEQ_NAME: test_end_trim_edit_dist_1
+SEQ: gatgatcgtagcgatcgatcgacgctgaTCGTG
+SEQ_LEN: 33
+ADAPTOR_POS: 28
+ADAPTOR_LEN: 4
+ADAPTOR_MATCH: TCGT
+---
--- /dev/null
+SEQ_NAME: test_full_length_adaptor
+SEQ: TCGTATGCCGTCTTCTGCTTG
+SEQ_LEN: 21
+ADAPTOR_POS: 0
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_begin_match
+SEQ: TCGTATGCCGTCTTCTGCTTGactacgt
+SEQ_LEN: 28
+ADAPTOR_POS: 0
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_middle_match
+SEQ: actgactgaTCGTATGCCGTCTTCTGCTTGactacgt
+SEQ_LEN: 37
+ADAPTOR_POS: 9
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_end_match
+SEQ: gactgaTCGTATGCCGTCTTCTGCTTG
+SEQ_LEN: 27
+ADAPTOR_POS: 6
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_pos_begin
+SEQ: gactgaTCGTATGCCGTCTTCTGCTTGgactgaTCGTATGCCGTCTTCTGCTTGacgta
+SEQ_LEN: 59
+ADAPTOR_POS: 6
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_edit_dist_5
+SEQ: actgactgaTCGGATGCGGTCTCATGTTGactacgt
+SEQ_LEN: 36
+ADAPTOR_POS: 35
+ADAPTOR_LEN: 1
+ADAPTOR_MATCH: T
+---
+SEQ_NAME: test_end_trim
+SEQ: gtgacactatcgatacgatcgacactgaTCGTA
+SEQ_LEN: 33
+ADAPTOR_POS: 28
+ADAPTOR_LEN: 5
+ADAPTOR_MATCH: TCGTA
+---
+SEQ_NAME: test_end_trim_edit_dist_1
+SEQ: gatgatcgtagcgatcgatcgacgctgaTCGTG
+SEQ_LEN: 33
+---
--- /dev/null
+SEQ_NAME: test_full_length_adaptor
+SEQ: TCGTATGCCGTCTTCTGCTTG
+SEQ_LEN: 21
+ADAPTOR_POS: 0
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_begin_match
+SEQ: TCGTATGCCGTCTTCTGCTTGactacgt
+SEQ_LEN: 28
+ADAPTOR_POS: 0
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_middle_match
+SEQ: actgactgaTCGTATGCCGTCTTCTGCTTGactacgt
+SEQ_LEN: 37
+ADAPTOR_POS: 9
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_end_match
+SEQ: gactgaTCGTATGCCGTCTTCTGCTTG
+SEQ_LEN: 27
+ADAPTOR_POS: 6
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_pos_begin
+SEQ: gactgaTCGTATGCCGTCTTCTGCTTGgactgaTCGTATGCCGTCTTCTGCTTGacgta
+SEQ_LEN: 59
+ADAPTOR_POS: 6
+ADAPTOR_LEN: 21
+ADAPTOR_MATCH: TCGTATGCCGTCTTCTGCTTG
+---
+SEQ_NAME: test_edit_dist_5
+SEQ: actgactgaTCGGATGCGGTCTCATGTTGactacgt
+SEQ_LEN: 36
+ADAPTOR_POS: 9
+ADAPTOR_LEN: 19
+ADAPTOR_MATCH: TCGGATGCGGTCTCATGTT
+---
+SEQ_NAME: test_end_trim
+SEQ: gtgacactatcgatacgatcgacactgaTCGTA
+SEQ_LEN: 33
+ADAPTOR_POS: 28
+ADAPTOR_LEN: 5
+ADAPTOR_MATCH: TCGTA
+---
+SEQ_NAME: test_end_trim_edit_dist_1
+SEQ: gatgatcgtagcgatcgatcgacgctgaTCGTG
+SEQ_LEN: 33
+ADAPTOR_POS: 28
+ADAPTOR_LEN: 5
+ADAPTOR_MATCH: TCGTG
+---
--- /dev/null
+#!/bin/bash
+
+source "$BP_DIR/bp_test/lib/test.sh"
+
+run "$bp -a TCGTATGCCGTCTTCTGCTTG -I $in -O $tmp"
+assert_no_diff $tmp $out.1
+clean
+
+run "$bp -a TCGTATGCCGTCTTCTGCTTG -p 25 -I $in -O $tmp"
+assert_no_diff $tmp $out.2
+clean
+
+run "$bp -a TCGTATGCCGTCTTCTGCTTG -p -35 -I $in -O $tmp"
+assert_no_diff $tmp $out.3
+clean
+
+run "$bp -a TCGTATGCCGTCTTCTGCTTG -e 5 -I $in -O $tmp"
+assert_no_diff $tmp $out.4
+clean
+
+run "$bp -a TCGTATGCCGTCTTCTGCTTG -e 30 -I $in -O $tmp"
+assert_no_diff $tmp $out.5
+clean