Closed jsgounot closed 2 years ago
Hi, StrainXpress clusters reads and then assemble read in per cluster. To extend short contigs, I add a global assembly step. It seems that the global assembly step encounters a error.
Could you enter the stageb folder and execute:
minimap2 -t 16 --sr -X -c -k 21 -w 11 -s 60 -m 30 -n 2 -r 0 -A 4 -B 2 --end-bonus=100 ../contigs_b.fastq ../contigs_b.fastq | python /home/ubuntu/strainxpress/StrainXpress/scripts/filter_trans_ovlp_inline_v3.py -len 100 -iden 0.99 -oh 2 -sfo > sfoverlaps.out;
python /home/ubuntu/strainxpress/StrainXpress/scripts/sfo2overlaps.py --in sfoverlaps.out --out sfoverlap.out.savage --num_singles 108912 --num_pairs 0; mkdir -p fastq; cp ../contigs_b.fastq ./fastq/singles.fastq;
python /home/ubuntu/strainxpress/StrainXpress/scripts/pipeline_per_stage.v3.py --no_error_correction --remove_branches true --stage b --min_overlap_len 100 --min_overlap_perc 0 --edge_threshold 1 --overlaps ./sfoverlap.out.savage --fastq ./fastq --max_tip_len 1000 --num_threads 16;
python /home/ubuntu/strainxpress/StrainXpress/scripts/fastq2fasta.py ./singles.fastq ./contigs.stage_b.fasta;
I made a mistake in former code with python3, now I correct it with python. If above command work well, you can directly replace python3 with python in the script file strainxpress.py or you can download it again (I corrected it).
I'm very happy that you can use my script and let me find some small bugs.
Hi,
I still have an error when using one of the command. I guess one path is hardcoded?
python /home/ubuntu/strainxpress/StrainXpress/scripts/pipeline_per_stage.v3.py --no_error_correction --remove_branches true --stage b --min_overlap_len 100 --min_overlap_perc 0 --edge_threshold 1 --overlaps ./sfoverlap.out.savage --fastq ./fastq --max_tip_len 1000 --num_threads 16;
pipeline_per_stage.py
Traceback (most recent call last):
File "/home/ubuntu/strainxpress/StrainXpress/scripts/pipeline_per_stage.v3.py", line 666, in <module>
sys.exit(main())
File "/home/ubuntu/strainxpress/StrainXpress/scripts/pipeline_per_stage.v3.py", line 164, in main
run_first_it_merge(args.fastq, args.overlaps, args.edge_threshold, args.min_overlap_perc, min_overlap_len, args.merge_contigs, first_it)
File "/home/ubuntu/strainxpress/StrainXpress/scripts/pipeline_per_stage.v3.py", line 246, in run_first_it_merge
"--ignore_inclusions=%s" % remove_inclusions
File "/home/ubuntu/miniconda3/envs/strainxpress/lib/python3.6/subprocess.py", line 306, in check_call
retcode = call(*popenargs, **kwargs)
File "/home/ubuntu/miniconda3/envs/strainxpress/lib/python3.6/subprocess.py", line 287, in call
with Popen(*popenargs, **kwargs) as p:
File "/home/ubuntu/miniconda3/envs/strainxpress/lib/python3.6/subprocess.py", line 729, in __init__
restore_signals, start_new_session)
File "/home/ubuntu/miniconda3/envs/strainxpress/lib/python3.6/subprocess.py", line 1364, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/prj/metastrain/software/conda/envs/hap/opt/haploconduct-0.2.1/bin/ViralQuasispecies': '/prj/metastrain/software/conda/envs/hap/opt/haploconduct-0.2.1/bin/ViralQuasispecies'
Sorry I did not meant to close the issue.
Hi, Yese the path is wrong. You can correct it in pipeline_per_stage.v3.py with below code or download new code:
base_path3 = os.path.split(os.path.realpath(file))[0] viralquasispecies = base_path3[:-7]+"tools/HaploConduct/bin/ViralQuasispecies"
I very appreciate that you can report these issues. I think after fixing the bug, you would obtain the final assembly result.
Best, Xiongbin
Hi, I obtained the contigs with the last version, thanks for your help.
Hi, I obtained the contigs with the last version, thanks for your help.
Great! Have a nice day!
Hi,
I thought with my previous issue that software worked well with my data but actually there are still problems. Here is my full output:
I don't know exactly what is the output file here but I don't find
contigs.stage_b.fasta
in my folder. Moreover, it looks like there is a hard coded path in the software which produce an error at one point during the process.