71
Alineamiento de secuencias cortas y manejo de la herramienta SAM/BAM tools Leticia Vega Alvarado, Dra. CCADET UNAM

Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Alineamiento  de  secuencias  cortas  y  manejo  de  la  herramienta  

SAM/BAM  tools  Leticia  Vega  Alvarado,  Dra.  

CCADET  -­‐  UNAM  

Page 2: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Brindar   los   conceptos   básicos   de   los   programas  Bowtie2,   BWA   y   SMALT,   para   que   los   asistentes  puedan  utilizarlos  en  el  alinemaiento  de  secuencias  cortas.   Así   como   las   herramientas   SAMTOOLS   y  BAMTOOLS,   para   el   manejo   de   los   archivos  obtenidos  con  los  alineadores.  

Objetivos  

Page 3: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

1.  Introducción  2.  Definiciones  

1.  Concepto  de  inserción,  deleción,  etc.  2.  Alineamiento  local  3.  Alineamiento  global  

3.   Bowtie2  4.   BWA  5.   SMALT  6.  SAMTOOLS  7.  BAMTOOLS  

TEMARIO  

Page 4: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Explicaremos   el   concepto   de   alineamiento   considerando   el   siguiente  ejemplo:  

1.  Introducción  

http://bygadrian.blogspot.mx/2016/05/proyecto-­‐genoma-­‐humano.html  

3.3 GB de pb

≈3.3 billones de caracteres

Page 5: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Consideremos  un  libro  mucho  más  pequeño,  por  ejemplo  la  biblia.  

1.  Introducción  

4 MB de pb ≈ 4 millones de caracteres

“En verdad os digo: Quien esté libre de pecado que arroje la primera piedra”

Supongamos   que   encontramos   una   frase   en   una  hoja,  y  queremos  buscar  o  “alinear”  dicha  frase  en  la  Biblia  completa.  

Page 6: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Es  importante  resaltar  que:  1)  Podemos  no  encontrar  la  frase  exactamente    EN  VERDAD  LES  DIGO  QUIEN  ESTE  LIBRE  DE  PECADO  QUE  ARROJE  LA  PRIMERA  PIEDRA  EN  VERDAD    OS    DIGO  QUIEN  ESTE  LIBRE  DE  PECADO  QUE  ARROJE  LA  PRIMERA  PIEDRA  De  60  caracteres,  58  son  exactos  y  dos  son  errores  (mismatchs).  Semejanza  al  ~97%    2)  La  frase  a  buscar  aparece  en  más  de  un  lugar  

 a)  La  frase  está  repetida  más  de  una  vez  o    b)  Los  fragmentos  a  buscar  son  demasiado  cortos      

3)  Los  procesos  de  alineamientos  de  secuencias  cortas,  el  número  de    secuencias  cortas  a  buscar  ,  está  en  el  orden  de  millones,  por  lo  tanto    eleva  la  complejidad  de  la  búsqueda.  

1.  Introducción  

Page 7: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

1.  Introducción  En  resumen  podemos  decir  que  un  alineamiento  de  secuencias  es:  Un  proceso,  que  recibe  como  datos  de  entrada  un  conjunto  secuencias  y  una   referencia   (genoma   completo,   transcritos,   entre   otros)   y   cuyo  objetivo   es   localizar   la   posición   donde   se   encuentra   la   máxima  semejanzas   entre   cada   una   de   las   secuencias   cortas   respecto   a   la  referencia.  

Referencia  

reads  

paired  -­‐  end  single  -­‐  read  

Page 8: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

1.  Introducción  Existen  diversos  (+90)  programas  para  realizar  alineamientos  

http://www.ebi.ac.uk/~nf/hts_mappers/  

DNA  mappers  RNA  mappers  miRNA  mappers  Bisulfite  mappers  

Page 9: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

2.  Definiciones  Al   momento   de   alinear   se   pueden   presentar   las  siguientes  situaciones:  

1)  Una   sustitución   es   un  cambio   de   una   base  por  otra.    

2)  Cuando   falta   una   base  decimos   que   hay   un  gap  

3)  U n   g a p   p u e d e  pertenecer  tanto  a  una  deleción   como   a   una  inserción.  

 

1   2  

2  

Page 10: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

