Skip to content

Instantly share code, notes, and snippets.

@lindenb
Created March 3, 2017 10:55
Show Gist options
  • Select an option

  • Save lindenb/df918fd5cab0ed875a91f0b3ac44cbd1 to your computer and use it in GitHub Desktop.

Select an option

Save lindenb/df918fd5cab0ed875a91f0b3ac44cbd1 to your computer and use it in GitHub Desktop.
Distance between variants in a VCF. javascript src for bioalcidae https://github.com/lindenb/jvarkit/wiki/BioAlcidae
/**
distribution of distance between variants. Non-Variant, Filterer or GVCF blocks are ignored
usage:
java -jar jvarkit-git/dist/bioalcidae.jar -f distance.js input.vcf | sort -k1,1g | uniq -c
*/
var prev=null;
function distance(ctx)
{
if(!ctx.isVariant() || ctx.isFiltered() || (ctx.getAlleles()==2 && ctx.hasAttribute("END") && ctx.getAlternateAlleles().get(0).getDisplayString().equals("<NON_REF>")) ) return;
if(prev!=null && prev.getContig().equals(ctx.getContig()))
{
var d= parseInt(ctx.getStart()-prev.getEnd());
out.println(d);
}
prev=ctx;
}
while(iter.hasNext()) distance(iter.next());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment