Skip to content

Commit

Permalink
add microbial mode
Browse files Browse the repository at this point in the history
  • Loading branch information
ahaessly committed Oct 1, 2020
1 parent 1f81c82 commit 7dc51cd
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ public class M2ArgumentCollection extends AssemblyBasedCallerArgumentCollection
public static final String NORMAL_LOG_10_ODDS_LONG_NAME = "normal-lod";
public static final String IGNORE_ITR_ARTIFACTS_LONG_NAME = "ignore-itr-artifacts";
public static final String MITOCHONDRIA_MODE_LONG_NAME = "mitochondria-mode";
public static final String MICROBIAL_MODE_LONG_NAME = "microbial-mode";
public static final String CALLABLE_DEPTH_LONG_NAME = "callable-depth";
public static final String PCR_SNV_QUAL_LONG_NAME = "pcr-snv-qual";
public static final String PCR_INDEL_QUAL_LONG_NAME = "pcr-indel-qual";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,13 @@ public class M2FiltersArgumentCollection {
@Argument(fullName = M2ArgumentCollection.MITOCHONDRIA_MODE_LONG_NAME, optional = true, doc = "Set filters to mitochondrial defaults")
public boolean mitochondria = false;

/**
* Mitochondria mode excludes the filters {@link ClusteredEventsFilter}, {@link MultiallelicFilter},
* {@link FilteredHaplotypeFilter}, {@link FragmentLengthFilter}, and {@link GermlineFilter}
*/
@Argument(fullName = M2ArgumentCollection.MICROBIAL_MODE_LONG_NAME, optional = true, doc = "Set filters to microbial defaults")
public boolean microbial = false;


/**
* Hard filter thresholds
Expand All @@ -62,12 +69,13 @@ public class M2FiltersArgumentCollection {
private static final int DEFAULT_MAX_ALT_ALLELES = 1;
private static final int DEFAULT_MIN_UNIQUE_ALT_READS = 0;
private static final int DEFAULT_MIN_MEDIAN_MAPPING_QUALITY = 30;
private static final int DEFAULT_MIN_MEDIAN_MAPPING_QUALITY_FOR_MICROBIAL = 20;
private static final int DEFAULT_MIN_MEDIAN_BASE_QUALITY = 20;
private static final int DEFAULT_MAX_MEDIAN_FRAGMENT_LENGTH_DIFFERENCE = 10000;
private static final int DEFAULT_MIN_MEDIAN_READ_POSITION = 1;
private static final double DEFAULT_MAX_N_RATIO = Double.POSITIVE_INFINITY;
private static final int DEFAULT_MIN_READS_ON_EACH_STRAND = 0;
private static final double DEFAULT_MAX_NUMT_FRACTION = 0.85;
// private static final double DEFAULT_MAX_NUMT_FRACTION = 0.85;
private static final double DEFAULT_MIN_AF = 0;

@Argument(fullName = MAX_EVENTS_IN_REGION_LONG_NAME, optional = true, doc = "Maximum events in a single assembly region. Filter all variants if exceeded.")
Expand All @@ -81,6 +89,9 @@ public class M2FiltersArgumentCollection {

@Argument(fullName = MIN_MEDIAN_MAPPING_QUALITY_LONG_NAME, optional = true, doc="Minimum median mapping quality of alt reads")
public int minMedianMappingQuality = DEFAULT_MIN_MEDIAN_MAPPING_QUALITY;
public int getMinMedianMappingQuality() {
return microbial && minMedianMappingQuality == DEFAULT_MIN_MEDIAN_MAPPING_QUALITY ? DEFAULT_MIN_MEDIAN_MAPPING_QUALITY_FOR_MICROBIAL : minMedianMappingQuality;
}

@Argument(fullName = MIN_MEDIAN_BASE_QUALITY_LONG_NAME, optional = true, doc="Minimum median base quality of alt reads")
public int minMedianBaseQuality = DEFAULT_MIN_MEDIAN_BASE_QUALITY;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ public void writeFilteringStats(final Path filteringStats) {
private void buildFiltersList(final M2FiltersArgumentCollection MTFAC) {
filters.add(new TumorEvidenceFilter());
filters.add(new BaseQualityFilter(MTFAC.minMedianBaseQuality));
filters.add(new MappingQualityFilter(MTFAC.minMedianMappingQuality, MTFAC.longIndelLength));
filters.add(new MappingQualityFilter(MTFAC.getMinMedianMappingQuality(), MTFAC.longIndelLength));
filters.add(new DuplicatedAltReadFilter(MTFAC.uniqueAltReadCount));
filters.add(new StrandArtifactFilter());
filters.add(new ContaminationFilter(MTFAC.contaminationTables, MTFAC.contaminationEstimate));
Expand All @@ -311,13 +311,18 @@ private void buildFiltersList(final M2FiltersArgumentCollection MTFAC) {
filters.add(new ReadOrientationFilter(artifactTables));
}

if (!MTFAC.mitochondria) {
if (!MTFAC.mitochondria && !MTFAC.microbial) {
filters.add(new ClusteredEventsFilter(MTFAC.maxEventsInRegion));
filters.add(new MultiallelicFilter(MTFAC.numAltAllelesThreshold));
filters.add(new FragmentLengthFilter(MTFAC.maxMedianFragmentLengthDifference));
filters.add(new PolymeraseSlippageFilter(MTFAC.minSlippageLength, MTFAC.slippageRate));
filters.add(new FilteredHaplotypeFilter(MTFAC.maxDistanceToFilteredCallOnSameHaplotype));
filters.add(new GermlineFilter(MTFAC.tumorSegmentationTables));
}

if (MTFAC.microbial) {
filters.add(new PolymeraseSlippageFilter(MTFAC.minSlippageLength, MTFAC.slippageRate));
}

}
}

0 comments on commit 7dc51cd

Please sign in to comment.