2.  Definiciones  Pueden   existir   diferentes   alineamientos   dependiendo  del  número  de  gaps  que  permitamos  introducir  

El   alineamiento   con  mejor   puntuac ión  debería   ser   el   más  razonable   desde   un  p u n t o   d e   v i s t a  b io lóg ico ,   e l   que  alinea   más   posiciones  homólogas.                ¿Puntuación?    

Page 11: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

2.  Definiciones  Para   comparar   distintos   alineamientos   entre   si   se  pueden   asignar   puntuaciones,   es   decir,   medidas  objetivas.  

Page 12: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

2.  Definiciones  Hay   dos   tipos   de   alineamientos   principales:   locales   y  globales.  En  el  alineamiento  local  se  alinean  sólo  las  zonas  más  parecidas  

Page 13: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

2.  Definiciones  En  el  alineamiento  global  se  intenta  que  el  alineamiento  cubra  las  dos  secuencias  completamente  introduciendo  los  gaps  que  sean  necesarios.  

Page 14: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

2.  Definiciones  Concepto  de  k-­‐mero  l  Tamaño  de  palabra  k  l  N-­‐k+1  =  número  total  de  palabras  contenidas  en  un  read  (N  es  la  longitud  del  read)  

l  Los  k-­‐meros  nos  permiten  conectar  reads  l  Se   encuentra   un   camino   “único”   donde   pueda   colocar   todos  los  reads  

Page 15: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

¿Cómo  funcionan  los  alineadores?  

Naive  –  Mapeo  Buscar  el  “Query-­‐read”  en  cada  posición  del  

“Target-­‐referencia”  

Page 16: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

¿Cómo  funcionan  los  alineadores?  

https://www.youtube.com/watch?v=W6UL3UVdZDw  

Page 17: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

¿Cómo  funcionan  los  alineadores?  

https://www.youtube.com/watch?v=W6UL3UVdZDw  

Page 18: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

¿Cómo  funcionan  los  alineadores?  

https://www.youtube.com/watch?v=W6UL3UVdZDw  

Page 19: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

¿Cómo  funcionan  los  alineadores?  

https://www.youtube.com/watch?v=W6UL3UVdZDw  

Page 20: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

¿Cómo  funcionan  los  alineadores?  

https://www.youtube.com/watch?v=W6UL3UVdZDw  

Page 21: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

¿Cómo  funcionan  los  alineadores?  

https://www.youtube.com/watch?v=W6UL3UVdZDw  

Organizar  la  información  de  tal  forma  que  podamos  acceder  a  ella  de  manera  rápida  y  certera.  

Para  buscar  información  en  un  libro,  referente  a  un  determinado  tema,  consultamos  el  índice.  

Page 22: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

¿Cómo  funcionan  los  alineadores?  

https://www.youtube.com/watch?v=W6UL3UVdZDw  

Existen  diversos  métodos  para  indizar  la  información.  

Hash  index   Suffix  tree   FM  index  (BWT)  

Page 23: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

¿Cómo  funcionan  los  alineadores?  

https://www.youtube.com/watch?v=1ZyoI-­‐4ObSA  

Page 24: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

¿Cómo  funcionan  los  alineadores?  

https://www.youtube.com/watch?v=1ZyoI-­‐4ObSA  

Page 25: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Burrows-­‐Wheeler  vs  Hashing  

Fortalezas y Debilidades: Burrows-Wheeler ex. BWA, BOWTIE •  Rápido •  Alta sensibilidad a regiones repetidas •  Menos robusto en genomas con alta variabilidad Hashing ex. SMALT, SSAHA2 •  Lento (mayor cantidad de memoria) •  Baja sensibilidad a regiones repetidas •  Tolera genomas con alta variabilidad

Page 26: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Smalt  vs  BWA  vs  Bowtie  

 Cuál  es  el  mejor  ?,  Cuál  utilizar  ?,  dependerá  de  lo  que  Definamos  por  mejor:    Tipo  de  datos  Tiempo  Recursos  (Hardware)  Opciones  Sensibilidad  Especificidad.  

Page 27: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Los  datos  que  utilizaremos  para  trabajar  con  los  3  programas  de  alineamiento,  que  veremos.  Se  encuentran  el  la  carpeta:    /Data/Modulo4/    Previo  a  utilizarlos,  les  echaremos  un  vistazo  

