Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
2a2c233936 | |||
faf8ea9d86 | |||
ffe2485e94 | |||
6094ce2bbc |
@ -260,7 +260,6 @@ def run(config):
|
|||||||
|
|
||||||
if entry is None: # error or exception handled at lower level, not raised because Python generators can't resume after any exception is raised
|
if entry is None: # error or exception handled at lower level, not raised because Python generators can't resume after any exception is raised
|
||||||
if config['obi']['skiperror']:
|
if config['obi']['skiperror']:
|
||||||
i-=1
|
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
raise RollbackException("obi import error, rollbacking view", view)
|
raise RollbackException("obi import error, rollbacking view", view)
|
||||||
@ -270,6 +269,8 @@ def run(config):
|
|||||||
elif not i%50000:
|
elif not i%50000:
|
||||||
logger("info", "Imported %d entries", i)
|
logger("info", "Imported %d entries", i)
|
||||||
|
|
||||||
|
try:
|
||||||
|
|
||||||
if NUC_SEQS_view:
|
if NUC_SEQS_view:
|
||||||
id_col[i] = entry.id
|
id_col[i] = entry.id
|
||||||
def_col[i] = entry.definition
|
def_col[i] = entry.definition
|
||||||
@ -388,6 +389,13 @@ def run(config):
|
|||||||
# Fill value
|
# Fill value
|
||||||
dcols[tag][0][i] = value
|
dcols[tag][0][i] = value
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print("\nCould not import sequence id:", entry.id, "(error raised:", e, ")")
|
||||||
|
if 'skiperror' in config['obi'] and not config['obi']['skiperror']:
|
||||||
|
raise e
|
||||||
|
else:
|
||||||
|
pass
|
||||||
|
|
||||||
i+=1
|
i+=1
|
||||||
|
|
||||||
if pb is not None:
|
if pb is not None:
|
||||||
|
@ -25,8 +25,9 @@ from libc.string cimport strcpy, strlen
|
|||||||
_featureMatcher = re.compile(b'^FEATURES.+\n(?=ORIGIN)',re.DOTALL + re.M)
|
_featureMatcher = re.compile(b'^FEATURES.+\n(?=ORIGIN)',re.DOTALL + re.M)
|
||||||
|
|
||||||
_headerMatcher = re.compile(b'^LOCUS.+(?=\nFEATURES)', re.DOTALL + re.M)
|
_headerMatcher = re.compile(b'^LOCUS.+(?=\nFEATURES)', re.DOTALL + re.M)
|
||||||
_seqMatcher = re.compile(b'(?<=ORIGIN).+(?=//\n)', re.DOTALL + re.M)
|
_seqMatcher = re.compile(b'ORIGIN.+(?=//\n)', re.DOTALL + re.M)
|
||||||
_cleanSeq = re.compile(b'[ \n0-9]+')
|
_cleanSeq1 = re.compile(b'ORIGIN.+\n')
|
||||||
|
_cleanSeq2 = re.compile(b'[ \n0-9]+')
|
||||||
_acMatcher = re.compile(b'(?<=^ACCESSION ).+',re.M)
|
_acMatcher = re.compile(b'(?<=^ACCESSION ).+',re.M)
|
||||||
_deMatcher = re.compile(b'(?<=^DEFINITION ).+\n( .+\n)*',re.M)
|
_deMatcher = re.compile(b'(?<=^DEFINITION ).+\n( .+\n)*',re.M)
|
||||||
_cleanDe = re.compile(b'\n *')
|
_cleanDe = re.compile(b'\n *')
|
||||||
@ -42,7 +43,8 @@ def genbankParser(bytes text):
|
|||||||
ft = _featureMatcher.search(text).group()
|
ft = _featureMatcher.search(text).group()
|
||||||
|
|
||||||
s = _seqMatcher.search(text).group()
|
s = _seqMatcher.search(text).group()
|
||||||
s = _cleanSeq.sub(b'', s).upper()
|
s = _cleanSeq1.sub(b'', s)
|
||||||
|
s = _cleanSeq2.sub(b'', s)
|
||||||
|
|
||||||
acs = _acMatcher.search(text).group()
|
acs = _acMatcher.search(text).group()
|
||||||
acs = acs.split()
|
acs = acs.split()
|
||||||
@ -52,12 +54,6 @@ def genbankParser(bytes text):
|
|||||||
de = _deMatcher.search(header).group()
|
de = _deMatcher.search(header).group()
|
||||||
de = _cleanDe.sub(b' ',de).strip().strip(b'.')
|
de = _cleanDe.sub(b' ',de).strip().strip(b'.')
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
print("\nCould not import sequence id:", text.split()[1], "(error raised:", e, ")")
|
|
||||||
# Do not raise any Exception if you need the possibility to resume the generator
|
|
||||||
# (Python generators can't resume after any exception is raised)
|
|
||||||
return None
|
|
||||||
|
|
||||||
tags = {}
|
tags = {}
|
||||||
extractTaxon(ft, tags)
|
extractTaxon(ft, tags)
|
||||||
|
|
||||||
@ -68,6 +64,12 @@ def genbankParser(bytes text):
|
|||||||
offset=-1,
|
offset=-1,
|
||||||
tags=tags)
|
tags=tags)
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print("\nCould not import sequence id:", text.split()[1], "(error raised:", e, ")")
|
||||||
|
# Do not raise any Exception if you need the possibility to resume the generator
|
||||||
|
# (Python generators can't resume after any exception is raised)
|
||||||
|
return None
|
||||||
|
|
||||||
return seq
|
return seq
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
major = 3
|
major = 3
|
||||||
minor = 0
|
minor = 0
|
||||||
serial= '0b20'
|
serial= '0b22'
|
||||||
|
|
||||||
version ="%d.%d.%s" % (major,minor,serial)
|
version ="%d.%d.%s" % (major,minor,serial)
|
||||||
|
Reference in New Issue
Block a user