def gffline(self, source=None, type="match_part", primary_tag="Parent", id=None):
        source = self.method if not source else source

        if valid_gff_type not in type:
            score = "{0:.2f}".format(self.pctid)
            target = " ".join(str(x) for x in [self.subject, self.sStart, self.sStop])
            attributes = ";".join(str(x) for x in [primary_tag + "=" + id, "Target=" + target])
        else:
            score = "."
            note = "\"{0}\"".format(self.sDesc) if " " in self.sDesc else self.sDesc
            attributes = ";".join(str(x) for x in [primary_tag + "=" + id, "Name=" + self.subject, \
                    "Note=" + note])

        line = "\t".join(str(x) for x in [self.query, source, type, self.qStart, self.qStop, \
                score, self.qStrand, ".", attributes])
        return line
dataset/ETHPy150Open tanghaibao/jcvi/formats/btab.py/BtabLine.gffline/swapped operands of `not in`