2.  Revisando  los  datos  para  los  alineamientos  

Page 28: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Los  datos  que  utilizaremos  para  trabajar  con  los  3  programas  de  alineamiento,  que  veremos.  Se  encuentran  el  la  carpeta:    /Data/Modulo4/  Ch_strain_1.fastq  Ch_200kref.fna    Referencia  Ch_strain_2.fastq    Previo  a  utilizarlos,  les  echaremos  un  vistazo  

2.  Revisando  los  datos  para  los  alineamientos  

Page 29: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

1.  ¿Cuánto  mide  nuestra  referencia?    2.  ¿El  tamaño  será  aproximado  al  tamaño  en  bytes  del  archivo?    3.  ¿Cuántas  secuencias  tenemos  en  los  archivos  fastq?    4.  ¿De  qué  tamaño  son  las  secuencias?  

2.  Revisando  los  datos  para  los  alineamientos  

Page 30: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

3.  Bowtie2  

Bowtie2  Es  una  herramienta  muy  rápida  y  eficiente  en  el  uso  de  memoria   para   alinear   secuencias   cortas   a   genomas   de  referencias.    Bowtie2   Realiza   la   indexación   del   genoma   basado   en   las  transformadas  de    Burrows-­‐Wheeler.    Paralelizable  (lograr  muy  buena  velocidad)  

Page 31: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

http://bowtie-­‐bio.sourceforge.net/bowtie2/index.shtml  

3.  Bowtie2  

Page 32: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

3.  Bowtie2  

vegal@cursouusmb:~$  bowtie2      

En  la  terminal  escribimos  

Como   podemos   observar   al   escribir   el   comando   y   dar   “enter”  obtenemos  la  ayuda    y  descripción  de  Bowtie2.  Usage:        bowtie2  [options]*  -­‐x  <bt2-­‐idx>  {-­‐1  <m1>  -­‐2  <m2>  |  -­‐U  <r>}  [-­‐S  <sam>]     <bt2-­‐idx>     Index   filename   prefix   (minus  trailing  .X.bt2).  

Page 33: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

3.  Bowtie2  

vegal@cursouusmb:~$  bowtie2-­‐build      

Para  indexar  la  referencia  utilizamos  

Nuevamente,  al  escribir  el  comando  y  dar  “enter”  obtenemos  la  ayuda    y  descripción  del  mismo  .    Para  indexar  nuestra  referencia  utilizamos  el  siguiente  comando:      vegal@cursouusmb:~$  bowtie2-­‐build  /Data/Modulo4/Ch_200kref.fna  Bowtie2/bowtie2index      

Escibamos!!!  

Page 34: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

3.  Bowtie2  

 bowtie2index.4.bt2  bowtie2index.3.bt2  bowtie2index.2.bt2  bowtie2index.1.bt2  bowtie2index.rev.2.bt2  bowtie2index.rev.1.bt2    

Se  van  a  generar  6  archivos  con  el  prefijo  que  le  dimos  

Una  vez  generado  el  indexado  de  la  referencia  podemos  alinear  las  secuencias.    

Page 35: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

3.  Bowtie2  Nuevamente,   escribiremos   el   comando   bowtie2   para   ver   la  ayuda.    

vegal@cursouusmb:~$  bowtie2    

Usage:        bowtie2  [options]*  -­‐x  <bt2-­‐idx>  {-­‐1  <m1>  -­‐2  <m2>  |  -­‐U  <r>}  [-­‐S  <sam>]        <bt2-­‐idx>    Index  filename  prefix  (minus  trailing  .X.bt2).                            NOTE:  Bowtie  1  and  Bowtie  2  indexes  are  not  compatible.      <m1>              Files  with  #1  mates,  paired  with  files  in  <m2>.                             Could   be   gzip'ed   (extension:   .gz)   or   bzip2'ed  (extension:  .bz2).      <m2>              Files  with  #2  mates,  paired  with  files  in  <m1>.                             Could   be   gzip'ed   (extension:   .gz)   or   bzip2'ed  (extension:  .bz2).      <r>                Files  with  unpaired  reads.                             Could   be   gzip'ed   (extension:   .gz)   or   bzip2'ed  (extension:  .bz2).      <sam>            File  for  SAM  output  (default:  stdout)                              

