# HG changeset patch # User bgruening # Date 1428662970 14400 # Node ID d882a0a75759ced6b90b20a2d4249fd48dec2035 # Parent 7f39014f9404ff57eadd8d518d7eaf0eb6e97f96 Uploaded diff -r 7f39014f9404 -r d882a0a75759 find_subsequences.py --- a/find_subsequences.py Fri Mar 20 06:23:17 2015 -0400 +++ b/find_subsequences.py Fri Apr 10 06:49:30 2015 -0400 @@ -10,7 +10,7 @@ choices = ['embl', 'fasta', 'fastq-sanger', 'fastq', 'fastq-solexa', 'fastq-illumina', 'genbank', 'gb'] -def find_pattern(seqs, pattern, outfile_path): +def find_pattern(seqs, pattern, outfile_path, strand): """ Finds all occurrences of a pattern in the a given sequence. Outputs sequence ID, start and end postion of the pattern. @@ -23,8 +23,10 @@ with open(outfile_path, 'w+') as outfile: for seq in seqs: - search_func(seq, pattern, outfile) - search_func(seq, rev_compl, outfile, '-') + if strand in ['both', 'forward']: + search_func(seq, pattern, outfile) + if strand in ['both', 'reverse']: + search_func(seq, rev_compl, outfile, '-') def simple_pattern_search(sequence, pattern, outfile, strand='+'): @@ -50,12 +52,13 @@ if __name__ == "__main__": parser = argparse.ArgumentParser() - parser.add_argument('-i', '--input' , required=True) - parser.add_argument('-o', '--output' , required=True) - parser.add_argument('-p', '--pattern' , required=True) + parser.add_argument('-i', '--input', required=True) + parser.add_argument('-o', '--output', required=True) + parser.add_argument('-p', '--pattern', required=True) + parser.add_argument('--strand', choices=['both', 'forward', 'reverse'], default='both') parser.add_argument('-f', '--format', default="fasta", choices=choices) args = parser.parse_args() with open(args.input) as handle: - find_pattern( SeqIO.parse(handle, args.format), args.pattern, args.output ) + find_pattern( SeqIO.parse(handle, args.format), args.pattern, args.output, args.strand ) diff -r 7f39014f9404 -r d882a0a75759 find_subsequences.xml --- a/find_subsequences.xml Fri Mar 20 06:23:17 2015 -0400 +++ b/find_subsequences.xml Fri Apr 10 06:49:30 2015 -0400 @@ -1,4 +1,4 @@ - + providing regions in BED format biopython @@ -6,14 +6,15 @@ @@ -248,6 +249,11 @@ + + + + + @@ -271,6 +277,20 @@ + + + + + + + + + + + + + + - - + +