コード例 #1
0
ファイル: config.py プロジェクト: Jorisvansteenbrugge/pita
    def _parse_repeats(self):
        self.repeats = []
        if "repeats"in self.config:
            for d in self.config["repeats"]:
                fname = os.path.join(self.base, d["path"])
                tabix_fname = _create_tabix(fname, "bed")
                d["path"] = fname
                d["tabix"] = tabix_fname
 
                self.repeats.append(d)
コード例 #2
0
ファイル: config.py プロジェクト: Jorisvansteenbrugge/pita
    def _parse_repeats(self):
        self.repeats = []
        if "repeats" in self.config:
            for d in self.config["repeats"]:
                fname = os.path.join(self.base, d["path"])
                tabix_fname = _create_tabix(fname, "bed")
                d["path"] = fname
                d["tabix"] = tabix_fname

                self.repeats.append(d)
コード例 #3
0
ファイル: config.py プロジェクト: Jorisvansteenbrugge/pita
    def _parse_annotation(self, reannotate=False):

        if not self.config.has_key("annotation") or len(
                self.config["annotation"]) == 0:
            self.logger.error("No annotation files specified.")
            sys.exit(1)

        self.anno_files = []
        self.chroms = {}
        for d in self.config["annotation"]:
            self.logger.debug("annotation: %s", d)
            fname = os.path.join(self.base, d["path"])
            t = d["type"].lower()
            min_exons = 2
            if d.has_key("min_exons"):
                min_exons = d["min_exons"]

            if d.has_key("keep") and d["keep"]:
                self.keep.append(fname)

            if d.has_key("filter") and d["filter"]:
                self.filter.append(fname)

            if d.has_key("experimental") and d["experimental"]:
                self.experimental.append(fname)

            if not t in VALID_TYPES:
                self.logger.error("Invalid type: %s", t)
                sys.exit(1)
            if not os.path.exists(fname):
                self.logger.error("File does not exist: %s", fname)
                sys.exit(1)
            else:
                tabix_file = ""
                if not reannotate:
                    tabix_file = _create_tabix(fname, t)

                    # Save chromosome names
                    for chrom in pysam.Tabixfile(tabix_file).contigs:
                        self.chroms[chrom] = 1

                # Add file info
                self.anno_files.append(
                    [d["name"], fname, tabix_file, t, min_exons])
コード例 #4
0
ファイル: config.py プロジェクト: Jorisvansteenbrugge/pita
    def _parse_annotation(self, reannotate=False):

        if not self.config.has_key("annotation") or len(self.config["annotation"]) == 0:
            self.logger.error("No annotation files specified.")
            sys.exit(1)
        
        self.anno_files = []
        self.chroms = {}
        for d in self.config["annotation"]:
            self.logger.debug("annotation: %s", d)
            fname = os.path.join(self.base, d["path"])
            t = d["type"].lower()
            min_exons = 2
            if d.has_key("min_exons"):
                min_exons = d["min_exons"]
            
            if d.has_key("keep") and d["keep"]:
                self.keep.append(fname)
           
            if d.has_key("filter") and d["filter"]:
                self.filter.append(fname)
            
            if d.has_key("experimental") and d["experimental"]:
                self.experimental.append(fname)

            if not t in VALID_TYPES:
                self.logger.error("Invalid type: %s", t)
                sys.exit(1)
            if not os.path.exists(fname):
                self.logger.error("File does not exist: %s", fname)
                sys.exit(1)
            else:
                tabix_file = ""
                if not reannotate:
                    tabix_file = _create_tabix(fname, t)
                    
                    # Save chromosome names
                    for chrom in pysam.Tabixfile(tabix_file).contigs:
                        self.chroms[chrom] = 1

                # Add file info
                self.anno_files.append([d["name"], fname, tabix_file, t, min_exons])