Gabaldonlab / perSVade

perSVade: personalized Structural Variation detection
GNU General Public License v3.0
36 stars 5 forks source link

get an error in cnv calling #18

Closed weiydcn closed 6 months ago

weiydcn commented 9 months ago

use docker to call CNVs,this is the command

nohup 1>W08_CNV.log 2>&1 docker run --rm -v /mnt/02_data/weiyidong/work/2024.1.24_Svcall/r498/persvade:/genome \
-v /mnt/02_data/weiyidong/work/2024.1.24_Svcall/r498/persvade/output_W08:/output_directory \
persvade python -u ./scripts/perSVade call_CNVs  --fraction_available_mem 0.2 \
-r /genome/genome.fasta \
-o /output_directory/call_CNVs \
-sbam /output_directory/aligned_reads.bam.sorted \
--mitochondrial_chromosome chrM \
-p 1 --cnv_calling_algs HMMcopy,AneuFinder --window_size_CNVcalling 500&

error log

[27/01/2024, 07:00:26] Running perSVade call_CNVs into /output_directory/call_CNVs with 104.879 Gb of RAM and 16 cores
[27/01/2024, 07:01:43] Running CNV calling
/opt/conda/envs/perSVade_env/lib/python3.6/site-packages/seaborn/distributions.py:679: UserWarning:

Passing a 2D dataset for a bivariate plot is deprecated in favor of kdeplot(x, y), and it will cause an error in future versions. Please update your code.

/opt/conda/envs/perSVade_env/lib/python3.6/site-packages/seaborn/distributions.py:679: UserWarning:

Passing a 2D dataset for a bivariate plot is deprecated in favor of kdeplot(x, y), and it will cause an error in future versions. Please update your code.

No handles with labels found to put in legend.
WARNING: There is not enough variability or data points to perform a correction of relative_coverage on median_mappability. There will be no correction applied
WARNING: There is not enough variability or data points to perform a correction of relative_coverage on raw_distance_to_telomere. There will be no correction applied
/opt/conda/envs/perSVade_env/lib/python3.6/site-packages/seaborn/distributions.py:679: UserWarning:

Passing a 2D dataset for a bivariate plot is deprecated in favor of kdeplot(x, y), and it will cause an error in future versions. Please update your code.

/opt/conda/envs/perSVade_env/lib/python3.6/site-packages/seaborn/distributions.py:679: UserWarning:

Passing a 2D dataset for a bivariate plot is deprecated in favor of kdeplot(x, y), and it will cause an error in future versions. Please update your code.

No handles with labels found to put in legend.
WARNING: There is not enough variability or data points to perform a correction of corrected_relative_coverage on median_mappability. There will be no correction applied
WARNING: There is not enough variability or data points to perform a correction of corrected_relative_coverage on raw_distance_to_telomere. There will be no correction applied
WARNING: There is not enough variability or data points to perform a correction of relative_coverage on GCcontent. There will be no correction applied
WARNING: There is not enough variability or data points to perform a correction of relative_coverage on median_mappability. There will be no correction applied
/opt/conda/envs/perSVade_env/lib/python3.6/site-packages/seaborn/distributions.py:679: UserWarning:

Passing a 2D dataset for a bivariate plot is deprecated in favor of kdeplot(x, y), and it will cause an error in future versions. Please update your code.

/opt/conda/envs/perSVade_env/lib/python3.6/site-packages/seaborn/distributions.py:679: UserWarning:

Passing a 2D dataset for a bivariate plot is deprecated in favor of kdeplot(x, y), and it will cause an error in future versions. Please update your code.

No handles with labels found to put in legend.
WARNING: There is not enough variability or data points to perform a correction of corrected_relative_coverage on GCcontent. There will be no correction applied
WARNING: There is not enough variability or data points to perform a correction of corrected_relative_coverage on median_mappability. There will be no correction applied
/opt/conda/envs/perSVade_env/lib/python3.6/site-packages/seaborn/distributions.py:679: UserWarning:

Passing a 2D dataset for a bivariate plot is deprecated in favor of kdeplot(x, y), and it will cause an error in future versions. Please update your code.

