Closed Kanyerezi30 closed 1 year ago
Hi,
We have seen this issue as well and believe it could be an issue with the post-align module (hivdb/post-align#6). We have posted an issue on their repository about this.
However, if you have a previous environment set up that successfully ran post-align, the post-align option should still work. We are not sure why this is the case
Please see discussion in PR #86
@WilliamZekaiWang can you please run a diff
on the click script core.py
between the environment that is working and one that is not, to rule out dependency versioning issues?
There was no difference between the core.py
file. Looking at the dependencies on the two environments, they both have the same click version of 8.1.3
I set up a new environment through exporting one of my environments that had post-align
working. However, after installing post-align
I still got the same error. I tried for environments in python 3.9 and 3.10.
I tried installing post-align
on older builds and all seemed to still give the core.py
issue.
It also seems that the newest version of post-align
has some updated dependencies. Notably they updated cython==0.29.35
over the previous cython==0.29.32
. I built the newer version and it still gave the same error.
However, the most update version is not used in sierra's docker https://github.com/hivdb/sierra/blob/main/Dockerfile#L24-L30
I think I managed to fix it. The changes passed the Unit tests too, so the results should still be proper. This worked on the version of post-align
that the master branch is using
- The first change is in the
core.py
in where click is installed~/lib/python3.9/site-packages/click/
online 2322
:
value = self.callback(ctx, self, value)
into
if type(value) == tuple:
value = list(value)
value = self.callback(ctx, self, value)
- Then locate the
save_json.py
file in~/lib/python3.9/site-packages/postalign/processors/
online 25
:
for one in value + ('$$', ):
into
for one in value + ['$$', ]:
@WilliamZekaiWang can you confirm that the type of value
in the original code is a list?
Can we try 2 above without changing code from the click
package?
I tried only step 2 in both python 3.9.0 and 3.10.0, and both still had the same issue in the core.py
file.
I looked further into modifying the save_json.py
file and changing the return variable/messing with the value
variable. This doesn't eliviate the initial issue with the core.py
file or change the error at all
It seems like the issue is fixed in the post-align
repository. I have edited the readme in the dev branch to reflect the new dependencies
@WilliamZekaiWang please issue a PR so we can close this issue (and others!)
I have got the error below while running with postalign. However, the program runs smoothly with nucamino
searching path /home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/sierralocal/data/HIVDB*.xml searching path /home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/sierralocal/data/apobec_drms.csv HIVdb version 9.4 Aligning using post-align Traceback (most recent call last): File "/home/kanye/anaconda3/envs/HIV-DRIVES/bin/postalign", line 8, in <module> sys.exit(cli()) File "/home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/click/core.py", line 1130, in __call__ return self.main(*args, **kwargs) File "/home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/click/core.py", line 1055, in main rv = self.invoke(ctx) File "/home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/click/core.py", line 1675, in invoke sub_ctx = cmd.make_context( File "/home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/click/core.py", line 920, in make_context self.parse_args(ctx, args) File "/home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/click/core.py", line 1378, in parse_args value, args = param.handle_parse_result(ctx, opts, args) File "/home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/click/core.py", line 2360, in handle_parse_result value = self.process_value(ctx, value) File "/home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/click/core.py", line 2322, in process_value value = self.callback(ctx, self, value) TypeError: Argument 'value' has incorrect type (expected list, got tuple) Traceback (most recent call last): File "/home/kanye/anaconda3/envs/HIV-DRIVES/bin/sierralocal", line 11, in <module> exit_code = main.main() File "/home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/sierralocal/main.py", line 192, in main count, time_elapsed = sierralocal(args.fasta, args.outfile, xml=args.xml, File "/home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/sierralocal/main.py", line 133, in sierralocal sequence_lengths, file_trims, subtypes, na_sequence = scorefile(input_file, algorithm, program=program) File "/home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/sierralocal/main.py", line 52, in scorefile result = aligner.align_file(input_file, program=program) File "/home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/site-packages/sierralocal/nucaminohook.py", line 250, in align_file _ = subprocess.check_call(cmd) File "/home/kanye/anaconda3/envs/HIV-DRIVES/lib/python3.9/subprocess.py", line 373, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['postalign', '-i', '/tmp/tmppm6f4v5g', '-o', '/tmp/tmp4a2gsk3z', '-f', 'MINIMAP2', '-r', '/tmp/postalign-ref-vuddsj73.fas', '--minimap2-opts', '-w 5 --score-N 0 --secondary no', 'codon-alignment', '--min-gap-distance=15', '790', '2085', 'codon-alignment', '--min-gap-distance=15', '--gap-placement-score=2756/3ins:20,2756/6ins:30,2756/9ins:40,2756/12ins:50', '--gap-placement-score=4994/6ins:20', '2088', '5096', 'codon-alignment', '--min-gap-distance=15', '5095', '5619', 'codon-alignment', '--min-gap-distance=15', '5619', '5771', 'codon-alignment', '--min-gap-distance=15', '5773', '5850', 'codon-alignment', '--min-gap-distance=15', '5849', '6046', 'codon-alignment', '--min-gap-distance=15', '6062', '6226', 'codon-alignment', '--min-gap-distance=15', '6225', '8795', 'codon-alignment', '--min-gap-distance=15', '8797', '9417', 'save-json', 'HIV1gag', '790', '2289', 'HIV1CA', '1186', '1878', 'HIV1pol', '2088', '5093', 'HIV1PR', '2253', '2549', 'HIV1RT', '2550', '4229', 'HIV1IN', '4230', '5093', 'HIV1vif', '5041', '5616', 'HIV1vpr', '5559', '5771', '5773', '5847', 'HIV1tat', '5831', '6046', '8380', '8466', 'HIV1rev', '5970', '6044', '8378', '8650', 'HIV1vpu', '6062', '6307', 'HIV1env', '6225', '8792', 'HIV1nef', '8797', '9414']' returned non-zero exit status 1.