ogotoh / spaln

Genome mapping and spliced alignment of cDNA or amino acid sequences
GNU General Public License v2.0
94 stars 16 forks source link

Add an option to overwrite existing results. #50

Closed xiekunwhy closed 2 years ago

xiekunwhy commented 2 years ago

Hi,

I found that spaln always create a new result file when the -o file is exists, it is a nightmare if there are faillure (and need to rerun) parallel jobs, would you please add an option to allow users to overite the existing file?

Best, Kun

ogotoh commented 2 years ago

Dear Kun,

I have just uploaded a new version (ver.2.4.9). By default, overwrite or retain an existing file is asked at the run time. -po or -pn option overrides this inquiry. I hope you like this modification.

Osamu,

xiekunwhy commented 2 years ago

Dear Osamu,

Thank for your works. But I can not compile ver.2.4.9 normally (but everything goes well when compiling ver.2.4.8). Here are the errors I got, do you know why?

./configure make touch seq.h /state/partition1/WORK/lib-devel/working_library/gcc-7.1.0/bin/g++ -O3 -fpermissive -Wall -DM_THREAD=1 -DUSE_ZLIB=1 -c spaln.cc /state/partition1/WORK/lib-devel/working_library/gcc-7.1.0/bin/g++ -O3 -fpermissive -Wall -DM_THREAD=1 -DUSE_ZLIB=1 -c aln2.cc /state/partition1/WORK/lib-devel/working_library/gcc-7.1.0/bin/g++ -O3 -fpermissive -Wall -DM_THREAD=1 -DUSE_ZLIB=1 -c dbs.cc dbs.cc: In member function ‘Seq* Seq::getdbseq(DbsDt*, const char*, int, bool)’: dbs.cc:765:39: error: call of overloaded ‘Strlist(char [256], int)’ is ambiguous else sname = new Strlist(token, 0); ^ In file included from stdtype.h:34:0, from cmn.h:25, from seq.h:25, from dbs.cc:22: clib.h:883:2: note: candidate: Strlist::Strlist(gzFile, int) Strlist(gzFile gzfd, int m); ^~~ clib.h:879:2: note: candidate: Strlist::Strlist(const char*, const char*) Strlist(const char* str, const char* delim); ^~~ make: *** [dbs.o] Error 1

Best regards, Kun

xiekunwhy commented 2 years ago

Or would you please add the latest version to bioconda?

ogotoh commented 2 years ago

Dear Kun,

It might be a compiler-dependent error. Please edit dbs.cc:765 from else sname = new Strlist(token, 0); to else sname = new Strlist(&token[0], 0);

Then try again.

Osamu,

ogotoh commented 2 years ago

The same type of errors can also occur in seq.c, extcds.c, and potentially others. Please made similar correction of the source code, and tell me the affected files. If you success in compilation, I will upload a corrected version.

Osamu,

xiekunwhy commented 2 years ago

Also not worked,

Here is the error image

Kun

ogotoh commented 2 years ago

I tried several versions of compilers (g++ 5.4.0, 7.5.0, 9.2.0, clang++ 6.0.0) but everyone finished normally. So, I cannot exactly figure out the cause of the compilation errors in your system. In the light of the error message you provided, I modified several codes, which might resolve the ambiguity of function calls. As mentioned above, I cannot test the propriety of this modified version (ver.2.4.9a) by myself. Please examine on your system, and tell me the results.

Osamu,

xiekunwhy commented 2 years ago

Thank you very much, ver.2.4.9a was compiled successfully, but -po seems not work?

spaln -po -t4 -Q7 -O0 -H35 -LS -ya012 -yX2 -d spaln -o lja.homprot.part_001.gff3 lja.homprot.part_001.m8.fa image

Best, Kun

xiekunwhy commented 2 years ago

I use redirect stdout to generate gff3 instead of -o, so I think this issue has been solved.

Kun

ogotoh commented 2 years ago

I updated new version (ver.2.4.9b) in which the problem that you pointed out has been fixed. Sorry for taking long time to do so.

Osamu,

xiekunwhy commented 2 years ago

Thank you very much, and you can close this issue now.