diff CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/opt/bbmap-39.01-1/current/aligner/Aligner.java @ 68:5028fdace37b

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 16:23:26 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/opt/bbmap-39.01-1/current/aligner/Aligner.java	Tue Mar 18 16:23:26 2025 -0400
@@ -0,0 +1,40 @@
+package aligner;
+
+public interface Aligner {
+
+	/** return new int[] {rows, maxCol, maxState, maxScore, maxStart};
+	 * Will not fill areas that cannot match minScore */
+	int[] fillLimited(byte[] read, byte[] ref, int refStartLoc, int refEndLoc, int minScore);
+	
+	/** return new int[] {rows, maxCol, maxState, maxScore, maxStart};
+	 * Does not require a min score (ie, same as old method) */
+	int[] fillUnlimited(byte[] read, byte[] ref, int refStartLoc, int refEndLoc);
+	
+	/** return new int[] {rows, maxCol, maxState, maxScore, maxStart};
+	 * Min score is optional */
+	int[] fillUnlimited(byte[] read, byte[] ref, int refStartLoc, int refEndLoc, int minScore);
+
+	/** Generates the match string */
+	byte[] traceback(byte[] query, byte[] ref, int refStartLoc, int refEndLoc, int row, int col, int state);
+
+	/** Generates identity;
+	 * fills 'extra' with {match, sub, del, ins, N, clip} if present */
+	float tracebackIdentity(byte[] query, byte[] ref, int refStartLoc, int refEndLoc, int row, int col, int state, int[] extra);
+	
+	/** @return {score, bestRefStart, bestRefStop} */
+	int[] score(byte[] read, byte[] ref, int refStartLoc, int refEndLoc, int maxRow, int maxCol,
+			int maxState/*, final int maxScore, final int maxStart*/);
+
+	/** Will not fill areas that cannot match minScore.
+	 * @return {score, bestRefStart, bestRefStop}  */
+	int[] fillAndScoreLimited(byte[] read, byte[] ref, int refStartLoc, int refEndLoc, int minScore);
+	
+	/** Lowest possible alignment score for a read with this length and this identity */
+	int minScoreByIdentity(int len, float identity);
+
+//	int maxRows();
+//	int maxColumns();
+	int rows();
+	int columns();
+	
+}
\ No newline at end of file