/opt/conda/envs/perSVade_env/lib/python3.6/site-packages/seaborn/distributions.py:679: UserWarning:

Passing a 2D dataset for a bivariate plot is deprecated in favor of kdeplot(x, y), and it will cause an error in future versions. Please update your code.

No handles with labels found to put in legend.
/root/.perSVade_tmp/LONUVEMIQXCTSKE.sh: line 1: 94047 Killed                  /perSVade/scripts/run_ANEUFINDER.R --coverage_table /output_directory/call_CNVs/AneuFinder_run/gDNA/coverage_file.tab --outfile /output_directory/call_CNVs/AneuFinder_run/gDNA/AneuFinder_output_best_parms.tab.tmp --threads 1 --R 10 --sig_lvl 0.1000 > /output_directory/call_CNVs/AneuFinder_run/gDNA/AneuFinder_output_best_parms.tab.generating.std 2>&1
/opt/conda/envs/perSVade_env/lib/python3.6/site-packages/pandas/core/frame.py:6692: FutureWarning:

Sorting because non-concatenation axis is not aligned. A future version
of pandas will change to not sort by default.

To accept the future behavior, pass 'sort=False'.

To retain the current behavior and silence the warning, pass 'sort=True'.

WARNING: There is not enough variability or data points to perform a correction of corrected_relative_coverage on raw_distance_to_telomere. There will be no correction applied
This is the format of your plot grid:
[ (1,1) x1,y1 ]

Traceback (most recent call last):
  File "./scripts/call_CNVs", line 141, in <module>
    fun.run_CNV_calling(sorted_bam, opt.ref, opt.outdir, opt.threads, opt.replace, opt.mitochondrial_chromosome, opt.window_size_CNVcalling, opt.ploidy, bg_sorted_bam_CNV=opt.bg_sorted_bam_CNV, cnv_calling_algs=cnv_calling_algs)
  File "./scripts/sv_functions.py", line 14760, in run_CNV_calling
    df_CNperWindow_AneuFinder = run_CNV_calling_AneuFinder(AneuFinder_outdir, replace, threads_aneufinder, df_coverage, ploidy, reference_genome, mitochondrial_chromosome, read_length)
  File "./scripts/sv_functions.py", line 13395, in run_CNV_calling_AneuFinder
    df_AneuFinder_best = run_AneuFinder(coverage_file, best_parameters_outfile, threads, parms_dict=best_parameters_dict, replace=replace)
  File "./scripts/sv_functions.py", line 13295, in run_AneuFinder
    run_cmd("%s --coverage_table %s --outfile %s --threads %i --R %i --sig_lvl %.4f > %s 2>&1"%(run_AneuFinder_R, coverage_file, outfile_tmp, threads, R, sig_lvl, aneufinder_std), env=EnvName_AneuFinder)
  File "./scripts/sv_functions.py", line 691, in run_cmd
    if out_stat!=0: raise ValueError("\n%s\n did not finish correctly. Out status: %i"%(cmd_to_run, out_stat))
ValueError: 
source /opt/conda/etc/profile.d/conda.sh && conda activate perSVade_env_AneuFinder_env > /dev/null 2>&1 && /perSVade/scripts/run_ANEUFINDER.R --coverage_table /output_directory/call_CNVs/AneuFinder_run/gDNA/coverage_file.tab --outfile /output_directory/call_CNVs/AneuFinder_run/gDNA/AneuFinder_output_best_parms.tab.tmp --threads 1 --R 10 --sig_lvl 0.1000 > /output_directory/call_CNVs/AneuFinder_run/gDNA/AneuFinder_output_best_parms.tab.generating.std 2>&1
 did not finish correctly. Out status: 35072

ERROR!!! Out status: 256
ERROR conda.cli.main_run:execute(34): Subprocess for 'conda run ['python', '-u', './scripts/perSVade', 'call_CNVs', '--fraction_available_mem', '0.2', '-r', '/genome/genome.fasta', '-o', '/output_directory/call_CNVs', '-sbam', '/output_directory/aligned_reads.bam.sorted', '--mitochondrial_chromosome', 'chrM', '-p', '1', '--cnv_calling_algs', 'HMMcopy,AneuFinder', '--window_size_CNVcalling', '500']' command failed.  (See above for error)