Page 36: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

3.  Bowtie2  Para   alinear   los   archivos   fastq   “Ch_strain_1.fastq”   y  “Ch_strain_2.fastq  

vegal@cursouusmb:~$  bowtie2  –x  Bowtie2/bowtie2index  -­‐1  /Data/Modulo4/Ch_strain_1.fastq  -­‐2  /Data/Modulo4/Ch_strain_2.fastq  -­‐S  Bowtie2/bowtie2.sam      

Escibamos!!!  

Page 37: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Bowtie2  Time  loading  reference:  00:00:00  Time  loading  forward  index:  00:00:00  Time  loading  mirror  index:  00:00:00  Multiseed  full-­‐index  search:  00:00:15  69008  reads;  of  these:      69008  (100.00%)  were  paired;  of  these:          4683  (6.79%)  aligned  concordantly  0  times          64304  (93.18%)  aligned  concordantly  exactly  1  time          21  (0.03%)  aligned  concordantly  >1  times          -­‐-­‐-­‐-­‐          4683  pairs  aligned  concordantly  0  times;  of  these:              0  (0.00%)  aligned  discordantly  1  time          -­‐-­‐-­‐-­‐          4683  pairs  aligned  0  times  concordantly  or  discordantly;  of  these:              9366  mates  make  up  the  pairs;  of  these:                  9366  (100.00%)  aligned  0  times                  0  (0.00%)  aligned  exactly  1  time                  0  (0.00%)  aligned  >1  times  93.21%  overall  alignment  rate  Time  searching:  00:00:15  Overall  time:  00:00:15  

Page 38: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Un  vistazo  al  archivo  de  salida  

Ejercicio:  ¿De  qué  tipo  es  el  archivo  de  salida  del  alineamiento?  Extraer  los  flags  existentes.  (Sugerencia:  usar  cut,sort,uniq)  Buscar  el  significado  para  alguno  de  los  valores  reportados.    

