コード例 #1
0
ファイル: test_blast.py プロジェクト: Rory-McLeod/ENZA_Pc
 def test_interpertBlast(self):
     tempBlast = Blast("", "")
     tempBlast.makeDatabase("test_data/reference.fasta")
     tempBlast.aliasTool("test_data/reference.fasta", "test_data")
     tempBlast.query = "test_data/contigs_1.fasta"
     tempBlast.doBlast("test_data")
     tempBlast.interpertBlast("test_data")
     self.assertEqual(len(tempBlast.hitSet), 3)
コード例 #2
0
ファイル: test_blast.py プロジェクト: Rory-McLeod/ENZA_Pc
 def test_doBlast(self):
     tempBlast = Blast("", "")
     tempBlast.makeDatabase("test_data/reference.fasta")
     tempBlast.aliasTool("test_data/reference.fasta", "test_data")
     tempBlast.query = "test_data/contigs_1.fasta"
     tempBlast.doBlast("test_data")
     try:
         outputFile = open("test_data/blastResult.csv")
         testResult = True
         for line in outputFile:
             if "gi|49175990|ref|NC_000913.2|" not in line:
                 testResult = False
         self.assertTrue(testResult)
     except IOError as error:
         self.fail(error)
コード例 #3
0
ファイル: test_blast.py プロジェクト: Rory-McLeod/ENZA_Pc
 def test_makeDatabase(self):
     tempBlast = Blast("", "")
     tempBlast.makeDatabase("test_data/reference.fasta")
     workline = "blastdbcmd -db test_data/reference.fasta -info"
     p = subprocess.Popen(workline, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
     try:
         stdout, stderr = p.communicate()
         testResult = True
         if p.returncode == 0:
             if "1 sequences; 10,000 total bases" not in stdout:
                 testResult = False
             self.assertTrue(testResult)
         else:
             raise EnvironmentError(stderr)
     except EnvironmentError as error:
         self.fail(error)
コード例 #4
0
                                                               "/MapperUnique.gff"))
methodList.append(PrimerDesign.PrimerDesign.runMethodSubstract([methodList[1], methodList[2]], Main.Main.workDir +
                                                               "/DenovoUnique.gff"))
genome = PrimerDesign.PrimerDesign.readRefGenome(Main.Main.genomeAdd + Main.Main.refGenomeList[0])
blastList = list()
for PipMethod in methodList:
    fastaFile = PipMethod.rstrip()[:-3]+"fa"
    PrimerDesign.PrimerDesign.saveFasta(fastaFile, PrimerDesign.PrimerDesign.readGFF(PipMethod, genome))
    blastList.append(fastaFile)

otherGenomes = copy.copy(Main.Main.refGenomeList)
del otherGenomes[0]
blastThread = list()
allAlias = ""
for genome in otherGenomes:
   Blast.makeDatabase(str(genome), Main.Main.workDir)
   allAlias += Main.Main.workDir + "/" + genome + " "
allAlias = allAlias.rstrip()
Blast.aliasTool(allAlias, Main.Main.workDir)
for blastItem in blastList:
    blastResult = Blast(blastItem, otherGenomes)
    blastResult.start()
    blastThread.append(blastResult)

for blastItem in blastThread:
    blastItem.join()

genome = PrimerDesign.PrimerDesign.readRefGenome(Main.Main.genomeAdd + Main.Main.refGenomeList[0])
for k, blastItem in enumerate(blastList):
    item = blastItem.rstrip()[:-2]
    thread = threading.Thread(PrimerDesign.PrimerDesign.generatePrimer3Input(