the output file

[4.0K]  .
├── [  42]  aligned_reads.bam.sorted -> /output_directory/aligned_reads.bam.sorted
├── [  46]  aligned_reads.bam.sorted.bai -> /output_directory/aligned_reads.bam.sorted.bai
├── [ 40M]  aligned_reads.bam.sorted.coverage_per_window.tab
├── [ 19K]  aligned_reads.bam.sorted.read_length_dist_first5000reads.txt
├── [ 57K]  all_cmds.txt
├── [4.0K]  AneuFinder_run
│   ├── [4.0K]  gDNA
│   │   ├── [1.2K]  AneuFinder_output_best_parms.tab.generating.std
│   │   └── [ 21M]  coverage_file.tab
│   └── [4.0K]  mtDNA
│       ├── [ 967]  AneuFinder_output_best_parms.tab
│       ├── [1.2K]  AneuFinder_output_best_parms.tab.generating.std
│       └── [ 26K]  coverage_file.tab
├── [4.0K]  calculating_corrected_coverage
│   ├── [4.0K]  plots
│   │   ├── [ 75M]  coverage_interactive.html
│   │   ├── [ 21K]  final_fitting_round1_corrected_relative_coverage_from_GCcontent_coverage_corrected.pdf
│   │   ├── [ 22K]  final_fitting_round1_corrected_relative_coverage_from_GCcontent_coverage.pdf
│   │   ├── [ 30K]  final_fitting_round3_corrected_relative_coverage_from_raw_distance_to_telomere_coverage_corrected.pdf
│   │   ├── [ 35K]  final_fitting_round3_corrected_relative_coverage_from_raw_distance_to_telomere_coverage.pdf
│   │   ├── [ 21K]  single_predictors_relative_coverage_from_GCcontent_coverage_corrected.pdf
│   │   ├── [ 22K]  single_predictors_relative_coverage_from_GCcontent_coverage.pdf
│   │   ├── [ 29K]  single_predictors_relative_coverage_from_raw_distance_to_telomere_coverage_corrected.pdf
│   │   └── [ 37K]  single_predictors_relative_coverage_from_raw_distance_to_telomere_coverage.pdf
│   └── [ 723]  rsquares_tables.tab
├── [ 40M]  coverage_per_windows_500bp.tab
├── [217M]  df_coverage_with_corrected_relative_coverage.tab
└── [4.0K]  reference_genome_dir
    ├── [1.9K]  reference_genome.dict
    ├── [379M]  reference_genome.fasta
    ├── [ 187]  reference_genome.fasta.chr_to_len.py
    ├── [ 409]  reference_genome.fasta.fai
    ├── [ 17M]  reference_genome.fasta.windows500bp.bed
    ├── [4.0K]  reference_genome_genmap_idx
    │   ├── [ 503]  index.ids.concat
    │   ├── [ 120]  index.ids.limits
    │   ├── [ 123]  index.info.concat
    │   ├── [  64]  index.info.limits
    │   ├── [ 58M]  index.lf.drp
    │   ├── [ 23K]  index.lf.drp.sbl
    │   ├── [   1]  index.lf.drs
    │   ├── [284M]  index.lf.drv
    │   ├── [ 93K]  index.lf.drv.sbl
    │   ├── [  24]  index.lf.pst
    │   ├── [ 58M]  index.rev.lf.drp
    │   ├── [ 23K]  index.rev.lf.drp.sbl
    │   ├── [   1]  index.rev.lf.drs
    │   ├── [284M]  index.rev.lf.drv
    │   ├── [ 93K]  index.rev.lf.drv.sbl
    │   ├── [  24]  index.rev.lf.pst
    │   ├── [ 93M]  index.sa.ind
    │   ├── [   8]  index.sa.len
    │   ├── [224M]  index.sa.val
    │   ├── [142M]  index.txt.concat
    │   └── [ 120]  index.txt.limits
    └── [4.0K]  reference_genome_genmap_map
        ├── [3.1G]  reference_genome.genmap.bed
        └── [8.3G]  reference_genome.genmap.bed.long.bed