vegal@cursouusmb:~$  more  Bowtie2/bowtie2.sam    @HD  VN:1.0  SO:unsorted  @SQ  SN:ChYU39_part  LN:200000  @PG  ID:bowtie2  PN:bowtie2  VN:2.3.0  CL:"/usr/bin/bowtie2-­‐align-­‐s  -­‐-­‐wrapper  basic  -­‐0  -­‐t  -­‐p  1  -­‐x  Bowtie2/bowtie2index  -­‐S  Bowtie2/bowtie2.sam  -­‐1  /Data/Modulo4/Ch_strain_1.fastq  -­‐2  /Dat  a/Modulo4/Ch_strain_2.fastq"  ChYU39_part-­‐138850  83  ChYU39_part  23290  42  72M  =

 23160  -­‐202  ATGG  ATCTCACCCTGGAAGAAGCGGTGCGTGGCGTGACCAAAGAGATCCGTATTCCGACGCTAGAGGAGTGC  D-­‐4<&<;A==5A+,C<>@(@1;0<B(A7  ',D15A*,CB?B@6B??.?C@@@??2??(@>??6-­‐1?3>)=9C&  AS:i:-­‐3  XN:i:0

 XM:i:1  XO:i:0  XG:i:0  NM:i:1  MD:Z  :62G9  YS:i:-­‐8  YT:Z:CP  

Page 39: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

4.  BWA  

BWA   es   un   software   para   hacer   alineamientos   de   secuencias  (poca-­‐divergencia)  sobre  un  genoma  de  referencia.  Consta  principalmente  de  tres  algoritmos:  sampe/samse,  BWASW  y  MEM.      El   primero   es   implementado   para   secuencias   (illumina)   de   hasta  100bp,  los  otros  dos  para  secuencias  en  el  rango  70bp  a  1Mbp.    MEM  es  recomendado  para  “query’s”  de  alta-­‐calidad.  Además  por  su  velocidad  también  tiene  un  mejor  desempeño  que  sampe  para  “reads”  de  70-­‐100bp.  

Page 40: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

http://bio-­‐bwa.sourceforge.net  

4.  BWA  

Page 41: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

4.  BWA  

vegal@cursouusmb:~$  bwa      

En  la  terminal  escribimos  

Usage:    Program:  bwa  (alignment  via  Burrows-­‐Wheeler  transformation)  Version:  0.7.15-­‐r1140  Contact:  Heng  Li  <[email protected]>    Usage:      bwa  <command>  [options]    Command:  index                  index  sequences  in  the  FASTA  format                    mem                      BWA-­‐MEM  algorithm  

Page 42: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

4.  BWA  

vegal@cursouusmb:~$  bwa  index      

Para  indexar  la  referencia  utilizamos  

Nuevamente,  al  escribir  el  comando  y  dar  “enter”  obtenemos  la  ayuda    y  descripción  del  mismo  .    Para  indexar  nuestra  referencia  utilizamos  el  siguiente  comando:      vegal@cursouusmb:~$  bwa  index  -­‐a  is  /Data/Modulo4/Ch_200kref.fna  -­‐p  BWA/BWAindex      

Escibamos!!!  

Page 43: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

4.  BWA  

 BWAindex.bwt  BWAindex.pac  BWAindex.ann  BWAindex.amb  BWAindex.sa    

Se  van  a  generar  6  archivos  con  el  prefijo  que  le  dimos  

Una  vez  generado  el  indexado  de  la  referencia  podemos  alinear  las  secuencias.    

Page 44: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

4.  BWA  Vamos  a  alinear  los  archivos  fastq  “Ch_strain_1.fastq”  y   “Ch_strain_2.fastq   utilizando   las   opciones   sampe   y  mem.  

vegal@cursouusmb:~$  bwa  aln  -­‐t  1  BWA/BWAindex  /Data/Modulo4/Ch_strain_1.fastq  >  BWA/seqAlnR1.sai    vegal@cursouusmb:~$  bwa  aln  -­‐t  1  BWA/BWAindex  /Data/Modulo4/Ch_strain_2.fastq  >  BWA/seqAlnR2.sai    vegal@cursouusmb:~$  bwa  sampe  -­‐a  300  BWA/BWAindex  BWA/seqAlnR1.sai  BWA/seqAlnR2.sai  /Data/Modulo4/Ch_strain_1.fastq  /Data/Modulo4/Ch_strain_2.fastq  >  BWA/BWA_sampe.sam   Escibamos!!!  

Page 45: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

4.  BWA  Ahora  con  mem.  En  este  caso  no  es  necesario  alinear  por  separado  los  archivos  pareados.  

vegal@cursouusmb:~$  bwa  mem  -­‐t  4  BWA/BWAindex  /Data/Modulo4/Ch_strain_1.fastq  /Data/Modulo4/Ch_strain_2.fastq  >  BWA/BWA_mem.sam  

Escibamos!!!  

Page 46: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

5.  Smalt  Sequence Mapping and Alignment Tool  

SMALT  es  un  programa  de  alineamiento  de  secuencias  de  ADN  sobre  una  referencia  genómica.    Utiliza   una   combinación   de   hash   (palabras-­‐cortas)   y  programación  dinámica.    

Page 47: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

http://www.sanger.ac.uk/science/tools/smalt-­‐0  

5.  Smalt  

Page 48: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

5.  Smalt  

vegal@cursouusmb:~$  smalt      

En  la  terminal  escribimos  

 SMALT  -­‐  Sequence  Mapping  and  Alignment  Tool                                                            (version:  0.7.6)  SYNOPSIS:           smalt   <task>   [TASK_OPTIONS]   [<index_name>   <file_name_A>  [<file_name_B>]]    Available  tasks:          smalt  check      -­‐  checks  FASTA/FASTQ  input          smalt  help        -­‐  prints  a  brief  summary  of  this  software          smalt  index      -­‐  builds  an  index  of  k-­‐mer  words  for  the  reference          smalt  map          -­‐  maps  single  or  paired  reads  onto  the  reference  

Page 49: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

5.  Smalt  

vegal@cursouusmb:~$  smalt  index      

Para  indexar  la  referencia  utilizamos  

Nuevamente,  al  escribir  el  comando  y  dar  “enter”  obtenemos  la  ayuda    y  descripción  del  mismo  .    Para  indexar  nuestra  referencia  utilizamos  el  siguiente  comando:      vegal@cursouusmb:~$  smalt  index  -­‐k  18  -­‐s  5  Smalt/smaltindex  /Data/Modulo4/Ch_200kref.fna    

Escibamos!!!  

Page 50: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

5.  Smalt  

 smaltindex.sma  smaltindex.smi    

Se  van  a  generar  6  archivos  con  el  prefijo  que  le  dimos  

Una  vez  generado  el  indexado  de  la  referencia  podemos  alinear  las  secuencias.    

Page 51: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

5.  Smalt  Para   alinear   los   archivos   fastq   “Ch_strain_1.fastq”   y  “Ch_strain_2.fastq    ¿Qué  opción  utilizaremos  para  alinear?  

vegal@cursouusmb:~$  smalt  map  -­‐o  Smalt/smalt.sam  Smalt/smaltindex  /Data/Modulo4/Ch_strain_1.fastq  /Data/Modulo4/Ch_strain_2.fastq      

Escibamos!!!  

Page 52: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

6.  SAMtools  SAMtools   es   un   conjunto   de   herramientas   para   el   post-­‐procesamiento  de  los  alineamientos  de  secuencia  cortas  de  ADN.  Trabaja  con  archivos  de  tipo  SAM,  BAM  y  formatos  CRAM.                  

Page 53: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Pueden   consultar   la   información   completa   (instalación,   manual,  etc.)  en  el  sitio:  http://www.htslib.org/      

6.  SAMtools  

Page 54: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

6.  SAM  tools  

Page 55: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Cada  uno  de  estos  comando  tiene  un   conjunto   de   opciones,   las  cuales   pueden   ser   consultadas  escribiendo   el   comando   sin  parámetros.  

Page 56: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Los  comandos  más  utilizados  son:    

samtools  view    samtools  sort  samtools  index    samtools  idxstats  samtools  merge  samtools  faidx  samtools  fixmate  samtools  mpileup  samtools  tview    samtools  flags  Samtools  fastq  

6.  SAM  tools  

Cada  uno  de  estos  comando  tiene  un   conjunto   de   opciones,   las  cuales   pueden   ser   consultadas  escribiendo   el   comando   sin  parámetros.  

Page 57: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Los  comandos  más  utilizados  son:    

samtools  view    samtools  sort  samtools  index    samtools  idxstats  samtools  merge  samtools  faidx  samtools  fixmate  samtools  mpileup  samtools  tview    samtools  flags  Samtools  fastq  

6.  SAM  tools  

Cada  uno  de  estos  comando  tiene  un   conjunto   de   opciones,   las  cuales   pueden   ser   consultadas  escribiendo   el   comando   sin  parámetros.  

Page 58: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

 Ejemplos  de  uso:    samtools  view  -­‐b  -­‐S    Bowtie2/bowtie2.sam  -­‐o  Bowtie2/bowtie2.bam    

 La  opción  -­‐b  indica  que  la  salida  debe  ser  en  formato  bam.  -­‐S  indica  que  la  entrada  es  en  formato  sam.    -­‐o    permite  definir  el  nombre  del  archivo  de  salida  

6.  SAMtools  

Page 59: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Ejemplos  de  uso:    samtools  flags  

6.  SAMtools  

Page 60: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

6.  SAMtools    Realizar  las  siguientes  operaciones:    1)  Regresar   a   formato   sam   el   archivo   bowtie2.bam   y   guardarlo  

con  el  nombre    bowtie2Return.sam  2)  Obtener  las  estadísticas  de  alineamiento  del  archivo  smalt.sam  3)  Comparar   las   estadísticas   de   alineamiento   de   los   archivos  

