Esempio n. 1
0
 def test_null_mono(self):
     # null qualities were written as blank, causing subsequent parse to fail
     print os.path.abspath(
         os.path.join(os.path.dirname(__file__), 'null_genotype_mono.vcf'))
     p = cyvcf.Reader(fh('null_genotype_mono.vcf'))
     assert p.samples
     out = StringIO()
     writer = cyvcf.Writer(out, p)
     map(writer.write_record, p)
     out.seek(0)
     print out.getvalue()
     p2 = cyvcf.Reader(out)
     rec = p2.next()
     assert rec.samples
Esempio n. 2
0
def use_cyvcf(vcf_file):
    """ Not installing (py3 not supported, py2 installs but import doesn't work)
    """
    import cyvcf  # need to reinstall instead of pyvcf
    import gzip
    f = gzip.open(vcf_file) if vcf_file.endswith('.gz') else open(vcf_file)
    with f as f:
        vcf_reader = cyvcf.Reader(f)
        vcf_writer = cyvcf.Writer(sys.stdout, vcf_reader)
        for rec in vcf_reader:
            msi_fail = proc_fields(rec.REF, rec.ALT[0], rec.samples[0]['AF'],
                                   rec.INFO['MSI'])
            if msi_fail:
                rec.FILTER.append('MSI_FAIL')
            vcf_writer.write_record(rec)
Esempio n. 3
0
    def testWrite(self):

        reader = cyvcf.Reader(fh('gatk.vcf'))
        out = StringIO()
        writer = cyvcf.Writer(out, reader)

        records = list(reader)

        map(writer.write_record, records)
        out.seek(0)
        reader2 = cyvcf.Reader(out)

        self.assertEquals(reader.samples, reader2.samples)
        self.assertEquals(reader.formats, reader2.formats)
        self.assertEquals(reader.infos, reader2.infos)

        for l, r in zip(records, reader2):
            self.assertEquals(l.samples, r.samples)