Refine search
/** * Checks a Cigar for the presence of N operators. Reads with skipped bases may be spliced RNAseq reads * * @param cigar */ private boolean checkCigarForSkips(final Cigar cigar) { final List<CigarElement> elements = cigar.getCigarElements(); for (final CigarElement el : elements) { if (el.getOperator() == CigarOperator.N) return true; } return false; }
public static int countInsertedBases(final Cigar cigar) { int ret = 0; for (final CigarElement element : cigar.getCigarElements()) { if (element.getOperator() == CigarOperator.INSERTION) ret += element.getLength(); } return ret; }
/** * Does one of the elements in cigar have a 0 length? * * @param c a non-null cigar * @return true if any element has 0 size */ @Requires("c != null") protected static boolean cigarHasZeroSizeElement(final Cigar c) { for (final CigarElement ce : c.getCigarElements()) { if (ce.getLength() == 0) return true; } return false; }
public static int countInsertedBases(final Cigar cigar) { int ret = 0; for (final CigarElement element : cigar.getCigarElements()) { if (element.getOperator() == CigarOperator.INSERTION) ret += element.getLength(); } return ret; }
/** * Checks a Cigar for the presence of N operators. Reads with skipped bases may be spliced RNAseq reads * * @param cigar */ private boolean checkCigarForSkips(final Cigar cigar) { final List<CigarElement> elements = cigar.getCigarElements(); for (final CigarElement el : elements) { if (el.getOperator() == CigarOperator.N) return true; } return false; }
private static int numDeletionsInCigar( Cigar cigar ) { int numDeletions = 0; for(CigarElement cigarElement: cigar.getCigarElements()) { if(cigarElement.getOperator() == CigarOperator.DELETION) numDeletions += cigarElement.getLength(); } return numDeletions; } }
private boolean containsIndel(Cigar cigar) { for (CigarElement elem : cigar.getCigarElements()) { if ((elem.getOperator() == CigarOperator.D) || (elem.getOperator() == CigarOperator.I)) { return true; } } return false; }
public static int countDeletedBases(final Cigar cigar) { int ret = 0; for (final CigarElement element : cigar.getCigarElements()) { if (element.getOperator() == CigarOperator.DELETION) ret += element.getLength(); } return ret; }
private int countGaps(Cigar cigar) { int count = 0; for (CigarElement elem : cigar.getCigarElements()) { if (elem.getOperator() == CigarOperator.D || elem.getOperator() == CigarOperator.I || elem.getOperator() == CigarOperator.N) { count += 1; } } return count; }
public static int countDeletedBases(final Cigar cigar) { int ret = 0; for (final CigarElement element : cigar.getCigarElements()) { if (element.getOperator() == CigarOperator.DELETION) ret += element.getLength(); } return ret; }
/** * Number of indels in the given cigar * @param list * @return */ public static int countIndels(Cigar c) { int n = 0; for (CigarElement e : c.getCigarElements()) { if (e.getOperator() == CigarOperator.DELETION || e.getOperator() == CigarOperator.INSERTION) { n++; } } return n; } /**
public static int countDeletedBases(final Cigar cigar) { int ret = 0; for (final CigarElement element : cigar.getCigarElements()) { if (element.getOperator() == CigarOperator.DELETION) ret += element.getLength(); } return ret; }
/** * Checks if a read starts with an insertion. * * @param cigarForRead the CIGAR to evaluate * @param ignoreSoftClipOps should we ignore S operators when evaluating whether an I operator is at the beginning? Note that H operators are always ignored. * @return the element if it's a leading insertion or null otherwise */ public static CigarElement readStartsWithInsertion(final Cigar cigarForRead, final boolean ignoreSoftClipOps) { for ( final CigarElement cigarElement : cigarForRead.getCigarElements() ) { if ( cigarElement.getOperator() == CigarOperator.INSERTION ) return cigarElement; else if ( cigarElement.getOperator() != CigarOperator.HARD_CLIP && ( !ignoreSoftClipOps || cigarElement.getOperator() != CigarOperator.SOFT_CLIP) ) break; } return null; }
public static int countInsertedBases(final Cigar cigar) { int ret = 0; for (final CigarElement element : cigar.getCigarElements()) { if (element.getOperator() == CigarOperator.INSERTION) ret += element.getLength(); } return ret; }
private static boolean containsNOperator(final SAMRecord read) { final Cigar cigar = read.getCigar(); if (cigar == null) { return false; } for (final CigarElement ce : cigar.getCigarElements()) { if (ce.getOperator() == CigarOperator.N) { return true; } } return false; }
public static int countBases(final Cigar cigar, final CigarOperator operator) { if (cigar == null) return 0; int n = 0; for (CigarElement ce : cigar.getCigarElements()) { if (ce.getOperator() == operator) { n += ce.getLength(); } } return n; } }
/** * Checks whether or not the read has any cigar element that is not H or S * * @param read the read * @return true if it has any M, I or D, false otherwise */ public static boolean readHasNonClippedBases(GATKSAMRecord read) { for (CigarElement cigarElement : read.getCigar().getCigarElements()) if (cigarElement.getOperator() != CigarOperator.SOFT_CLIP && cigarElement.getOperator() != CigarOperator.HARD_CLIP) return true; return false; }
static int getSoftClippedLength(Cigar readCigar) { int length = 0; for (CigarElement element : readCigar.getCigarElements()) { CigarOperator operator = element.getOperator(); if (operator == CigarOperator.M || operator == CigarOperator.I || operator == CigarOperator.S) { length += element.getLength(); } } return length; }
public static int getNumSplices(SAMRecord read) { int splices = 0; for (CigarElement element : read.getCigar().getCigarElements()) { if (element.getOperator() == CigarOperator.N) { splices += 1; } } return splices; }
static int getAlignedLength(Cigar readCigar) { int length = 0; for (CigarElement element : readCigar.getCigarElements()) { if (element.getOperator() == CigarOperator.M || element.getOperator() == CigarOperator.D) { length += element.getLength(); } } return length; }