stringtranslate.com

Herramientas SAM

SAMtools es un conjunto de utilidades para interactuar y posprocesar alineaciones cortas de lectura de secuencias de ADN en los formatos SAM (Sequence Alignment/Map), BAM (Binary Alignment/Map) y CRAM , escrito por Heng Li . Estos archivos se generan como salida mediante alineadores de lectura corta como BWA . Se proporcionan herramientas tanto simples como avanzadas, que admiten tareas complejas como llamada 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 Gigabytes es común), por lo que se utiliza la compresión 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 contenedor binario reestructurado orientado a columnas. Los archivos BAM suelen estar comprimidos y son más eficientes para que el software funcione 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 utilizar archivos SAM/BAM al ocultar detalles de bajo nivel.

Como los proyectos de terceros intentaban utilizar 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 la llamada de variantes y manipulación de datos variantes (BCFtools) y el paquete SAMtools independiente para trabajar con datos de alineación de secuencias . [5]

Uso y comandos

Como muchos comandos de Unix , los comandos de SAMtool siguen un modelo de flujo , donde los datos pasan por cada comando como si fueran transportados en una cinta transportadora . Esto permite combinar múltiples comandos en una canalización de procesamiento de datos. Aunque el resultado final puede ser muy complejo, sólo 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 redirigen fácilmente a otro archivo usando los redirectores normales de Unix (> y >>), o a otro comando a través de una tubería (|).

Comandos de SAMtools

SAMtools proporciona los siguientes comandos, cada uno de los cuales se invoca como " samtools some_command ".

vista
El comando de vista filtra datos formateados SAM o BAM. Al utilizar opciones y argumentos, comprende qué datos seleccionar (posiblemente todos) y pasa solo esos datos. La entrada suele ser un archivo sam o bam especificado como argumento, pero pueden ser datos sam o bam canalizados desde cualquier otro comando. Los posibles usos incluyen extraer un subconjunto de datos en un archivo nuevo, convertir entre formatos BAM y SAM y simplemente observar el contenido del archivo sin formato. Se conserva el orden de las lecturas extraídas.
clasificar
El comando ordenar ordena un archivo BAM según su posición en la referencia, según lo determinado por su alineación. El elemento + coordenada en la referencia con la que se alinea la primera base coincidente en la lectura se utiliza como clave para ordenarla. [POR HACER: verificar]. La salida ordenada se vuelca en un archivo nuevo de forma predeterminada, aunque se puede dirigir a la salida estándar (usando la opción -o). Como la clasificación requiere mucha memoria y los archivos BAM pueden ser grandes, este comando admite un modo de sección (con las opciones -m) para usar como máximo una cantidad determinada de memoria y generar múltiples archivos de salida. Luego, estos archivos se pueden combinar para producir un archivo BAM completo y ordenado [TODO: investigue los detalles de esto con más atención].
índice
El comando index crea un nuevo archivo de índice que permite una búsqueda rápida de datos en un SAM o BAM (ordenado). Al igual que un índice en una base de datos, el archivo *.sam.sai o *.bam.bai generado permite que los programas que pueden leerlo trabajen de manera más eficiente con los datos de los archivos asociados.
vista televisiva
El comando tview inicia un visor interactivo basado en ASCII que se puede utilizar para visualizar cómo se alinean las lecturas con regiones pequeñas específicas del genoma de referencia. Comparado con un visor basado en gráficos como IGV, [6] tiene pocas funciones. Dentro de la vista, es posible saltar a diferentes posiciones a lo largo de los elementos de referencia (usando 'g') y mostrar información de ayuda ('?').
acumular
El comando compilar produce un archivo de formato pileup (o BCF) que proporciona, para cada coordenada genómica, las bases de lectura superpuestas y los indeles en esa posición en los archivos BAM de entrada. Esto se puede utilizar para llamadas SNP, por ejemplo.
estado de bandera

Ejemplos

vista
samtools view sample.bam > sample.sam

Convierta un archivo bam en un archivo sam.

samtools view -bS sample.sam > sample.bam

Convierta un archivo sam en un archivo bam. La opción -b comprime o deja datos de entrada comprimidos.

samtools view sample_sorted.bam "chr1:10-13"

Extrae todas las lecturas alineadas al rango especificado, que son aquellas que están alineadas con el elemento de referencia denominado 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, creado por samtools index .

samtools view -h -b sample_sorted.bam "chr1:10-13" > tiny_sorted.bam

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 comprime la salida y la opción -h hace que también se generen 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 necesarias si el archivo tiny_sorted.bam se va a utilizar con algunos de los comandos más avanzados de SAMtools. Se conserva el orden de las lecturas extraídas.

vista televisiva
samtools tview sample_sorted.bam

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 . Mecanografía ? muestra información de ayuda para el movimiento de desplazamiento, colores, vistas, ...

samtools tview -p chrM:1 sample_chrM.bam UCSC_hg38.fa

Establezca la posición inicial y compare.

samtools tview -d T -p chrY:10,000,000 sample_chrY.bam UCSC_hg38.fa >> save.txt
samtools tview -d H -p chrY:10,000,000 sample_chrY.bam UCSC_hg38.fa >> save.html

Guarde la pantalla en .txt o .html.

clasificar
samtools sort -o sorted_out unsorted_in.bam

Lea el unsorted_in.bam especificado como entrada, ordénelo por posición de lectura alineada y escríbalo en sorted_out . El tipo de salida puede ser sam, bam o cram, y será determinado automáticamente por la extensión del archivo sorted_out.

samtools sort -m 5000000 unsorted_in.bam sorted_out

Lea el unsorted_in.bam especificado como entrada, ordénelo en bloques de hasta 5 millones de k (5 Gb) [ se necesita verificación de unidades ] y escriba la salida en una serie de archivos bam denominados sorted_out.0000.bam , sorted_out.0001.bam , etc. ., donde todas las lecturas de bam 0 vienen antes de cualquier lectura de bam 1, etc. [ se necesita verificación ]

índice
samtools index sorted.bam

Crea un archivo de índice, sorted.bam.bai para el archivo sorted.bam .

Ver también

Referencias

  1. ^ "Herramientas SAM". FuenteForge .
  2. ^ "Lanzamientos · samtools/samtools". github.com . Consultado el 28 de abril de 2021 .
  3. ^ Li H , Handsaker B, Wysoker A, Fennell T, Ruan J, Homer N, et al. (Agosto de 2009). "El formato de mapa/alineación de secuencia y SAMtools" (PDF) . Bioinformática . 25 (16): 2078–9. doi : 10.1093/bioinformática/btp352. PMC 2723002 . PMID  19505943. 
  4. ^ Bonfield JK, Marshall J, Danecek P, Li H, Ohan V, Whitwham A, et al. (febrero de 2021). "HTSlib: biblioteca C para leer/escribir datos de secuenciación de alto rendimiento". GigaCiencia . 10 (2). doi : 10.1093/gigascience/giab007. PMC 7931820 . PMID  33594436. 
  5. ^ Danecek P, Bonfield JK, Liddle J, Marshall J, Ohan V, Pollard MO, et al. (febrero de 2021). "Doce años de SAMtools y BCFtools". GigaCiencia . 10 (2). doi : 10.1093/gigascience/giab008. PMC 7931819 . PMID  33590861. 
  6. ^ IGV

enlaces externos