option to output in sequenom input format
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@1415 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
7f1159b6a9
commit
143f8eea4e
|
|
@ -18,14 +18,18 @@ public class FastaAlternateReferenceWalker extends RefWalker<Pair<GenomeLoc, Str
|
||||||
|
|
||||||
@Argument(fullName="maskSNPs", shortName="mask", doc="print 'N' at SNP sites instead of the alternate allele", required=false)
|
@Argument(fullName="maskSNPs", shortName="mask", doc="print 'N' at SNP sites instead of the alternate allele", required=false)
|
||||||
private Boolean MASK_SNPS = false;
|
private Boolean MASK_SNPS = false;
|
||||||
|
@Argument(fullName="outputSequenomFormat", shortName="sequenom", doc="output results in sequenom format (overrides 'maskSNPs' argument)", required=false)
|
||||||
|
private Boolean SEQUENOM = false;
|
||||||
|
|
||||||
private StringBuffer sb = new StringBuffer();
|
private StringBuffer sb = new StringBuffer();
|
||||||
int deletionBasesRemaining = 0;
|
int deletionBasesRemaining = 0;
|
||||||
|
|
||||||
public Pair<GenomeLoc, String> map(RefMetaDataTracker rodData, ReferenceContext ref, AlignmentContext context) {
|
public Pair<GenomeLoc, String> map(RefMetaDataTracker rodData, ReferenceContext ref, AlignmentContext context) {
|
||||||
|
String refBase = String.valueOf(ref.getBase());
|
||||||
|
|
||||||
if ( deletionBasesRemaining > 0 ) {
|
if ( deletionBasesRemaining > 0 ) {
|
||||||
deletionBasesRemaining--;
|
deletionBasesRemaining--;
|
||||||
return new Pair<GenomeLoc, String>(context.getLocation(), "");
|
return new Pair<GenomeLoc, String>(context.getLocation(), (SEQUENOM ? (deletionBasesRemaining == 0 ? refBase.concat("]") : refBase) : ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
Iterator<ReferenceOrderedDatum> rods = rodData.getAllRods().iterator();
|
Iterator<ReferenceOrderedDatum> rods = rodData.getAllRods().iterator();
|
||||||
|
|
@ -39,19 +43,16 @@ public class FastaAlternateReferenceWalker extends RefWalker<Pair<GenomeLoc, Str
|
||||||
if ( variant.isDeletion() ) {
|
if ( variant.isDeletion() ) {
|
||||||
deletionBasesRemaining = variant.length();
|
deletionBasesRemaining = variant.length();
|
||||||
// delete the next n bases, not this one
|
// delete the next n bases, not this one
|
||||||
return new Pair<GenomeLoc, String>(context.getLocation(), String.valueOf(ref.getBase()));
|
return new Pair<GenomeLoc, String>(context.getLocation(), (SEQUENOM ? refBase.concat("[-/") : refBase));
|
||||||
} else if ( variant.isInsertion() ) {
|
} else if ( variant.isInsertion() ) {
|
||||||
return new Pair<GenomeLoc, String>(context.getLocation(), String.valueOf(ref.getBase()).concat(variant.getAltBasesFWD()));
|
return new Pair<GenomeLoc, String>(context.getLocation(), (SEQUENOM ? refBase.concat("[+/"+variant.getAltBasesFWD()+"]") : refBase.concat(variant.getAltBasesFWD())));
|
||||||
} else if ( variant.isSNP() ) {
|
} else if ( variant.isSNP() ) {
|
||||||
if ( MASK_SNPS )
|
return new Pair<GenomeLoc, String>(context.getLocation(), (SEQUENOM || MASK_SNPS ? "N" : variant.getAltBasesFWD()));
|
||||||
return new Pair<GenomeLoc, String>(context.getLocation(), "N");
|
|
||||||
else
|
|
||||||
return new Pair<GenomeLoc, String>(context.getLocation(), variant.getAltBasesFWD());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we got here then we're just ref
|
// if we got here then we're just ref
|
||||||
return new Pair<GenomeLoc, String>(context.getLocation(), String.valueOf(ref.getBase()));
|
return new Pair<GenomeLoc, String>(context.getLocation(), refBase);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Pair<GenomeLoc, String> reduceInit() {
|
public Pair<GenomeLoc, String> reduceInit() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue