Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from Bio.SeqUtils import *
- nt_search(chromosome, scaffold)
- from Bio.Seq import Seq
- from Bio.SeqUtils import *
- def findCoordinates (self):
- ''' Performs scaffold string search within chromosomes. Returns scaffold coordinates within said chromosome. '''
- for chromosome in self.chromosomes.keys():
- for scaffold in self.scaffolds.keys():
- # search forward strand.
- nt_forward = nt_search(self.chromosomes[chromosome], self.scaffolds[scaffold])
- if len(nt_forward) > 1:
- startCoord = nt_forward[1] + 1
- endCoord = (startCoord + len(self.scaffolds[scaffold]))
- # save coordinates
- else: # search reverse strand
- scaffold_seq = Seq(self.scaffolds[scaffold])
- reverse_seq = scaffold_seq.reverse_complement()
- nt_reverse = nt_search(self.chromosomes[chromosome], str(reverse_seq))
- if len(nt_reverse) > 1:
- startCoord = nt_reverse[1] + 1
- endCoord = (startCoord + len(self.scaffolds[scaffold]))
- # save coordinates
- self.scaffolds[scaffold] = str(scaffold_seq.reverse_complement())
- Traceback (most recent call last):
- File "scaffoldPlacer.py", line 98, in <module>
- z.findCoordinates()
- File "scaffoldPlacer.py", line 60, in findCoordinates
- nt_reverse = nt_search(self.chromosomes[chromosome], str(reverse_seq))
- File "/usr/local/lib/python2.7/site-packages/Bio/SeqUtils/__init__.py", line 191, in nt_search
- m = re.search(pattern, s)
- File "/usr/local/lib/python2.7/re.py", line 142, in search
- return _compile(pattern, flags).search(string)
- File "/usr/local/lib/python2.7/re.py", line 243, in _compile
- p = sre_compile.compile(pattern, flags)
- File "/usr/local/lib/python2.7/sre_compile.py", line 523, in compile
- groupindex, indexgroup
- OverflowError: regular expression code size limit exceeded
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement