示例#1
0
 def selfPrime(self):
     u = UnaFolder(t=self.fullTm(),
                   safety=3,
                   mg_salt=self.mg,
                   na_salt=self.na)
     ret, image = u.self_prime(str(self.topPrimer()))
     new_image = join(settings.MEDIA_ROOT, split(image)[1])
     os.rename(image, new_image)
     wst = ''
     for warning in u.warnings:
         wst += 'Potential self-priming of 3\' end! Length: ' + str(
             warning[0]) + ', dG: ' + str(warning[1]) + '<br />'
     return join(settings.MEDIA_URL, split(image)[1]), wst
示例#2
0
文件: models.py 项目: Schnu/Gibthon
	def self_prime_check(self):
		u = UnaFolder(t=self.tm(), safety=self.construct.settings.ss_safety, mg_salt=self.construct.settings.mg_salt, na_salt=self.construct.settings.na_salt)
		ret, image = u.self_prime(str(self.seq()))
		print os.path.join(settings.MEDIA_ROOT, 'unafold/p-%s' % self.id)
		os.rename(image, os.path.join(settings.MEDIA_ROOT, 'unafold/p-%s' % self.id))
		
		self.warning.all().filter(type='sp').delete()
		self.save()
		for warning in u.warnings:
			w = Warning.objects.create(
				primer = self,
				type = 'sp',
				text = 'Potential self-priming of 3\' end! dG: %s' % warning[1],
			)		
示例#3
0
文件: models.py 项目: Schnu/Gibthon
	def misprime_check(self):
		u = UnaFolder(t=self.tm(), safety=self.construct.settings.ss_safety, 
				mg_salt=self.construct.settings.mg_salt, na_salt=self.construct.settings.na_salt)
		if(self.stick.top):
			target = str(self.stick.cfragment.sequence())
		else:
			target = str(reverse_complement(Seq(self.stick.cfragment.sequence())))
		if u.mis_prime(target, str(self.seq())):
			self.warning.all().filter(type='mp').delete()
			for warning in u.warnings:
				w = Warning.objects.create(
					primer = self,
					type = 'mp',
					text= 'Potentital mis-priming ' + (str(warning[1]) + ' bp from ' if warning[1] > 0 else ' of ') + '3\' end of primer at bp ' + str(warning[2]) + ', length ' + str(warning[0]) + ', energy ' + str(warning[3]),
				)