Пример #1
0
 def passes_filters(self):
     """Checks whether a VCF variant passes user defined criteria.
     
     Returns:
         boolean value for whether the variant passes the filters
     """
     
     # some CNVs are on female Y chrom, which give errors, fail those CNVs
     try:
         self.set_genotype()
     except ValueError:
         return False
     
     # we rely on the CALLSOURCE field to inform us what the CNV has been
     # called by. Raise an error if this is not present.
     assert "CALLSOURCE" in self.info
     
     track_variant = False
     if self.get_chrom() == self.debug_chrom and self.get_position() == self.debug_pos:
         track_variant = True
     
     passes = True
     if "aCGH" in self.info["CALLSOURCE"]:
         filt = ACGH_CNV(self)
         passes = filt.filter_cnv(track_variant)
     elif "EXOME" in self.info["CALLSOURCE"]:
         # currently return false for all exome-only CNVs, undergoing testing
         filt = ExomeCNV(self)
         passes = filt.filter_cnv(track_variant)
     else:
         if track_variant:
             print("CNV is not an aCGH or exome CNV")
         passes = False
     
     return passes
Пример #2
0
    def setUp(self):
        """ define a default VcfInfo object
        """

        extra = "HGNC=OR5A1;CQ=missense_variant;CONVEX;RC50INTERNALFREQ=0.005;COMMONFORWARDS=0.000;MEANLR2=0.5;MADL2R=0.02"
        cnv = create_cnv('F', 'deNovo', extra_info=extra)

        self.var = ExomeCNV(cnv)
 def setUp(self):
     """ define a default VcfInfo object
     """
     
     chrom = "1"
     pos = "15000000"
     snp_id = "."
     ref = "A"
     alt = "<DUP>"
     filt = "PASS"
     
     # set up a SNV object, since SNV inherits VcfInfo
     cnv = CNV(chrom, pos, snp_id, ref, alt, filt)
     self.var = ExomeCNV(cnv)
     
     info = "HGNC=TEST;HGNC_ALL=TEST,OR5A1;CQ=missense_variant;CONVEX;RC50INTERNALFREQ=0.005;COMMONFORWARDS=0.000;MEANLR2=0.5;MADL2R=0.02"
     format_keys = "inheritance:DP"
     sample_values = "deNovo:50"
     
     self.var.cnv.add_info(info)
     self.var.cnv.add_format(format_keys, sample_values)
     self.var.cnv.set_gender("F")
Пример #4
0
    def passes_filters(self):
        """Checks whether a VCF variant passes user defined criteria.
        
        Returns:
            boolean value for whether the variant passes the filters
        """

        # some CNVs are on female Y chrom, which give errors, fail those CNVs
        try:
            self.set_genotype()
        except ValueError:
            return False

        track_variant = False
        if self.get_chrom() == self.debug_chrom and self.get_position(
        ) == self.debug_pos:
            track_variant = True

        passes = True
        if "CONVEX" in self.info and "CNSOLIDATE" not in self.info:
            # currently return false for all exome-only CNVs, undergoing testing
            filt = ExomeCNV(self)
            # passes = filt.filter_cnv(track_variant)
            passes = False
        elif "CNSOLIDATE" in self.info:
            filt = ACGH_CNV(self)
            passes = filt.filter_cnv(track_variant)
        elif "BREAKDANCER" in self.info:
            filt = BreakdancerCNV(self)
            passes = filt.filter_cnv(track_variant)
        else:
            if track_variant:
                print("CNV is not an aCGH or exome CNV")
            passes = False

        return passes