jolobito / SPdel

Comparing species delimitation methods and statistics for DNA Barcoding data sets
5 stars 3 forks source link

Consensus creation failed #49

Open mattiarag99 opened 6 months ago

mattiarag99 commented 6 months ago

Dear all, I am reporting a problem with the creation of Consensus clusters. I was running SPdel.py with only pre-elaborated clusters of 14 different species delimitation methods (combinations of parameters), but once arrived at the creation of Consensus clusters and the svg tree, the command line report an error:

"_Traceback (most recent call last):

File "/home/student/miniconda3/envs/spdel/bin/SPdel.py", line 1212, in

main()

File "/home/student/miniconda3/envs/spdel/bin/SPdel.py", line 1203, in main

run(fasta,a,tree,CODE,dis,niter,sample,burnin,gen,sp,specList,n_ind,nocons,XList,PTPList,bPTPList,GMYCList,CompList,diagnostic)

File "/home/student/miniconda3/envs/spdel/bin/SPdel.py", line 991, in run

distances=run_comparison(basepath,inputs,CompList,nocons,gen,sp,dis)

File "/home/student/miniconda3/envs/spdel/bin/SPdel.py", line 896, in run_comparison

comp_analize.MOTU_renameFasta_Compare()

File "/home/student/miniconda3/envs/spdel/bin/SPdel.py", line 648, in MOTU_renameFasta_Compare

record.id=newname+'_'+k

TypeError: unsupported operand type(s) for +: 'float' and 'str'_"

May I ask for help for correcting this issue? Thanks a lot Best Mattia

jolobito commented 6 months ago

Hi Mattia, Can you share the commande line that are you using? I understand that you used the -X option?? Can you share the first part of your CSV??

mattiarag99 commented 6 months ago

Dear Jorge, thanks a lot for your quick answer

This is the command line:

SPdel.py caeliferadatasetforspedelNOBIN.fasta -t caeliferadefNOBIN_tree.nwk -C ABGD_JK_INIT,ABGD_JK_REC,ASAP_JK,ASAP_K2,BIN,ABGD_JK_INIT_1,ABGD_JK_REC_1,ASAP_JK_1,ASAP_K2_1,BIN_1 -X FAKEFILECSVCAELIF1.csv

I have used just pre-calculated species delimitation clusters using different methods, and also different combinations of parameters for each method. For this reason you can read different variants of ABGD, ASAP and BIN, I don't know if this is a problem. I also inserted a newick tree, but without using GMYC or PTP, for now, even if I need to use them in the definitive run, which would include 13 delimitation methods/combinations of parameters (for this reason the csv file is named as FAKE..).

Here the first part of my CSV file

name,ABGD_JK_INIT,ABGD_JK_REC,ASAP_JK,ASAP_K2,BIN,ABGD_JK_INIT_1,ABGD_JK_REC_1,ASAP_JK_1,ASAP_K2_1,BIN_1

Acinipe_ignatii_IBIOR231-22,Group[76],MOTU_GROUP[76],MOTU_SUB[85],MOTU_SUB[76],MOTU_AER2325,Group[76],MOTU_GROUP[76],MOTU_SUB[85],MOTU_SUB[76],MOTU_AER2325

Acinipe_ignatii_IBIOR232-22,Group[76],MOTU_GROUP[76],MOTU_SUB[85],MOTU_SUB[76],MOTU_AER2325,Group[76],MOTU_GROUP[76],MOTU_SUB[85],MOTU_SUB[76],MOTU_AER2325

Acinipe_segurensis_MEDOR004-23,Group[83],MOTU_GROUP[83],MOTU_SUB[92],MOTU_SUB[83],MOTU_AFG2876,Group[83],MOTU_GROUP[83],MOTU_SUB[92],MOTU_SUB[83],MOTU_AFG2876

Acinipe_segurensis_MEDOR575-23,Group[125],MOTU_GROUP[125],MOTU_SUB[136],MOTU_SUB[126],MOTU_AFG2875,Group[125],MOTU_GROUP[125],MOTU_SUB[136],MOTU_SUB[126],MOTU_AFG2875

Acinipe_segurensis_MEDOR576-23,Group[125],MOTU_GROUP[125],MOTU_SUB[136],MOTU_SUB[126],MOTU_AFG2875,Group[125],MOTU_GROUP[125],MOTU_SUB[136],MOTU_SUB[126],MOTU_AFG2875

Acinipe_segurensis_MEDOR577-23,Group[83],MOTU_GROUP[83],MOTU_SUB[92],MOTU_SUB[83],MOTU_AFG2876,Group[83],MOTU_GROUP[83],MOTU_SUB[92],MOTU_SUB[83],MOTU_AFG2876

Acinipe_segurensis_MEDOR578-23,Group[83],MOTU_GROUP[83],MOTU_SUB[92],MOTU_SUB[83],MOTU_AFG2876,Group[83],MOTU_GROUP[83],MOTU_SUB[92],MOTU_SUB[83],MOTU_AFG2876

Acrida_sp_MEDOR314-23,Group[111],MOTU_GROUP[111],MOTU_SUB[121],MOTU_SUB[112],MOTU_ACN8433,Group[111],MOTU_GROUP[111],MOTU_SUB[121],MOTU_SUB[112],MOTU_ACN8433

Acrida_ungarica_GBORT781-15,Group[39],MOTU_GROUP[39],MOTU_SUB[47],MOTU_SUB[40],MOTU_AAP4333,Group[39],MOTU_GROUP[39],MOTU_SUB[47],MOTU_SUB[40],MOTU_AAP4333

Thanks a lot for the help Best Mattia

jolobito commented 6 months ago

Dear Mattia, Thanks, I can see some possible sources of the error.

In your CSV:

Let me know if some of these work.

Best

mattiarag99 commented 6 months ago

Dear Jorge, thanks for the help I forgot to mention that I had already run an analysis with the same dataset (and specimens and MOTU name) a week ago, but without using so many methods. The tool correctly created a tree with delimitation bars, but without the consensus part, giving me a warning concerning the fact that for reaching a consensus I needed to get more methods.

For this reason, I suppose the error is in the part concerning the production of a consensus. Could be?

As I am not familiar with writing code, in the meantime I asked chatgpt about the error, and it suggested me to modify the code at line 648, chainging from record.id = newname + '' + k to record.id = str(newname) + '' + str(k)

Otherwise, I was wondering if maybe the presence of underscores in the column titles could be the main issue, but I dont know

Sorry for the long message, it is just cause this is the last step of a work I have to give in few time and I hope to find the solution Best Mattia

mattiarag99 commented 6 months ago

p.s. btw I am trying to run with your suggestion, thanks again

jolobito commented 6 months ago

HI Mattia, probably your results were inclonclusive (maybe a discrepant results between analysis) so the recomendation is to include more analysis, but it's not always a solution.

For check that you can try SPdel.py caeliferadatasetforspedelNOBIN.fasta -t caeliferadefNOBIN_tree.nwk -C ABGD_JK_INIT,ABGD_JK_REC,ASAP_JK,ASAP_K2,BIN,ABGD_JK_INIT_1,ABGD_JK_REC_1,ASAP_JK_1,ASAP_K2_1,BIN_1 -X FAKEFILECSVCAELIF1.csv -nocons

The option -nocons will draw the tree but will not calculate the consensus.

mattiarag99 commented 6 months ago

Dear Jorge, I tried to run the analysis with your suggestions, but sadly, while elaborating the consensus, it gives me the same error I try to run the analysis without consensus Have you ever encountered similar issues for the consensus draw? Thanks a lot again

mattiarag99 commented 6 months ago

p.s. the -nocons flag will allow to produce the tree with bars anyway? Ofc without consensus

mattiarag99 commented 6 months ago

p.s. is there an option to run the analysis in multi-threads?

jolobito commented 6 months ago

p.s. the -nocons flag will allow to produce the tree with bars anyway? Ofc without consensus

Yes, it's very useful to check te results

p.s. is there an option to run the analysis in multi-threads?

Not for now

Dear Jorge, I tried to run the analysis with your suggestions, but sadly, while elaborating the consensus, it gives me the same error I try to run the analysis without consensus Have you ever encountered similar issues for the consensus draw? Thanks a lot again

Can you share your files to test here?? Could be via email (jramirezma@unmsm.edu.pe)

mattiarag99 commented 6 months ago

Dear Jorge, the analysis without consensus is still running, but of course I will send you my files Thanks for your kind help, just sent an email Best regards Mattia