Showing
3 changed files
with
19 additions
and
15 deletions
... | @@ -32,6 +32,8 @@ BUG CORRECTIONS | ... | @@ -32,6 +32,8 @@ BUG CORRECTIONS |
32 | TECHNICAL CHANGES | 32 | TECHNICAL CHANGES |
33 | - Switched to DSSR Pro. | 33 | - Switched to DSSR Pro. |
34 | - Switched to esl-alimerge instead of cmalign --merge to merge alignments. | 34 | - Switched to esl-alimerge instead of cmalign --merge to merge alignments. |
35 | + - Tested successfully with Python 3.9.6 + BioPython 1.79. | ||
36 | + However, the production server still runs with Python 3.8.1 + BioPython 1.78. | ||
35 | 37 | ||
36 | ############################################################################################ | 38 | ############################################################################################ |
37 | v 1.5 beta, April 2021 | 39 | v 1.5 beta, April 2021 | ... | ... |
... | @@ -1327,6 +1327,7 @@ class Pipeline: | ... | @@ -1327,6 +1327,7 @@ class Pipeline: |
1327 | conn.execute('pragma journal_mode=wal') | 1327 | conn.execute('pragma journal_mode=wal') |
1328 | for eq_class, representative, codelist in tqdm(full_structures_list, desc="Eq. classes"): | 1328 | for eq_class, representative, codelist in tqdm(full_structures_list, desc="Eq. classes"): |
1329 | codes = codelist.replace('+', ',').split(',') | 1329 | codes = codelist.replace('+', ',').split(',') |
1330 | + representatives = representative.replace('+', ',').split(',') | ||
1330 | 1331 | ||
1331 | # Simply convert the list of codes to Chain() objects | 1332 | # Simply convert the list of codes to Chain() objects |
1332 | if self.REDUNDANT: | 1333 | if self.REDUNDANT: |
... | @@ -1344,18 +1345,19 @@ class Pipeline: | ... | @@ -1344,18 +1345,19 @@ class Pipeline: |
1344 | if not len(res) or self.REUSE_ALL: # the chain is NOT yet in the database, or this is a known issue | 1345 | if not len(res) or self.REUSE_ALL: # the chain is NOT yet in the database, or this is a known issue |
1345 | self.update.append(Chain(pdb_id, pdb_model, pdb_chain_id, chain_label, eq_class)) | 1346 | self.update.append(Chain(pdb_id, pdb_model, pdb_chain_id, chain_label, eq_class)) |
1346 | else: | 1347 | else: |
1347 | - nr = representative.split('|') | 1348 | + for rep in representatives: |
1348 | - pdb_id = nr[0].lower() | 1349 | + nr = rep.split('|') |
1349 | - pdb_model = int(nr[1]) | 1350 | + pdb_id = nr[0].lower() |
1350 | - pdb_chain_id = nr[2].upper() | 1351 | + pdb_model = int(nr[1]) |
1351 | - chain_label = f"{pdb_id}_{str(pdb_model)}_{pdb_chain_id}" | 1352 | + pdb_chain_id = nr[2].upper() |
1352 | - res = sql_ask_database(conn, f"""SELECT chain_id from chain | 1353 | + chain_label = f"{pdb_id}_{str(pdb_model)}_{pdb_chain_id}" |
1353 | - WHERE structure_id='{pdb_id}' | 1354 | + res = sql_ask_database(conn, f"""SELECT chain_id from chain |
1354 | - AND chain_name='{pdb_chain_id}' | 1355 | + WHERE structure_id='{pdb_id}' |
1355 | - AND rfam_acc = 'unmappd' | 1356 | + AND chain_name='{pdb_chain_id}' |
1356 | - AND issue=0""") | 1357 | + AND rfam_acc = 'unmappd' |
1357 | - if not len(res) or self.REUSE_ALL: # the chain is NOT yet in the database, or this is a known issue | 1358 | + AND issue=0""") |
1358 | - self.update.append(Chain(pdb_id, pdb_model, pdb_chain_id, chain_label, eq_class)) | 1359 | + if not len(res) or self.REUSE_ALL: # the chain is NOT yet in the database, or this is a known issue |
1360 | + self.update.append(Chain(pdb_id, pdb_model, pdb_chain_id, chain_label, eq_class)) | ||
1359 | conn.close() | 1361 | conn.close() |
1360 | 1362 | ||
1361 | if self.SELECT_ONLY is not None: | 1363 | if self.SELECT_ONLY is not None: |
... | @@ -2292,7 +2294,7 @@ def execute_joblist(fulljoblist): | ... | @@ -2292,7 +2294,7 @@ def execute_joblist(fulljoblist): |
2292 | p.join() | 2294 | p.join() |
2293 | except KeyboardInterrupt as e: | 2295 | except KeyboardInterrupt as e: |
2294 | warn("KeyboardInterrupt, killing workers (SIGKILL).", error=True) | 2296 | warn("KeyboardInterrupt, killing workers (SIGKILL).", error=True) |
2295 | - p.kill() | 2297 | + p.terminate() |
2296 | p.join() | 2298 | p.join() |
2297 | raise e | 2299 | raise e |
2298 | 2300 | ||
... | @@ -2327,7 +2329,7 @@ def work_infer_mappings(update_only, allmappings, fullinference, redundant, code | ... | @@ -2327,7 +2329,7 @@ def work_infer_mappings(update_only, allmappings, fullinference, redundant, code |
2327 | # Split the comma-separated list of chain codes into chain codes: | 2329 | # Split the comma-separated list of chain codes into chain codes: |
2328 | eq_class = codelist[0] | 2330 | eq_class = codelist[0] |
2329 | codes = codelist[2].replace('+', ',').split(',') | 2331 | codes = codelist[2].replace('+', ',').split(',') |
2330 | - representative=codelist[1].replace('+', ',').split(',')[0] | 2332 | + representative = codelist[1].replace('+', ',').split(',')[0] |
2331 | # Search for mappings that apply to an element of this PDB chains list: | 2333 | # Search for mappings that apply to an element of this PDB chains list: |
2332 | for c in codes: | 2334 | for c in codes: |
2333 | # search for Rfam mappings with this chain c: | 2335 | # search for Rfam mappings with this chain c: | ... | ... |
... | @@ -21,6 +21,6 @@ docker build -t rnanet:latest .. | ... | @@ -21,6 +21,6 @@ docker build -t rnanet:latest .. |
21 | rm x3dna-dssr | 21 | rm x3dna-dssr |
22 | 22 | ||
23 | # to run, use something like: | 23 | # to run, use something like: |
24 | -# docker run -v /home/persalteas/Data/RNA/3D/:/3D -v /home/persalteas/Data/RNA/sequences/:/sequences -v /home/persalteas/labo/:/runDir persalteas/rnanet [ additional options here ] | 24 | +# docker run -v /home/lbecquey/Data/RNA/3D/:/3D -v /home/lbecquey/Data/RNA/sequences/:/sequences -v /home/lbecquey/labo/:/runDir rnanet [ additional options here ] |
25 | # Without additional options, this runs a standard pass with known issues support, log output, and no statistics. The default resolution threshold is 4.0 Angstroms. | 25 | # Without additional options, this runs a standard pass with known issues support, log output, and no statistics. The default resolution threshold is 4.0 Angstroms. |
26 | 26 | ... | ... |
-
Please register or login to post a comment