Made getPileupWithoutMappingQualityZeroReads() and getPileupWithoutDeletions() more efficient, per Mark's cue.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2356 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
874552ff75
commit
bf7bab754e
|
|
@ -130,16 +130,14 @@ public class ReadBackedPileup implements Iterable<PileupElement> {
|
||||||
*/
|
*/
|
||||||
public ReadBackedPileup getPileupWithoutDeletions() {
|
public ReadBackedPileup getPileupWithoutDeletions() {
|
||||||
if ( getNumberOfDeletions() > 0 ) {
|
if ( getNumberOfDeletions() > 0 ) {
|
||||||
List<SAMRecord> newReads = new ArrayList<SAMRecord>();
|
ArrayList<PileupElement> filteredPileup = new ArrayList<PileupElement>();
|
||||||
List<Integer> newOffsets = new ArrayList<Integer>();
|
|
||||||
|
|
||||||
for ( PileupElement p : pileup ) {
|
for ( PileupElement p : pileup ) {
|
||||||
if ( !p.isDeletion() ) {
|
if ( !p.isDeletion() ) {
|
||||||
newReads.add(p.getRead());
|
filteredPileup.add(p);
|
||||||
newOffsets.add(p.getOffset());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return new ReadBackedPileup(loc, newReads, newOffsets);
|
return new ReadBackedPileup(loc, filteredPileup);
|
||||||
} else {
|
} else {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
@ -153,19 +151,15 @@ public class ReadBackedPileup implements Iterable<PileupElement> {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public ReadBackedPileup getPileupWithoutMappingQualityZeroReads() {
|
public ReadBackedPileup getPileupWithoutMappingQualityZeroReads() {
|
||||||
// todo -- eric, this can be more efficient, FYI
|
|
||||||
|
|
||||||
if ( getNumberOfMappingQualityZeroReads() > 0 ) {
|
if ( getNumberOfMappingQualityZeroReads() > 0 ) {
|
||||||
List<SAMRecord> newReads = new ArrayList<SAMRecord>();
|
ArrayList<PileupElement> filteredPileup = new ArrayList<PileupElement>();
|
||||||
List<Integer> newOffsets = new ArrayList<Integer>();
|
|
||||||
|
|
||||||
for ( PileupElement p : pileup ) {
|
for ( PileupElement p : pileup ) {
|
||||||
if ( p.getRead().getMappingQuality() > 0 ) {
|
if ( p.getRead().getMappingQuality() > 0 ) {
|
||||||
newReads.add(p.getRead());
|
filteredPileup.add(p);
|
||||||
newOffsets.add(p.getOffset());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return new ReadBackedPileup(loc, newReads, newOffsets);
|
return new ReadBackedPileup(loc, filteredPileup);
|
||||||
} else {
|
} else {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue