Spec HardwiredShape
A structure to define a fixed gapped shape.

Extends GappedShape
All Extended GappedShape, Shape
Defined in <seqan/index.h>
Signature template <typename TValue, typename P1[, typename P2[, ..., typename Pn]]> class Shape<TValue, HardwiredShape<P1[, P2[, ..., Pn]]> >;

Template Parameters

TValue The type to use for the values.
Pi Pi is the distance of the i'th '1' to the next '1' in the shape.At most 20 parameters are allowed, so the maximal shape weight is 21.

Interface Function Overview

Interface Functions Inherited From Shape

Interface Metafunction Overview

Interface Metafunctions Inherited From Shape

Detailed Description

You can use this structure to define your one gapped shapes in conjunction with GappedShape.

The shape 1100101 corresponds to HardwiredShape<1,3,2>.

Note The following predefined shapes are already available in seqan/index/shape_predefined.h:

// ==========================================================================
//                 SeqAn - The Library for Sequence Analysis
// ==========================================================================
// Copyright (c) 2006-2013, Knut Reinert, FU Berlin
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
//     * Redistributions of source code must retain the above copyright
//       notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above copyright
//       notice, this list of conditions and the following disclaimer in the
//       documentation and/or other materials provided with the distribution.
//     * Neither the name of Knut Reinert or the FU Berlin nor the names of
//       its contributors may be used to endorse or promote products derived
//       from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL KNUT REINERT OR THE FU BERLIN BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
// DAMAGE.
//
// ==========================================================================
// Author: David Weese <david.weese@fu-berlin.de>
// ==========================================================================

#ifndef SEQAN_HEADER_SHAPE_PREDEFINED_H
#define SEQAN_HEADER_SHAPE_PREDEFINED_H

//SEQAN_NO_GENERATED_FORWARDS: no forwards are generated for this file

namespace SEQAN_NAMESPACE_MAIN
{

	//////////////////////////////////////////////////////////////////////////////
	// some predefined gapped shapes


	//////////////////////////////////////////////////////////////////////////////
	// Single seed of
	// B.Ma and J.Tromp and M.Li, 
	// "PatternHunter: faster and more sensitive homology search"
	// Bioinformatics 18, 2002
	//
	// weight:11 
	// length:18
	// 
	// shape:
	// 111010010100110111

	typedef GappedShape< 
		HardwiredShape< 1, 1, 2, 3, 2, 3, 1, 2, 1, 1 > 
	> ShapePatternHunter;



	//////////////////////////////////////////////////////////////////////////////
	// Multiple seeds of
	// L.Ilie and S.Ilie, "Fast Computation of Good Multiple Spaced Seeds"
	// WABI, 2007
	//
	// weight:9 
	// length:15 
	//
	// shapes:
	// 111010100100111
	// 110100110011101
	// 111010001011011
	//
	// sensitivity:
	// 65% 0.747975		70% 0.897741
	// 75% 0.973134		80% 0.996226

	typedef GappedShape< 
		HardwiredShape< 1, 1, 2, 2, 3, 3, 1, 1 > 
	> ShapeIlieA1;

	typedef GappedShape< 
		HardwiredShape< 1, 2, 3, 1, 3, 1, 1, 2 > 
	> ShapeIlieA2;

	typedef GappedShape< 
		HardwiredShape< 1, 1, 2, 4, 2, 1, 2, 1 > 
	> ShapeIlieA3;



	//////////////////////////////////////////////////////////////////////////////
	// Multiple seeds of
	// L.Ilie and S.Ilie, "Fast Computation of Good Multiple Spaced Seeds"
	// WABI 2007
	//
	// weight:9 
	// length:13..23 
	//
	// shapes:
	// 1110110100111
	// 11010000110010111
	// 11100010010000101011
	//
	// sensitivity:
	// 65% 0.767413		70% 0.910949
	// 75% 0.978558		80% 0.997357

	typedef GappedShape< 
		HardwiredShape< 1, 1, 2, 1, 2, 3, 1, 1 > 
	> ShapeIlieB1;

	typedef GappedShape< 
		HardwiredShape< 1, 2, 5, 1, 3, 2, 1, 1 > 
	> ShapeIlieB2;

	typedef GappedShape< 
		HardwiredShape< 1, 1, 4, 3, 5, 2, 2, 1 > 
	> ShapeIlieB3;


}	// namespace seqan

#endif

See Also