Added argument to ValidationAmplicons to only output valid sequences - useful for not having to post-filter or grep resulting files before delivering downstream
This commit is contained in:
parent
69611af7d3
commit
3b5a7c34d7
|
|
@ -110,6 +110,13 @@ public class ValidationAmplicons extends RodWalker<Integer,Integer> {
|
||||||
@Argument(doc="Lower case SNPs rather than replacing with 'N'",fullName="lowerCaseSNPs",required=false)
|
@Argument(doc="Lower case SNPs rather than replacing with 'N'",fullName="lowerCaseSNPs",required=false)
|
||||||
boolean lowerCaseSNPs = false;
|
boolean lowerCaseSNPs = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If onlyOutputValidAmplicons is true, the output fasta file will contain only valid sequences.
|
||||||
|
* Useful for producing delivery-ready files.
|
||||||
|
*/
|
||||||
|
@Argument(doc="Only output valid sequences.",fullName="onlyOutputValidAmplicons",required=false)
|
||||||
|
boolean onlyOutputValidAmplicons = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BWA single-end alignment is used as a primer specificity proxy. Low-complexity regions (that don't align back to themselves as a best hit) are lowercased.
|
* BWA single-end alignment is used as a primer specificity proxy. Low-complexity regions (that don't align back to themselves as a best hit) are lowercased.
|
||||||
* This changes the size of the k-mer used for alignment.
|
* This changes the size of the k-mer used for alignment.
|
||||||
|
|
@ -486,14 +493,16 @@ public class ValidationAmplicons extends RodWalker<Integer,Integer> {
|
||||||
valid = "Valid";
|
valid = "Valid";
|
||||||
}
|
}
|
||||||
|
|
||||||
String seqIdentity = sequence.toString().replace('n', 'N').replace('i', 'I').replace('d', 'D');
|
|
||||||
|
|
||||||
if (!sequenomOutput)
|
if (!onlyOutputValidAmplicons || !sequenceInvalid) {
|
||||||
out.printf(">%s %s %s%n%s%n", allelePos != null ? allelePos.toString() : "multiple", valid, probeName, seqIdentity);
|
String seqIdentity = sequence.toString().replace('n', 'N').replace('i', 'I').replace('d', 'D');
|
||||||
else {
|
if (!sequenomOutput)
|
||||||
seqIdentity = seqIdentity.replace("*",""); // identifier < 20 letters long, no * in ref allele, one line per record
|
out.printf(">%s %s %s%n%s%n", allelePos != null ? allelePos.toString() : "multiple", valid, probeName, seqIdentity);
|
||||||
probeName = probeName.replace("amplicon_","a");
|
else {
|
||||||
out.printf("%s_%s %s%n", allelePos != null ? allelePos.toString() : "multiple", probeName, seqIdentity);
|
seqIdentity = seqIdentity.replace("*",""); // identifier < 20 letters long, no * in ref allele, one line per record
|
||||||
|
probeName = probeName.replace("amplicon_","a");
|
||||||
|
out.printf("%s_%s %s%n", allelePos != null ? allelePos.toString() : "multiple", probeName, seqIdentity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue