Az 1000Genome projekt elérhetővé tett nagy mennyiségű exome szekvenálásból származó adatot. Ezek egy VCF 4.0 típusú fájlban találhatóak meg egy ftp szerveren. Nincs is sok probléma vele, mindössze annyi, hogy tömörítve 61GB. Felhő ide-kimeríthetetlen tárhely oda, ez igen nagy mennyiségű adat, nem sok kedvem volt letölteni, kicsomagolni, majd kinyerni a nekem kellő rekordokat. Szerettem volna valami elegáns megoldást.
Először elkezdtem letölteni, majd egy tetszőleges időpontban megállítottam a letöltést és a zcat segítségével kinyertem az első pár ezer sort. A letöltött állomány darabka 296MB volt, kicsomagolás után csekély 2,3 GB-ra hízott. Tehát 500GB elég lenne a tömörítetlen adatoknak, amelyeknek nagy részére nem is voltam kíváncsi.
Szerencsére a VCFTools rendelkezésre bocsájt egy csomó eszközt, amivel szűrni lehet a VCF fájlokat. Már csak azt kellett megoldani, hogy ez a szűrés letöltés közben valósuljon meg. Mivel GNU/Linux alatt dolgozom, ez nem is olyan nehéz feladat, mint azt elsőre gontoltam.
A letöltést wget-el végzem. Annak a -O - kapcsolóval megadható, hogy a szabványos kimementnek adja át az állományt. A rendszerüzeneteket kikapcsoltam a -q kapcsolóval. Ezután a zcat kicsomagolja az állományt, majd a vcf-subset parancs elvégzi a szűrést. A -c kapcsolóval megadható neki egy fájl, ami a nekünk szükséges sorokat tartalmazza. Összegezve:
wget -O - -q 'ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20100804/ALL.2of4intersection.20100804.genotypes.vcf.gz' | zcat | ./vcf-subset -c oszlopok. >eredmeny.vcf