{"push_id":717026608,"size":8,"distinct_size":1,"ref":"refs/heads/master","head":"2b6bb6bfb25aa64a07556c238ef35f266c655ccd","before":"ef6f8acf0c08a6d116b9a7fce5d5489bd385d483","commits":[{"sha":"85f232c885f6b3260c5db57c3132b45bed8b8d7d","author":{"email":"c7cc2d316224a4801885a18df4283fb0e6fe45f6@gmail.com","name":"Tim O'Donnell"},"message":"Support loading VCFs from URL\n\nAdd support for loading VCFs over any protocol supported by `urlopen` (HTTP, HTTPS, FTP). Closes #91.\n\nAlso adds a test for loading gzip'd VCFs from files and over HTTP.","distinct":false,"url":"https://api.github.com/repos/hammerlab/varcode/commits/85f232c885f6b3260c5db57c3132b45bed8b8d7d"},{"sha":"2255b90a271af90113012d938e6f47d5ee30fb62","author":{"email":"c7cc2d316224a4801885a18df4283fb0e6fe45f6@gmail.com","name":"Tim O'Donnell"},"message":"Faster loading of VCFs, loading over HTTP, and refactored variant metadata\n\n * Speed improvements to `load_vcf`, using a new pandas-based implementation and other tweaks. This is 2X faster if you need the variant info column, and 9X faster if you don't.\n * Add support for loading VCFs over any protocol supported by the `requests` package (HTTP, HTTPS, FTP). Closes #91.\n * Refactoring: got rid of the `variant.info` field and moved it to `VariantCollection.metadata`, which is a dict from variants to extra metadata. I think this simplifies things, especially when working with variants coming from different sources, where the variant may be same but the metadata may be different.\n\nOptimizations\n * Specify a default sort key in VariantCollection.__init__, to avoid making variant pairwise comparisons in sorted() in Collection.__init__.\n * Optimize memoize function for common case (cache hit).\n * Avoid unnecessary list creation in Collection.__init__\n * Faster implementation of trim_shared_suffix\n * Use slots for Variant instances.\n * Optimize common case of a simple SNV in Variant.__init__\n * Optimize Variant.__hash__, __eq__\n\nOther changes\n * Add test/benchmark_vcf_load.py for benchmarking `load_vcf` performance.\n * Add allow_extended_nucleotides parameter to load_vcf. This is necessary to load the dbsnp VCF.\n * Change multiallelic.vcf test case to use tabs (as per VCF standard) not spaces.\n\nTiming details. Time to load first 100K variants in dbsnp VCF (median of 3 runs):\n * master varcode + pyensembl: 10.8 sec\n * varcode tweaks: 8.1 sec\n * varcode tweaks + pandas-based loader: 5.4 sec\n * varcode tweaks + pandas + skip parsing info:  1.5 sec\n * varcode tweaks + pandas + skip parsing info + pyensembl tweaks:  1.2 sec","distinct":false,"url":"https://api.github.com/repos/hammerlab/varcode/commits/2255b90a271af90113012d938e6f47d5ee30fb62"},{"sha":"ce9ceb7e1464dd33a2a8e0c3e82f2bc28da86bb6","author":{"email":"c7cc2d316224a4801885a18df4283fb0e6fe45f6@gmail.com","name":"Tim O'Donnell"},"message":"Refactor vcf parsing into `load_vcf` and `load_vcf_fast`\n\n * `load_vcf` now uses the traditional pyvcf implementation. `load_vcf_fast` is the pandas implementation.\n * Split out `load_vcf_fast` into helper functions that load data into pandas and then use the pandas dataframe to create a VariantCollection.\n * better docs","distinct":false,"url":"https://api.github.com/repos/hammerlab/varcode/commits/ce9ceb7e1464dd33a2a8e0c3e82f2bc28da86bb6"},{"sha":"05c16285965206dfa1aa4872d5bb5ffcf4220815","author":{"email":"c7cc2d316224a4801885a18df4283fb0e6fe45f6@gmail.com","name":"Tim O'Donnell"},"message":"Optimization for vcf loading when most variants are not passing\n\nWith this change, we now delay parsing the INFO field until after we have tested whether the record is PASS.","distinct":false,"url":"https://api.github.com/repos/hammerlab/varcode/commits/05c16285965206dfa1aa4872d5bb5ffcf4220815"},{"sha":"302ef498190a8043ddab526f8142bff03701265e","author":{"email":"c7cc2d316224a4801885a18df4283fb0e6fe45f6@gmail.com","name":"Tim O'Donnell"},"message":"Bugfix in load_vcf URL parsing, add tests\n\nFix a bug in VCF URL parsing where absolute paths starting with two slashes '//foo/file.vcf' would get misparsed.\n\nAlso add VCFs from strelka and mutect to test the equivalence of the two VCF parsing routines.","distinct":false,"url":"https://api.github.com/repos/hammerlab/varcode/commits/302ef498190a8043ddab526f8142bff03701265e"},{"sha":"0fad9cd9eaefa0e97fbc1e00adb168c7dc1e1845","author":{"email":"c7cc2d316224a4801885a18df4283fb0e6fe45f6@gmail.com","name":"Tim O'Donnell"},"message":"comment tweak","distinct":false,"url":"https://api.github.com/repos/hammerlab/varcode/commits/0fad9cd9eaefa0e97fbc1e00adb168c7dc1e1845"},{"sha":"1ec26d4a8c4061071302eef204ecf013b06a6482","author":{"email":"c7cc2d316224a4801885a18df4283fb0e6fe45f6@gmail.com","name":"Tim O'Donnell"},"message":"style tweak: change single quotes to double quotes in docstrings in vcf.py","distinct":false,"url":"https://api.github.com/repos/hammerlab/varcode/commits/1ec26d4a8c4061071302eef204ecf013b06a6482"},{"sha":"2b6bb6bfb25aa64a07556c238ef35f266c655ccd","author":{"email":"c7cc2d316224a4801885a18df4283fb0e6fe45f6@gmail.com","name":"Tim O'Donnell"},"message":"Merge pull request #94 from hammerlab/faster-vcf-parsing\n\n Faster VCFs loading, support HTTP, and refactored variant metadata","distinct":true,"url":"https://api.github.com/repos/hammerlab/varcode/commits/2b6bb6bfb25aa64a07556c238ef35f266c655ccd"}]}