a97f8a0fffb31a2b3521e573a03f454fb60275d3 markd Tue May 30 21:30:12 2023 -0700 Add mechnaism to fix problem with mapping prot-prot via prot-na alignment by explictly specifying the type of alignments diff --git src/inc/pslTransMap.h src/inc/pslTransMap.h index 0f53035..f8a2928 100644 --- src/inc/pslTransMap.h +++ src/inc/pslTransMap.h @@ -1,17 +1,28 @@ /* pslTransMap - transitive mapping of an alignment another sequence, via a * common alignment */ #ifndef PSLTRANSMAP_H #define PSLTRANSMAP_H +enum pslType +/* type of PSL needed protein coordinate conversion */ +{ + // n.b. order must match pslTypeDesc + pslTypeUnspecified = 0, /* not specified */ + pslTypeProtProt = 1, /* protein to protein */ + pslTypeProtNa = 2, /* protein to nucleic acid */ + pslTypeNaNa = 3 /* NA to NA */ +}; + enum pslTransMapOpts /* option set for pslTransMap */ { pslTransMapNoOpts = 0x00, /* no options */ pslTransMapKeepTrans = 0x01 /* keep translated alignment strand */ }; -struct psl* pslTransMap(unsigned opts, struct psl *inPsl, struct psl *mapPsl); +struct psl* pslTransMap(unsigned opts, struct psl *inPsl, enum pslType inPslType, + struct psl *mapPsl, enum pslType mapPslType); /* map a psl via a mapping psl, a single psl is returned, or NULL if it * couldn't be mapped. */ #endif