Just wanted to get some stuff regarding VCF-merge down before I forgot how I did it. Notebooks are important huh?
This will largely be psedu-code, as I’m writing it on a computer separate from the files, but should be easly transferable/extendable.
This assumes that all vcf files are located in a common directory, I may extend it to crawl through a series of directories, but that seems excessive at the moment.
vcf.filenames<- list.files(path = "directory", pattern = ".vcf")
## Goes through and bgzips and tabixs each file, a requirement of vcf-merge
for(i in 1:leng(vcf.filenames)) {
system("bgzip -c ", vcf.filenames[i])
system("tabix -p ", vcf.filenames[i], ".gz")
}
## performes the actual merge on all avaialble bgzipped files. It would be wise to only have VCF files in this directory, so strange things don't happen.
system("vcf-merge *.gz > merged.vcf")
system("vcftools --relatedness --vcf merged.vcf --out relatedness")
Just tested this on a subset of files and it worked, so that’s one step closer to actually running MACAU!
LS0tCnRpdGxlOiAidmNmLW1lcmdlIGFuZCB2Y2Z0b29scyAtLXJlbGF0ZWRuZXNzIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgpKdXN0IHdhbnRlZCB0byBnZXQgc29tZSBzdHVmZiByZWdhcmRpbmcgVkNGLW1lcmdlIGRvd24gYmVmb3JlIEkgZm9yZ290IGhvdyBJIGRpZCBpdC4gTm90ZWJvb2tzIGFyZSBpbXBvcnRhbnQgaHVoPwoKVGhpcyB3aWxsIGxhcmdlbHkgYmUgcHNlZHUtY29kZSwgYXMgSSdtIHdyaXRpbmcgaXQgb24gYSBjb21wdXRlciBzZXBhcmF0ZSBmcm9tIHRoZSBmaWxlcywgYnV0IHNob3VsZCBiZSBlYXNseSB0cmFuc2ZlcmFibGUvZXh0ZW5kYWJsZS4KClRoaXMgYXNzdW1lcyB0aGF0IGFsbCB2Y2YgZmlsZXMgYXJlIGxvY2F0ZWQgaW4gYSBjb21tb24gZGlyZWN0b3J5LCBJIG1heSBleHRlbmQgaXQgdG8gY3Jhd2wgdGhyb3VnaCBhIHNlcmllcyBvZiBkaXJlY3RvcmllcywgYnV0IHRoYXQgc2VlbXMgZXhjZXNzaXZlIGF0IHRoZSBtb21lbnQuIAoKYGBge3J9Cgp2Y2YuZmlsZW5hbWVzPC0gbGlzdC5maWxlcyhwYXRoID0gImRpcmVjdG9yeSIsIHBhdHRlcm4gPSAiLnZjZiIpCiMjIEdvZXMgdGhyb3VnaCBhbmQgYmd6aXBzIGFuZCB0YWJpeHMgZWFjaCBmaWxlLCBhIHJlcXVpcmVtZW50IG9mIHZjZi1tZXJnZQpmb3IoaSBpbiAxOmxlbmcodmNmLmZpbGVuYW1lcykpICAgewogIAogIHN5c3RlbSgiYmd6aXAgLWMgIiwgdmNmLmZpbGVuYW1lc1tpXSkKICBzeXN0ZW0oInRhYml4IC1wICIsIHZjZi5maWxlbmFtZXNbaV0sICIuZ3oiKQogIAp9CgojIyBwZXJmb3JtZXMgdGhlIGFjdHVhbCBtZXJnZSBvbiBhbGwgYXZhaWFsYmxlIGJnemlwcGVkIGZpbGVzLiBJdCB3b3VsZCBiZSB3aXNlIHRvIG9ubHkgaGF2ZSBWQ0YgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnksIHNvIHN0cmFuZ2UgdGhpbmdzIGRvbid0IGhhcHBlbi4Kc3lzdGVtKCJ2Y2YtbWVyZ2UgKi5neiA+IG1lcmdlZC52Y2YiKQoKc3lzdGVtKCJ2Y2Z0b29scyAtLXJlbGF0ZWRuZXNzIC0tdmNmIG1lcmdlZC52Y2YgLS1vdXQgcmVsYXRlZG5lc3MiKQoKCgpgYGAKCkp1c3QgdGVzdGVkIHRoaXMgb24gYSBzdWJzZXQgb2YgZmlsZXMgYW5kIGl0IHdvcmtlZCwgc28gdGhhdCdzIG9uZSBzdGVwIGNsb3NlciB0byBhY3R1YWxseSBydW5uaW5nIE1BQ0FVIQ==