Exemplo n.º 1
0
    def run(self, fileStore):
        #GC content & Alignability
        for genome in self.genomes:
            genomedir = os.path.join(self.outdir, genome)
            if self.options.gcContent:
                self.addChild(GetGCpercent(genomedir,
                                           genome))  #genomedir/genome.gc.bw
            if self.options.alignability:
                self.addChild(GetAlignability(
                    genomedir, genome,
                    self.halfile))  #genomedir/genome.alignability.bw

        #Compute conservation track:
        if self.options.conservation:
            #if self.options.conservation or self.options.conservationDir:
            conservationDir = os.path.join(self.outdir, "conservation")
            if not self.options.conservationDir:
                system("mkdir -p %s" % conservationDir)
                self.addChild(
                    GetConservationFiles(self.halfile, conservationDir,
                                         self.options))
            else:
                if os.path.abspath(self.options.conservationDir
                                   ) != os.path.abspath(conservationDir):
                    system("ln -s %s %s" % (os.path.abspath(
                        self.options.conservationDir), conservationDir))
                    #system("cp -r %s %s" %(self.options.conservationDir, conservationDir))

        #Make bed tracks:
        preprocessAnnotationInputs(self.options, self.outdir, "bed")
        self.addChild(
            MakeAnnotationTracks(self.options, self.outdir, self.halfile,
                                 self.genome2seq2len, "bed"))

        #Make bed2 tracks:
        preprocessAnnotationInputs(self.options, self.outdir, "bed2")
        self.addChild(
            MakeAnnotationTracks(self.options, self.outdir, self.halfile,
                                 self.genome2seq2len, "bed2"))

        #Make wig tracks:
        preprocessAnnotationInputs(self.options, self.outdir, "wig")
        self.addChild(
            MakeAnnotationTracks(self.options, self.outdir, self.halfile,
                                 self.genome2seq2len, "wig"))

        #Make clade-exclusive tracks:
        if self.options.tree and self.options.cladeExclusive:
            self.addChild(
                GetCladeExclusiveRegions(
                    self.halfile, self.options.tree,
                    os.path.join(self.outdir, "liftoverbeds"),
                    self.options.maxOut, self.options.minIn))
            self.options.bigbeddirs.append(
                os.path.join(self.outdir, "liftoverbeds", "CladeExclusive"))

        #Get LOD if needed, and Write trackDb files
        self.addFollowOn(
            WriteGenomesFile(self.genomes, self.genome2seq2len, self.halfile,
                             self.options, self.outdir))
Exemplo n.º 2
0
    def run(self):
        # GC content & Alignability
        for genome in self.genomes:
            genomedir = os.path.join(self.outdir, genome)
            if self.options.gcContent:
                self.addChildTarget(GetGCpercent(genomedir, genome))  # genomedir/genome.gc.bw
            if self.options.alignability:
                self.addChildTarget(
                    GetAlignability(genomedir, genome, self.halfile)
                )  # genomedir/genome.alignability.bw

        # Compute conservation track:
        if self.options.conservation:
            # if self.options.conservation or self.options.conservationDir:
            conservationDir = os.path.join(self.outdir, "conservation")
            if not self.options.conservationDir:
                system("mkdir -p %s" % conservationDir)
                self.addChildTarget(GetConservationFiles(self.halfile, conservationDir, self.options))
            else:
                if os.path.abspath(self.options.conservationDir) != os.path.abspath(conservationDir):
                    system("ln -s %s %s" % (os.path.abspath(self.options.conservationDir), conservationDir))
                    # system("cp -r %s %s" %(self.options.conservationDir, conservationDir))

        # Make bed tracks:
        preprocessAnnotationInputs(self.options, self.outdir, "bed")
        self.addChildTarget(MakeAnnotationTracks(self.options, self.outdir, self.halfile, self.genome2seq2len, "bed"))

        # Make bed2 tracks:
        preprocessAnnotationInputs(self.options, self.outdir, "bed2")
        self.addChildTarget(MakeAnnotationTracks(self.options, self.outdir, self.halfile, self.genome2seq2len, "bed2"))

        # Make wig tracks:
        preprocessAnnotationInputs(self.options, self.outdir, "wig")
        self.addChildTarget(MakeAnnotationTracks(self.options, self.outdir, self.halfile, self.genome2seq2len, "wig"))

        # Make clade-exclusive tracks:
        if self.options.tree and self.options.cladeExclusive:
            self.addChildTarget(
                GetCladeExclusiveRegions(
                    self.halfile,
                    self.options.tree,
                    os.path.join(self.outdir, "liftoverbeds"),
                    self.options.maxOut,
                    self.options.minIn,
                )
            )
            self.options.bigbeddirs.append(os.path.join(self.outdir, "liftoverbeds", "CladeExclusive"))

        # Get LOD if needed, and Write trackDb files
        self.setFollowOnTarget(
            WriteGenomesFile(self.genomes, self.genome2seq2len, self.halfile, self.options, self.outdir)
        )