/* $Id: 048be23c545b202a167c06ced1bada536166c34d $ */
#ifndef PATH_TRIM_INCLUDED
#define PATH_TRIM_INCLUDED

#include "path.h"
#include "compress.h"
#include "genomebits.h"

#include "intlistpool.h"
#include "univcoord.h"
#include "listpool.h"
#include "pathpool.h"

#define T Path_T

extern void
Path_trim_qstart_n (int noutside, T this,
		    Compress_T query_compress_fwd, Compress_T query_compress_rev,
		    Intlistpool_T intlistpool, Univcoordlistpool_T univcoordlistpool,
		    Listpool_T listpool, Pathpool_T pathpool);
extern void
Path_trim_qstart_chrbounds (T this, Intlistpool_T intlistpool, Univcoordlistpool_T univcoordlistpool,
			    Listpool_T listpool, Pathpool_T pathpool);
extern void
Path_trim_qend_n (int noutside, T this,
		  Compress_T query_compress_fwd, Compress_T query_compress_rev,
		  Intlistpool_T intlistpool, Univcoordlistpool_T univcoordlistpool,
		  Listpool_T listpool, Pathpool_T pathpool);
extern void
Path_trim_qend_chrbounds (T this, Intlistpool_T intlistpool, Univcoordlistpool_T univcoordlistpool,
			  Listpool_T listpool, Pathpool_T pathpool);
extern void
Path_trim_circular_unalias (T this);
extern void
Path_trim_circular_unalias_pair (T pathL, T pathH);
extern void
Path_trim_circular (T this, Compress_T query_compress,
		    Intlistpool_T intlistpool, Univcoordlistpool_T univcoordlistpool,
		    Listpool_T listpool);
extern void
Path_trim_setup (Genomebits_T genomebits_in, Genomebits_T genomebits_alt_in);


#undef T
#endif


