Lire un fichier VCF
Le VCF (Variant Call Format) est le format universel pour stocker les variants génétiques (SNVs, indels, structuraux). Il est tabulaire mais précédé d’un nombre variable de méta-lignes qui commencent par ##.
- les lignes
##décrivent les champs (versions, INFO, FILTER, FORMAT) — à ignorer pour l’analyse, - la ligne
#CHROMest l’en-tête tabulaire, - chaque ligne suivante est un variant (8 colonnes obligatoires + colonnes échantillons).
Sauvegardez ce VCF de démonstration sous variants.vcf :
##fileformat=VCFv4.2
##INFO=<ID=DP,Number=1,Type=Integer,Description="Read depth">
##INFO=<ID=AF,Number=1,Type=Float,Description="Allele frequency">
##INFO=<ID=GENE,Number=1,Type=String,Description="Gene symbol">
#CHROM POS ID REF ALT QUAL FILTER INFO
chr1 1500 rs1 A G 35.5 PASS DP=120;AF=0.45;GENE=BRCA1
chr1 2400 rs2 C T 42.1 PASS DP=98;AF=0.51;GENE=BRCA1
chr1 3100 rs3 G A 18.0 LowQual DP=22;AF=0.40;GENE=BRCA1
chr1 5200 rs4 T TAC 50.0 PASS DP=150;AF=0.48;GENE=TP53
chr2 1100 rs5 G C 28.0 PASS DP=85;AF=0.008;GENE=KRAS
chr2 2200 rs6 AGT A 33.0 PASS DP=110;AF=0.50;GENE=KRAS
chr3 1500 rs7 C G 45.0 PASS DP=180;AF=0.95;GENE=MYC
chr3 3300 rs8 T C 29.0 PASS DP=70;AF=0.30;GENE=MYC
chrX 5500 rs9 G T 15.0 LowQual DP=18;AF=0.60;GENE=AR
chrX 8800 rs10 A C 38.5 PASS DP=130;AF=0.49;GENE=ARÉcrivez lire_vcf(chemin) qui renvoie une liste de dicts, un par variant :
{
"chrom": "chr1",
"pos": 1500,
"id": "rs1",
"ref": "A",
"alt": "G",
"qual": 35.5,
"filter": "PASS",
"info": "DP=120;AF=0.45;GENE=BRCA1",
}Affichez ensuite le nombre de variants chargés + la première entrée.
10 variants chargés.
Premier : chr1:1500 A>G QUAL=35.5 FILTER=PASS