import java.util.Arrays;
import java.util.Hashtable;
import java.util.List;
-import java.util.Set;
/**
* Takes in a vector or array of sequences and column start and column end and
if (profile)
{
// TODO use a 1-dimensional array with jSize, nongap in [0] and [1]
- residueHash.put(PROFILE, new int[][]
- { values, new int[]
- { jSize, nongap } });
+ residueHash.put(PROFILE, new int[][] { values,
+ new int[] { jSize, nongap } });
}
residueHash.put(MAXCOUNT, new Integer(maxCount));
residueHash.put(MAXRESIDUE, maxResidue);
.append("%");
}
consensus.annotations[i] = new Annotation(maxRes,
- mouseOver.toString(), ' ',
- value);
+ mouseOver.toString(), ' ', value);
}
}
* @param hashtable
* @return
*/
- public static int[] extractCdnaProfile(Hashtable hashtable, boolean ignoreGaps)
+ public static int[] extractCdnaProfile(Hashtable hashtable,
+ boolean ignoreGaps)
{
// this holds #seqs, #ungapped, and then codon count, indexed by encoded
// codon triplet
result[1] = distinctValuesCount;
return Arrays.copyOfRange(result, 0, j);
}
-
+
/**
* Compute a consensus for the cDNA coding for a protein alignment.
*
Hashtable[] hconsensus)
{
final char gapCharacter = alignment.getGapCharacter();
- Set<AlignedCodonFrame> mappings = alignment.getCodonFrames();
+ List<AlignedCodonFrame> mappings = alignment.getCodonFrames();
if (mappings == null || mappings.isEmpty())
{
return;
{
continue;
}
- char[] codon = MappingUtils.findCodonFor(seq, col, mappings);
- int codonEncoded = CodingUtils.encodeCodon(codon);
- if (codonEncoded >= 0)
+ List<char[]> codons = MappingUtils
+ .findCodonsFor(seq, col, mappings);
+ for (char[] codon : codons)
{
- codonCounts[codonEncoded + 2]++;
- ungappedCount++;
+ int codonEncoded = CodingUtils.encodeCodon(codon);
+ if (codonEncoded >= 0)
+ {
+ codonCounts[codonEncoded + 2]++;
+ ungappedCount++;
+ }
}
}
codonCounts[1] = ungappedCount;
final int pct = codonCount * 100 / totalCount;
String codon = String
.valueOf(CodingUtils.decodeCodon(codonEncoded));
- percent = fmt == null ? Integer.toString(pct) : fmt
- .form(pct);
+ percent = fmt == null ? Integer.toString(pct) : fmt.form(pct);
if (showProfileLogo || codonCount == modalCodonCount)
{
if (percent.equals(lastPercent) && j > 0)
if (samePercent.length() > 0)
{
mouseOver.append(samePercent).append(": ")
- .append(lastPercent)
- .append("% ");
+ .append(lastPercent).append("% ");
}
samePercent.setLength(0);
samePercent.append(codon);