8 directories, 50 files
MikiSchikora commented 9 months ago

Hi,

Thanks for the detailed log, it seems that it crashed somehow when running aneufinder. (run_ANEUFINDER.R command ) The file /output_directory/call_CNVs/AneuFinder_run/gDNA/AneuFinder_output_best_parms.tab.generating.std contains the STDOUT and STDERR of aneufinder. Could you check it and, if you can't solve it based on that file, attach its content here?

Best,

Miquel Àngel Schikora Barcelona Supercomputing Center

MikiSchikora commented 9 months ago

Good morning,

Could you solve this issue? If not, may you attach the file that I mentioned? Thanks.

Best,

Miquel Àngel Schikora Barcelona Supercomputing Center

weiydcn commented 9 months ago

Thank you for your kind assistance. I apologize for the delayed response. I have checked the file "AneuFinder_output_bestparms.tab.generating.std" as you mentioned, but I could only find an unfinished log in this file when comparing it with the mtDNA file. I will try to resolve this issue later, as we currently have a holiday for the Chinese New Year celebration. O(∩∩)O Now I can response instantly  ,and i pasted bam file ,and two AneuFinder_output_best_parms.tab.generating.std. Hope to fix this error, thanks.

Best, Wei yidong FAAS, China

BAM file head:(reference genome:oryza sativa) @HD VN:1.6 SO:coordinate @SQ SN:Chr1 LN:44361539 @SQ SN:Chr2 LN:37764328 @SQ SN:Chr3 LN:39691490 @SQ SN:Chr4 LN:35849732 @SQ SN:Chr5 LN:31237231 @SQ SN:Chr6 LN:32465040 @SQ SN:Chr7 LN:30277827 @SQ SN:Chr8 LN:29952003 @SQ SN:Chr9 LN:24760661 @SQ SN:Chr10 LN:25582588 @SQ SN:Chr11 LN:31778392 @SQ SN:Chr12 LN:26601357 @SQ SN:chrM LN:527116 @SQ SN:chrC LN:134546 @RG ID:SAMPLE SM:SAMPLE @PG ID:bwa PN:bwa VN:0.7.17-r1188 CL:/opt/conda/envs/perSVade_env/bin/bwa mem -R @RG\tID:SAMPLE\tSM:SAMPLE -t 16 /output_directory/reference_genome_dir/reference_genome.fasta /reads/W07_1.fq.gz /reads/W07_2.fq.gz

gDNA:AneuFinder_output_best_parms.tab.generating.std

Attaching package: ‘BiocGenerics’ The following objects are masked from ‘package:parallel’: clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following objects are masked from ‘package:stats’: IQR, mad, sd, var, xtabs The following objects are masked from ‘package:base’: anyDuplicated, append, as.data.frame, basename, cbind, colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply, union, unique, unsplit, which.max, which.min

Attaching package: ‘S4Vectors’ The following object is masked from ‘package:base’: expand.grid

Please visit https://github.com/ataudt/aneufinder for the latest bugfixes and features. [1] "running findCNVs with the following parms" [1] 10 [1] 0.1 [1] 1 findCNVs():

Find CNVs for ID = AneuFinderID: Method = edivisive Running edivisive ... mtDNA:AneuFinder_output_best_parms.tab.generating.std

Attaching package: ‘BiocGenerics’ The following objects are masked from ‘package:parallel’: clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following objects are masked from ‘package:stats’: IQR, mad, sd, var, xtabs The following objects are masked from ‘package:base’: anyDuplicated, append, as.data.frame, basename, cbind, colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply, union, unique, unsplit, which.max, which.min

Attaching package: ‘S4Vectors’ The following object is masked from ‘package:base’: expand.grid

Please visit https://github.com/ataudt/aneufinder for the latest bugfixes and features. [1] "running findCNVs with the following parms" [1] 10 [1] 0.1 [1] 1 findCNVs():

