dos herramientas basadas en javascript que filtran archivos BAM y VCF.

SamJS y VCFFilterJS son dos herramientas para las que escribí jvarkit. Ambas herramientas usan el java incrustado. javascript motor para filtrar archivos BAM o VCF.
Para llegar a una audiencia más amplia, he copiado esas funcionalidades a Picardo en ‘FiltrarSamReads’ y ‘FiltroVcf’.

FilterSamReads

FilterSamReads filtra un archivo SAM o BAM con una expresión de javascript utilizando el motor javascript de java.
El script pone las siguientes variables en el contexto del script: ‘record’ a SamRecord y ‘encabezado’ a SAMFileHeader. El último valor del script debe ser un valor booleano para indicar si debemos aceptar o rechazar el registro.

La secuencia de comandos samFilter.js

/** accept record if second base of DNA is a A */
function accept(r)
 

accept(record);

Invocar y salida

$ java -jar picard-tools-2.1.1/picard.jar 
 FilterSamReads I=in.sam  O=out.sam 
 JS=samFilter.js FILTER=includeJavascript
 
$ cat out.sam | cut -f 10 | cut -c 2 | sort | uniq

A

FiltroVcf

FiltroVcf uno o más filtros duros en un archivo VCF para filtrar genotipos y variantes.
Filtra un archivo VCF con una expresión javascript interpretada por el motor javascript javascript. El script pone las siguientes variables en el contexto del script: ‘variant’ a VariantContext y ‘encabezado’ a Encabezado VCF. El último valor del script debe ser un valor booleano para indicar si debemos aceptar o rechazar el registro.

La secuencia de comandos variantFilter.js

/** prints a VARIATION if two samples at least have a DP>100 */ 
function myfilterFunction(thevariant)
    
myfilterFunction(variant)

Invocar y salida

java -jar picard-tools-2.1.1/picard.jar FilterVcf 
 I=in.vcf O=out.vcf 
 JS=variantFilter.js
 
$ grep -v '#' jeter.vcf | cut -f 7 | grep variantFilter | wc -l
23

Eso es,
Pedro

Fuente del artículo

Deja un comentario