Menu

Ressources

Aide-mémoire des formats

Sept formats incontournables, leurs champs et les erreurs de parsing les plus coûteuses. Les exemples sont synthétiques et ne proviennent pas de jeux réels.

FASTA

.fa, .fasta, .fna, .faa

Séquence(s) sans qualité. Une ligne d'en-tête, puis des lignes de séquence.

Champs principaux

  • Ligne d'en-tête : >identifiant description facultative
  • Lignes de séquence : alphabet, retours à la ligne libres
  • Pas de qualité par base
  • Plusieurs enregistrements possibles dans un même fichier

Exemple synthétique

>ecoli_lacZ_partial [Escherichia coli K-12]
ATGACCATGATTACGCCAAGCTTGCATGCCTGCAGGTCGACTCTAGAGGATCCCCGGGTACCGAGCTCGAATTC
GTAATCATGGTCATAGCTGTTTCCTGTGTGAAATTGTTATCCGCTCACAATTCCACACAACATACGAGCCGGA

Pièges fréquents

  • Une séquence peut être coupée sur plusieurs lignes : concaténer avant de compter.
  • Le caractère > ne peut apparaître qu'en début de ligne d'en-tête.
  • Les commentaires commençant par ; ne sont pas standard dans tous les parseurs.
  • Les séquences peuvent contenir des caractères ambiguus (N, R, Y).

FASTQ

.fq, .fastq, .fq.gz

Lectures avec qualité par base, quatre lignes par enregistrement.

Champs principaux

  • Ligne 1 : @identifiant et métadonnées
  • Ligne 2 : séquence
  • Ligne 3 : + (éventuellement répétition de l'identifiant)
  • Ligne 4 : chaîne de qualité ASCII de même longueur que la séquence

Exemple synthétique

@read1
ACGTACGTACGT
+
IIIIIIIIIIII

Pièges fréquents

  • La qualité est encodée en ASCII : Q = ord(caractère) - 33 avec l'encodage Sanger/Illumina moderne.
  • Les longueurs des lignes 2 et 4 doivent être identiques.
  • Un fichier FASTQ peut être compressé en gzip ; ne pas le lire comme du texte brut.
  • Les adaptateurs ne sont pas retirés automatiquement.

SAM / BAM

.sam, .bam, .cram

Alignements de lectures sur une référence. BAM est la version binaire compressée.

Champs principaux

  • En-tête @HD, @SQ, @RG, @PG (lignes commençant par @)
  • QNAME : nom de la lecture
  • FLAG : propriétés binaires (paire, brin, non alignée, duplicat…)
  • RNAME, POS : référence et position 1-based
  • MAPQ : qualité de l'alignement
  • CIGAR : description des opérations d'alignement
  • RNEXT, PNEXT, TLEN : paire et longueur du fragment
  • SEQ, QUAL : séquence et qualité

Exemple synthétique

@HD	VN:1.6	SO:coordinate
@SQ	SN:chr1	LN:1000
read1	99	chr1	10	60	12M	=	30	32	ACGTACGTACGT	IIIIIIIIIIII

Pièges fréquents

  • POS est 1-based, alors que de nombreux index Python sont 0-based.
  • FLAG est un entier : le décoder avec samtools flags plutôt qu'à la main.
  • Un CIGAR avec N (saut) ne signifie pas une délétion génomique.
  • Un BAM doit être trié et indexé pour l'appel de variants.

VCF

.vcf, .vcf.gz, .bcf

Variants par rapport à une référence, avec génotypes et annotations.

Champs principaux

  • CHROM, POS, ID, REF, ALT
  • QUAL : qualité du variant
  • FILTER : PASS ou motifs de rejet
  • INFO : annotations clé=valeur
  • FORMAT : champs par échantillon (GT, DP, AD…)
  • Colonnes d'échantillons

Exemple synthétique

##fileformat=VCFv4.3
##contig=<ID=chr1,length=1000>
#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	S1
chr1	42	.	A	G	50	PASS	DP=30	GT:DP	0/1:30

Pièges fréquents

  • Un VCF décrit des variants par rapport à une référence : vérifier la version du génome.
  • Un allèle 0/1 n'est pas un dosage d'expression ; c'est un génotype.
  • Les champs INFO et FORMAT ont des conventions différentes.
  • Un VCF multi-échantillons peut contenir des sites non variants (0/0).

GTF / GFF

.gtf, .gff3

Annotation de gènes et transcrits en neuf colonnes tabulées.

Champs principaux

  • seqname, source, feature (gene, transcript, exon, CDS)
  • start, end : coordonnées 1-based inclusives
  • score, strand (+/-/.), frame
  • attributes : clé "valeur" (GTF) ou clé=valeur (GFF3)

Exemple synthétique

chr1	synthetic	gene	1	900	.	+	.	gene_id "gene1"; gene_name "lacZ";
chr1	synthetic	exon	1	300	.	+	.	gene_id "gene1"; transcript_id "tx1";

Pièges fréquents

  • Les coordonnées sont 1-based inclusives, contrairement à BED.
  • Le champ frame n'a de sens que pour les CDS.
  • Les attributs GTF et GFF3 n'ont pas la même syntaxe.
  • Les identifiants de transcrits et de gènes ne sont pas toujours cohérents.

PDB

.pdb, .ent

Structure macromoléculaire en colonnes de largeur fixe.

Champs principaux

  • HEADER, TITLE, COMPND, SOURCE : métadonnées
  • REMARK 465/470 : résidus manquants ou non observés
  • SEQRES : séquence des chaînes
  • ATOM : atomes d'une chaîne de macromolécule
  • HETATM : ligands, eau, ions
  • TER : fin de chaîne
  • MODEL/ENDMDL : modèles multiples (RMN)

Exemple synthétique

ATOM      1  N   THR A   1      17.047  14.099   3.625  1.00 13.79           N

Pièges fréquents

  • Les colonnes sont fixes : découper par position, pas par espaces.
  • Le champ d'occupation et le facteur B ne sont pas des mesures de qualité équivalentes.
  • Un fichier peut contenir plusieurs modèles : choisir explicitement le premier.
  • Les atomes d'hydrogène et les altloc compliquent le comptage.

Newick

.nwk, .tree, .tre

Arbre parenthésé avec longueurs de branches et valeurs de support.

Champs principaux

  • Feuilles : noms
  • Parenthèses : clades
  • Virgules : séparation des enfants
  • Deux-points : longueur de branche
  • Nombres après les nœuds : souvent des valeurs de bootstrap

Exemple synthétique

((A:0.1,B:0.2)95:0.3,(C:0.1,D:0.2)80:0.4);

Pièges fréquents

  • Un point-virgule final est obligatoire dans la plupart des parseurs.
  • Les étiquettes contenant des espaces ou des parenthèses doivent être citées.
  • La racine n'est pas toujours biologique : un arbre peut être enraciné artificiellement.
  • Bootstrap et probabilités postérieures ne sont pas la même quantité.