Code Duplication    Length = 28-28 lines in 2 locations

mandos/entries/entries.py 2 locations

@@ 647-674 (lines=28) @@
644
        return cls._run(built, path, to, check, log, quiet, verbose, no_setup)
645
646
647
class EntryTransporterGeneralFunction(Entry[DrugbankGeneralFunctionSearch]):
648
    @classmethod
649
    def run(
650
        cls,
651
        path: Path = CommonArgs.compounds,
652
        key: str = EntryArgs.key("inter.drugbank:pk-fn"),
653
        as_of: Optional[str] = CommonArgs.as_of,
654
        to: Optional[Path] = CommonArgs.to_single,
655
        check: bool = EntryArgs.check,
656
        log: Optional[Path] = CommonArgs.log_path,
657
        quiet: bool = CommonArgs.quiet,
658
        verbose: bool = CommonArgs.verbose,
659
        no_setup: bool = CommonArgs.no_setup,
660
    ) -> Searcher:
661
        """
662
        DrugBank PK-related protein functions.
663
664
        OBJECT: Name of the general function (e.g. "Toxic substance binding")
665
666
        PREDICATE: "transported by", "carried by", or "metabolized by"
667
        """
668
        target_types = {
669
            DrugbankTargetType.transporter,
670
            DrugbankTargetType.carrier,
671
            DrugbankTargetType.enzyme,
672
        }
673
        built = DrugbankGeneralFunctionSearch(key, Apis.Pubchem, target_types)
674
        return cls._run(built, path, to, check, log, quiet, verbose, no_setup)
675
676
677
class EntryDrugbankDdi(Entry[DrugbankDdiSearch]):
@@ 617-644 (lines=28) @@
614
        return cls._run(built, path, to, check, log, quiet, verbose, no_setup)
615
616
617
class EntryDrugbankTransporter(Entry[DrugbankTargetSearch]):
618
    @classmethod
619
    def run(
620
        cls,
621
        path: Path = CommonArgs.compounds,
622
        key: str = EntryArgs.key("inter.drugbank:pk"),
623
        as_of: Optional[str] = CommonArgs.as_of,
624
        to: Optional[Path] = CommonArgs.to_single,
625
        check: bool = EntryArgs.check,
626
        log: Optional[Path] = CommonArgs.log_path,
627
        quiet: bool = CommonArgs.quiet,
628
        verbose: bool = CommonArgs.verbose,
629
        no_setup: bool = CommonArgs.no_setup,
630
    ) -> Searcher:
631
        """
632
        PK-related proteins from DrugBank.
633
634
        OBJECT: Transporter name (e.g. "Solute carrier family 22 member 11") from DrugBank
635
636
        PREDICATE: "transported by", "carried by", or "metabolized by"
637
        """
638
        target_types = {
639
            DrugbankTargetType.transporter,
640
            DrugbankTargetType.carrier,
641
            DrugbankTargetType.enzyme,
642
        }
643
        built = DrugbankTargetSearch(key, Apis.Pubchem, target_types)
644
        return cls._run(built, path, to, check, log, quiet, verbose, no_setup)
645
646
647
class EntryTransporterGeneralFunction(Entry[DrugbankGeneralFunctionSearch]):