SAMherramientas


SAMtools es un conjunto de utilidades para interactuar y posprocesar alineaciones de lectura de secuencias cortas de ADN en los formatos SAM (Sequence Alignment/Map), BAM (Binary Alignment/Map) y CRAM , escrito por Heng Li . Estos archivos son generados como salida por alineadores de lectura cortos como BWA . Se proporcionan herramientas tanto simples como avanzadas, que admiten tareas complejas como llamadas de variantes y visualización de alineación, así como clasificación, indexación, extracción de datos y conversión de formato . [3] Los archivos SAM pueden ser muy grandes (decenas de Gigabyteses común), por lo que la compresión se utiliza para ahorrar espacio. Los archivos SAM son archivos de texto legibles por humanos, y los archivos BAM son simplemente su equivalente binario, mientras que los archivos CRAM son un formato de contenedor binario reestructurado orientado a columnas. Los archivos BAM generalmente están comprimidos y son más eficientes para que funcione el software que SAM. SAMtools permite trabajar directamente con un archivo BAM comprimido, sin tener que descomprimir todo el archivo. Además, dado que el formato de un archivo SAM/BAM es algo complejo (contiene lecturas, referencias, alineaciones, información de calidad y anotaciones especificadas por el usuario), SAMtools reduce el esfuerzo necesario para usar archivos SAM/BAM al ocultar detalles de bajo nivel.

Como los proyectos de terceros intentaban usar código de SAMtools a pesar de que no estaba diseñado para integrarse de esa manera, en agosto de 2014 se tomó la decisión de dividir el paquete SAMtools en una biblioteca de software independiente con una API bien definida ( HTSlib), [4] un proyecto para llamadas de variantes y manipulación de datos de variantes (BCFtools) y el paquete independiente SAMtools para trabajar con datos de alineación de secuencias . [5]

Al igual que muchos comandos de Unix , los comandos de SAMtool siguen un modelo de flujo , donde los datos se ejecutan a través de cada comando como si se transportaran en una cinta transportadora . Esto permite combinar varios comandos en una canalización de procesamiento de datos. Aunque el resultado final puede ser muy complejo, solo se necesita un número limitado de comandos simples para producirlo. Si no se especifica, se asumen los flujos estándar (stdin, stdout y stderr). Los datos enviados a stdout se imprimen en la pantalla de forma predeterminada, pero se redireccionan fácilmente a otro archivo utilizando los redirectores normales de Unix (> y >>), oa otro comando a través de una tubería (|).

Extraiga todas las lecturas alineadas con el rango especificado, que son aquellas que están alineadas con el elemento de referencia llamado chr1 y cubren su base 10, 11, 12 o 13. Los resultados se guardan en un archivo BAM que incluye el encabezado. Se requiere un índice del archivo de entrada para extraer lecturas de acuerdo con su posición de mapeo en el genoma de referencia, según lo creado por samtools index .

Extrae las mismas lecturas que arriba, pero en lugar de mostrarlas, las escribe en un nuevo archivo bam, tiny_sorted.bam . La opción -b hace que la salida se comprima y la opción -h hace que también se envíen los encabezados SAM. Estos encabezados incluyen una descripción de la referencia con la que se alinearon las lecturas en sample_sorted.bam y serán necesarios si el archivo tiny_sorted.bam se va a utilizar con algunos de los comandos SAMtools más avanzados. Se conserva el orden de las lecturas extraídas.

Inicie un visor interactivo para visualizar una pequeña región de la referencia, las lecturas alineadas y las discrepancias. Dentro de la vista, puede saltar a una nueva ubicación escribiendo g: y una ubicación, como g:chr1:10,000,000 . Si el nombre del elemento de referencia y los siguientes dos puntos se reemplazan con = , se usa el elemento de referencia actual, es decir, si se escribe g:=10,000,200 después del comando "goto" anterior, el espectador salta a la región 200 pares de bases hacia abajo en chr1 . ¿ Escribiendo ? muestra información de ayuda para el movimiento de desplazamiento, colores, vistas, ...