smalt.sam,  bowtie2.sam  y  BWA_mem.sam  ¿  Qué  método  alineó  un  mayor  porcentaje  de  secuencias?  

4)  Comparar  los  resultados  de  los  alineamientos  BWA_mem.sam  y  BWA_sampe.sam.  ¿  Qué  método  alineó  un  mayor  porcentaje  de  secuencias?  

Page 61: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

7.  BAM  tools  BAMtools  es  un  conjunto  de  herramientas  para  el  manejo  de  archivos  de  tipo  BAM.  Estas  herramientas  permiten  ordenar,  convertir  en  otros  formatos  y  proporcionar  información  estadísticas  de  los  archivos,  entre  otras  funciones.                  

Page 62: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Pueden   consultar   la   información   completa   (instalación,   manual,  etc.)  en  el  sitio:  https://github.com/pezmaster31/bamtools  

7.  BAM  tools  

Page 63: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

7.  BAMtools  

vegal@cursouusmb:~$  bamtools      

En  la  terminal  escribimos  

usage:  bamtools  [-­‐-­‐help]  COMMAND  [ARGS]    Available  bamtools  commands:  

 convert                  Converts  between  BAM  and  a  number  of  other                                                formats  

 count                      Prints  number  of  alignments  in  BAM  file(s)    coverage                Prints  coverage  statistics  from  the  input  

                                             BAM  file    filter                    Filters  BAM  file(s)  by  user-­‐specified  

                                             criteria  

