.fai, index de fichier fasta

Introduction

Un fichier .fai est un index d'un fichier fasta, décrivant le positionnement de chaque séquence dans le fichier pour permettre une exploitation rapide de son contenu. Ainsi, il sera facile d'extraire rapidement le contenu d'une séquence en utilisant des coordonnées précises.

Contenu

Pour chaque séquence, le fichier contient une ligne avec 5 champs:

  • le nom de la séquence
  • le nombre de base dans la séquence
  • index en bytes de la position de début de la séquence
  • nombre de bases par ligne
  • nombre de bytes par ligne

Petit rappel sur les bits/bytes/octets ici

Voici un exemple de fichier fasta et son index .fai associé:

fasta:

>seq1
ATGTATGTAGTAGGAT
ATGATGATGATTAGGA
>seq2
TGTGATGTGGCTGCTA
TGTCTATATATATATA
>seq3
TTATCTAT

fai:

seq1    32    6    16    17
seq2    32    46    16    17
seq3    8    86    8    9

Supperposons les informations de l'index sur le fichier sachant que:

  • en informatique on compte à partir de 0 (premier index=0)
  • le caractère de fin de ligne (\n) compte un byte. Pour plus de lisibilité on le notera ici: $

Voici le fichier fasta annoté avec les index en bytes:

 0....5
 >seq1$
 6...............22
 ATGTATGTAGTAGGAT$
23...............39
 ATGATGATGATTAGGA$
40...45
 >seq2$
46...............62
 TGTGATGTGGCTGCTA$
63...............79
 TGTCTATATATATATA$
80....85
 >seq3$
86.......94
 TTATCTAT$

On observe que l'on rerouve facilement les informations décrites dans le fichier d'index. Ainsi le début de la séquence seq2 se fait bien au byte 46 et celui de la seq3 au byte 86. Avec ces points de départ défini, on va pouvoir exploiter le nombre de bases par ligne défini pour chaque séquence pour accéder rapidement à des coordonnées et aux séquences correspondantes.