/* Copyright 2013 University of North Carolina at Chapel Hill. All rights reserved. */
package abra;
/**
* Settings for Contig Assembly
* @author Lisle E. Mose (lmose at unc dot edu)
*/
public class AssemblerSettings {
private int[] kmerSize;
private int minEdgeFrequency;
private int minNodeFrequncy;
private int minUnalignedNodeFrequency;
private int minContigLength;
private int maxPotentialContigs;
private int minBaseQuality;
private double minReadCandidateFraction;
private int maxAverageDepth;
private boolean searchForStructuralVariation;
private int averageDepthCeiling;
private double minEdgeRatio;
private boolean isDebug;
private int maxNodes;
public int getMaxNodes() {
return maxNodes;
}
public void setMaxNodes(int maxNodes) {
this.maxNodes = maxNodes;
}
public double getMinEdgeRatio() {
return minEdgeRatio;
}
public void setMinEdgeRatio(double minEdgeRatio) {
this.minEdgeRatio = minEdgeRatio;
}
public int getAverageDepthCeiling() {
return averageDepthCeiling;
}
public void setAverageDepthCeiling(int averageDepthCeiling) {
this.averageDepthCeiling = averageDepthCeiling;
}
public boolean searchForStructuralVariation() {
return searchForStructuralVariation;
}
public void setSearchForStructuralVariation(boolean searchForStructuralVariation) {
this.searchForStructuralVariation = searchForStructuralVariation;
}
public int getMaxAverageDepth() {
return maxAverageDepth;
}
public void setMaxAverageDepth(int maxAverageDepth) {
this.maxAverageDepth = maxAverageDepth;
}
public double getMinReadCandidateFraction() {
return minReadCandidateFraction;
}
public void setMinReadCandidateFraction(double minReadCandidateFraction) {
this.minReadCandidateFraction = minReadCandidateFraction;
}
public int getMinBaseQuality() {
return minBaseQuality;
}
public void setMinBaseQuality(int minBaseQuality) {
this.minBaseQuality = minBaseQuality;
}
public int[] getKmerSize() {
return kmerSize;
}
public void setKmerSize(int[] kmerSize) {
this.kmerSize = kmerSize;
}
public void setMinUnalignedNodeFrequency(int minUnalignedNodeFrequency) {
this.minUnalignedNodeFrequency = minUnalignedNodeFrequency;
}
public int getMinUnalignedNodeFrequency() {
return minUnalignedNodeFrequency;
}
public int getMinNodeFrequncy() {
return minNodeFrequncy;
}
public void setMinNodeFrequncy(int minNodeFrequncy) {
this.minNodeFrequncy = minNodeFrequncy;
}
public int getMinContigLength() {
return minContigLength;
}
public void setMinContigLength(int minContigLength) {
this.minContigLength = minContigLength;
}
public int getMaxPotentialContigs() {
return maxPotentialContigs;
}
public void setMaxPotentialContigs(int maxPotentialContigs) {
this.maxPotentialContigs = maxPotentialContigs;
}
public boolean isDebug() {
return this.isDebug;
}
public void setDebug(boolean isDebug) {
this.isDebug = isDebug;
}
public String getDescription() {
StringBuffer str = new StringBuffer();
for (int i=0; i<kmerSize.length; i++) {
appendSetting(str, "kmer" + i, kmerSize[i]);
}
appendSetting(str, "minEdgeFrequency", minEdgeFrequency);
appendSetting(str, "minNodeFrequncy", minNodeFrequncy);
appendSetting(str, "minContigLength", minContigLength);
appendSetting(str, "maxPotentialContigs", maxPotentialContigs);
appendSetting(str, "minBaseQuality", minBaseQuality);
appendSetting(str, "minReadCandidateFraction", minReadCandidateFraction);
appendSetting(str, "maxAverageRegionDepth", maxAverageDepth);
appendSetting(str, "minEdgeRatio", minEdgeRatio);
return str.toString();
}
private void appendSetting(StringBuffer str, String setting, int value) {
str.append(setting);
str.append(": ");
str.append(value);
str.append('\n');
}
private void appendSetting(StringBuffer str, String setting, double value) {
str.append(setting);
str.append(": ");
str.append(value);
str.append('\n');
}
}