Page 64: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

7.  BAMtools    

Para  cada  una  de  las  opciones  bamtools,  tenemos  un  conjunto  de  parámetros,  los  cuales  podemos  consultar:  

vegal@cursouusmb:~$  bamtools  convert  -­‐h      

Usage:   bamtools   convert   -­‐format   <FORMAT>   [-­‐in   <filename>   -­‐in  <filename>   ...   |   -­‐list   <filelist>]   [-­‐out   <filename>]   [-­‐region  <REGION>]  [format-­‐specific  options]    Input  &  Output:      -­‐in  <BAM  filename>                                the  input  BAM  file(s)  [stdin]  

Page 65: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

7.  BAMtools    

Para  cada  una  de  las  opciones  bamtools,  tenemos  un  conjunto  de  parámetros,  los  cuales  podemos  consultar:  

vegal@cursouusmb:~$  bamtools  convert  -­‐h      

Usage:   bamtools   convert   -­‐format   <FORMAT>   [-­‐in   <filename>   -­‐in  <filename>   ...   |   -­‐list   <filelist>]   [-­‐out   <filename>]   [-­‐region  <REGION>]  [format-­‐specific  options]    Input  &  Output:      -­‐in  <BAM  filename>                                the  input  BAM  file(s)  [stdin]  

Page 66: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

 Ejemplos  de  uso,  para  convertir  el  archivo  bam  a  fastq    bamtools  convert  -­‐format  fastq    -­‐in  Bowtie2/bowtie2.bam  -­‐out  Bowtie2/bowtie2.fastq    

-­‐format:  formato  al  que  queremos  convertir  -­‐in:  archivo  de  entrada  -­‐out:  archivo  de  salida  

7.  BAMtools  

Escibamos!!!  

Page 67: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Analizando  la  cobertura  del  mapeo    

bamtools  converage  -­‐in  Bowtie2/bowtie2.bam  -­‐out  Bowtie2/bowtie2.bam.coverage  

 Posteriormente,  veamos  qu  contiene  el  archivo  bowtie2.bam.coverage    

7.  BAMtools  

Escibamos!!!  

Page 68: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

¿Qué  comando  utilizaremos  para  filtrar  de  un  archivo  bam,  sólo  las  lecturas  que  mapearon?    

7.  BAMtools  

Escibamos!!!  

Bamtools  filter  -­‐in  Bowtie2/bowtie2.bam  -­‐out  Bowtie2/bowtie2.bam.map  isMapped  true  

 

Page 69: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

Para  visualizar  el  alineamiento  vs  la  referencia  utilizaremos  la  opción  tview  de  samtools.    1)  Primero  ordenaremos  el  archivo  bam  de  las  lecturas  que  mapearon.    bamtools  sort  –in  Bowtie2/bowtie2.map.bam  -­‐out  bowtie2.map.sort.bam    

7.  BAMtools  

Escibamos!!!  

Page 70: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

2)  Indexar  el  archivo      samtools  index  Bowtie2/bowtie2.map.sort.bam    3)  Visualizar      samtools  tview  ?  ¿Qué  parámetros  se  requieren?  

7.  BAMtools  

Escibamos!!!  

Page 71: Alineamiento*de*secuencias*cortas* y*manejo*de*la ...zazil.ibt.unam.mx/usmb/wp-content/uploads/2016/05/... · Brindar* los* conceptos* básicos* de* los* programas* Bowtie2, BWAy*SMALT,

 samtools  tview  Bowtie2/bowtie2.map.sort.bam  /Data/Modulo4/Ch_200kref.fna  

7.  BAMtools  

Escibamos!!!