Find CNVs for ID = AneuFinderID: Method = edivisive Running edivisive ... 25.99s Making segmentation ... 0.07s Time spent in findCNVs(): 26.72s

------------------ Original ------------------ From: "Gabaldonlab/perSVade" @.>; Date: Mon, Feb 12, 2024 06:06 PM @.>; @.**@.>; Subject: Re: [Gabaldonlab/perSVade] get an error in cnv calling (Issue #18)

Good morning,

Could you solve this issue? If not, may you attach the file that I mentioned? Thanks.

Best,

Miquel Àngel Schikora Barcelona Supercomputing Center

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

MikiSchikora commented 9 months ago

Good afternoon,

Sure, no worries about the late response. I cannot see any error in the AneuFinder log, so I can't undertsand yet about the problem. Since aneufinder is run in both mtDNA and gDNA, can you verify that the attached file is /output_directory/call_CNVs/AneuFinder_run/gDNA/AneuFinder_output_best_parms.tab.generating.std and not /output_directory/call_CNVs/AneuFinder_run/mtDNA/AneuFinder_output_best_parms.tab.generating.std (which refers to the mtDNA, which was sucessful).

Do you have any performance issue (i.e. crash due to insufficient memory or similar)? I understand that the error is consistent (i.e. always the same when you run again) right?

Here is the puzzling thing. The end of the AneuFinder running script within perSVade is the following:

# run
cnv_calls = findCNVs(gr_coverage, most.frequent.state="2-somy", states=states, ID="AneuFinderID", strand="*", num.threads=threads, verbosity=4, method="edivisive", R=R, sig.lvl=sig_lvl) 

# save
cnv_calls = data.frame(cnv_calls$segments)
write.table(cnv_calls, opt$outfile, sep="\t", col.names=TRUE, quote=FALSE, row.names=FALSE)

# remove all R objects
rm(list = ls())

According to the log, it seems like findCNVs finshed (see text "Time spent in findCNVs(): 26.72s") right? So it is crashing at the writing step. Perhaps a disk issue?

Thanks,

Miquel Àngel

MikiSchikora commented 8 months ago

Good morning,

Did you have a chance to look at this error? Could you solve it?

Thanks,

Miquel Àngel

weiydcn commented 8 months ago

Sorry, i reply using email with some picture, but they didnt show in github

we find the Unexpected  exit in "AneuFinder_output_best_parms.tab.generating.std" from AneuFinder_run/gDNA

findCNVs():

Find CNVs for ID = AneuFinderID: Method = edivisive Running edivisive ...

And AneuFinder_output_best_parms.tab.generating.std from AneuFinder_run/mtDNA is normal:

findCNVs():

Find CNVs for ID = AneuFinderID: Method = edivisive Running edivisive ... 25.99s Making segmentation ... 0.07s Time spent in findCNVs(): 26.72s

------------------ Original ------------------ From: "Gabaldonlab/perSVade" @.>; Date: Mon, Feb 19, 2024 04:57 PM @.>; @.**@.>; Subject: Re: [Gabaldonlab/perSVade] get an error in cnv calling (Issue #18)

Good morning,

Did you have a chance to look at this error? Could you solve it?

Thanks,

Miquel Àngel

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

MikiSchikora commented 8 months ago

Hi,

Alright, so I understand that /output_directory/call_CNVs/AneuFinder_run/gDNA/AneuFinder_output_best_parms.tab.generating.std only contains the text " Unexpected  exit in ", which I cannot interpret. I looks at some system failure. If you run again (with --replace to repeat all steps), does it happen the same (sometimes something fails in the computer and its worth re-reunning)? Do you have any disk / RAM issues while running?

Best,

Miquel Àngel

weiydcn commented 8 months ago

actually , I run three samples in an script, and I got same error for each samples。 and I check the coverage_file.tab in gDNA,find it incomplete(rice has 12 chromosom,but the data stop in chr9)

Chr9 24754001 24754500 0 Chr9 24754501 24755000 0 Chr9 24755001 24755500 0 Chr9 24755501 24756000 0 Chr9 24756001 24756500 0 Chr9 24756501 24757000 0 Chr9 24757001 24757500 0 Chr9 24757501 24758000 0 Chr9 24758001 24758500 0 Chr9 24758501 24759000 0 Chr9 24759001 24759500 0 Chr9 24759501 24760000 0 Chr9 24760001 24760500 0 Chr9 24760501 24760661 0 chrC 1 500 3919 chrC 501 1000 5416 chrC 1001 1500 11726 chrC 1501 2000 10860 chrC 2001 2500 11100 chrC 2501 3000 8109 chrC 3001 3500 6019 chrC 3501 4000 6413 chrC 4001 4500 8826 chrC 4501 5000 7429 chrC 5001 5500 5033 chrC 5501 6000 6743 chrC 6001 6500 2686 chrC 6501 7000 6203 chrC 7001 7500 6259 chrC 7501 8000 6743 chrC 8001 8500 * 1303

MikiSchikora commented 8 months ago

Hi,

Alright, perhaps the issue lies in the previous coverage generation then. The file coverage_file.tab contains the inferred counts of reads mapping to each region. When you say "(rice has 12 chromosom,but the data stop in chr9)" what do you mean? In the file you send (I assume its the content of coverage_file.tab) you have data for chr9 (only the end) and chrC (only the beginning). So you only have these in the file? This would seem an issue.

Also, it seems that Chr9 has coverage=0 all along right? Is this expected? This would suggest that something odd is happening with the coverage generation. In your bam file, do you see coverage in chrom 9 (and others)? I'd really recommend you to i) check that your bam has evely distributed coverage across all chromosomes and ii) run again from scratch (remove all files generated by call_CNVs, and run again, so that everything is re-run).

Hope this helps,

Miquel Àngel

weiydcn commented 8 months ago

Thanks for

Hi,

Alright, perhaps the issue lies in the previous coverage generation then. The file coverage_file.tab contains the inferred counts of reads mapping to each region. When you say "(rice has 12 chromosom,but the data stop in chr9)" what do you mean? In the file you send (I assume its the content of coverage_file.tab) you have data for chr9 (only the end) and chrC (only the beginning). So you only have these in the file? This would seem an issue.

Also, it seems that Chr9 has coverage=0 all along right? Is this expected? This would suggest that something odd is happening with the coverage generation. In your bam file, do you see coverage in chrom 9 (and others)? I'd really recommend you to i) check that your bam has evely distributed coverage across all chromosomes and ii) run again from scratch (remove all files generated by call_CNVs, and run again, so that everything is re-run).

Hope this helps,

Miquel Àngel

Thanks for your reply. The files "coverage_file.tab" seem normal, the region of chr9 with coverage =0 is the termini of chromosome. image The record of Chr10-12 are right and localizated after Chr1. I would call CNV using other servers to exclude server running environment issues。

MikiSchikora commented 8 months ago

Hi,

Alright, so then you do have the chromosomes 10-12 right? Does it mean that the problem is solved? Regardless, what you are saying " I would call CNV using other servers to exclude server running environment issues" is interesting, and also validate that there are no RAM / disk issues (may be the case since we are not getting a clear error message).

Best,

Miquel Àngel

weiydcn commented 8 months ago

Yes,the coverage file is normal. The problem is solved, and i would report  when i meet problem, thanks!

------------------ Original ------------------ From: "Gabaldonlab/perSVade" @.>; Date: Tue, Feb 20, 2024 11:55 PM @.>; @.**@.>; Subject: Re: [Gabaldonlab/perSVade] get an error in cnv calling (Issue #18)

Hi,

Alright, so then you do have the chromosomes 10-12 right? Does it mean that the problem is solved? Regardless, what you are saying " I would call CNV using other servers to exclude server running environment issues" is interesting, and also validate that there are no RAM / disk issues (may be the case since we are not getting a clear error message).

Best,

Miquel Àngel

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

MikiSchikora commented 8 months ago

Alright, great, happy to see that it worked out. Tell me if you have further issues.

Best,

Miquel Àngel