quxiaojian / PGA

Plastid Genome Annotator
GNU General Public License v3.0
47 stars 16 forks source link

Bug with the query path #5

Closed asan-emirsaleh closed 6 months ago

asan-emirsaleh commented 1 year ago

Hello! Great tool! I encountered an error while using your software. For test, I tryed to annotate the same plastid genome from NCBI RefSeq.

The code I used:

DIR=/home/projectpath/plastome/test
PGA=/home/asan/apps/PGA/PGA.pl
REFS=$DIR/test_ref
TARGET=$DIR/test_target

# annotate
perl $PGA \
  -r $REFS \
  -t $TARGET \
  -o test_out

the stderr contained this message: Command line argument error: Argument "query". File is not accessible: `/home/projectpath/plastome/test/test_ref//%W6RcFEu-IZgZ%_reference1'

So I assume the annotation not to perform correctly. Can you suggest any solution? Might it be the error with arguments passed either it might be due to internal bag in the code of PGA?

Best regards Asan

UPDATE: The issue was solved after the position of virtual environment in the elements order of the PATH variable had fixed.

asan-emirsaleh commented 1 year ago

The other one type of warnings appeared:

2023.02.20 17:46:33 || Begin extracting annotations from reference!
2023.02.20 17:46:33 || Finish extracting annotations from reference!

2023.02.20 17:46:33 || Begin annotating the 1 sequence: lactuca_sativa
2023.02.20 17:46:33 || Begin blasting reference to sequence!
Warning: [blastn] Examining 5 or more matches is recommended
Warning: [blastn] Examining 5 or more matches is recommended
Warning: [tblastn] Examining 5 or more matches is recommended
Warning: [tblastn] Examining 5 or more matches is recommended
2023.02.20 17:46:35 || Finish blasting reference to sequence!
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
2023.02.20 17:46:37 || Finish annotating the 1 sequence: lactuca_sativa
2023.02.20 17:46:37 || Finish annotating all sequences and total elapsed time is: 4 seconds!
quxiaojian commented 1 year ago

The other one type of warnings appeared:

2023.02.20 17:46:33 || Begin extracting annotations from reference!
2023.02.20 17:46:33 || Finish extracting annotations from reference!

2023.02.20 17:46:33 || Begin annotating the 1 sequence: lactuca_sativa
2023.02.20 17:46:33 || Begin blasting reference to sequence!
Warning: [blastn] Examining 5 or more matches is recommended
Warning: [blastn] Examining 5 or more matches is recommended
Warning: [tblastn] Examining 5 or more matches is recommended
Warning: [tblastn] Examining 5 or more matches is recommended
2023.02.20 17:46:35 || Finish blasting reference to sequence!
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5475.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 5743.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 7831.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
substr outside of string at /home/asan/apps/PGA/PGA.pl line 9286.
2023.02.20 17:46:37 || Finish annotating the 1 sequence: lactuca_sativa
2023.02.20 17:46:37 || Finish annotating all sequences and total elapsed time is: 4 seconds!

Hi Asan, Thanks for using this tool. There are different unknown problems for reference plastomes from different sources such as NCBI, and we cannot foresee these problems in advance. So we advocate to use verified plastome as the reference. It is easy to achieve it. Just use Amborella trichopoda as reference to annotate your own reference, then use your own checked reference to annotate other species.

Best, Xiao-Jian Qu

asan-emirsaleh commented 1 year ago

I have used Lactuca sativa from the RefSeq db of NCBI. Also I used nucleotide sequence of the same assembly as target, in order to check some issues which appeared in my script in python (I ran PGA.pl in configured conda environment from python script in the subprocess). You can reproduce this issue with the last plastome of L. sativa from NCBI.

asan-emirsaleh commented 1 year ago

@quxiaojian this is a good option. But another idea is to use the closest available reference. The purpose of procedures I performed was 1) to annotate large genomic regions of cp genomes keeping the rest part of the annotated genome intact; 2) to test PGA.pl on model dataset. Hence, I need to use PGA.pl being a promising command-line utility on existing data of the same taxa (e.g. on .gb of L. sativa as well as on .fasta of it).

Did you try to reproduce the issue?

asan-emirsaleh commented 6 months ago

Your tool is great because it is open-source and could be locally launched. But this issue in transferring annotations confuses me. May I ask you to reproduce this issue? It is really unexpected and interesting behavior.

vkhuy commented 5 months ago

Hello! Great tool! I encountered an error while using your software. For test, I tryed to annotate the same plastid genome from NCBI RefSeq.

The code I used:

DIR=/home/projectpath/plastome/test
PGA=/home/asan/apps/PGA/PGA.pl
REFS=$DIR/test_ref
TARGET=$DIR/test_target

# annotate
perl $PGA \
  -r $REFS \
  -t $TARGET \
  -o test_out

the stderr contained this message: Command line argument error: Argument "query". File is not accessible: `/home/projectpath/plastome/test/test_ref//%W6RcFEu-IZgZ%_reference1'

So I assume the annotation not to perform correctly. Can you suggest any solution? Might it be the error with arguments passed either it might be due to internal bag in the code of PGA?

Best regards Asan

UPDATE: The issue was solved after the position of virtual environment in the elements order of the PATH variable had fixed.

how can you fix that, I have the same issue:


2024.03.20 11:40:45 || Begin blasting reference to sequence!
Command line argument error: Argument "logfile". File is not accessible:  `gb/screen.log'
Command line argument error: Argument "query". File is not accessible:  `test/angiosperms/reference//%Q%_reference1'
Command line argument error: Argument "query". File is not accessible:  `test/angiosperms/reference//%Q%_reference2'
Command line argument error: Argument "query". File is not accessible:  `test/angiosperms/reference//%Q%_reference3'
Command line argument error: Argument "query". File is not accessible:  `test/angiosperms/reference//%Q%_reference4'
Command line argument error: Argument "logfile". File is not accessible:  `gb/screen.log'
Command line argument error: Argument "query". File is not accessible:  `test/angiosperms/target//%Q%_IR_temp'
2024.03.20 11:40:46 || Finish blasting reference to sequence!
readline() on closed filehandle $input_IR at PGA.pl line 1603.
readline() on closed filehandle $in_bt_ref1 at PGA.pl line 1639.
readline() on closed filehandle $in_bt_ref3 at PGA.pl line 1646.
readline() on closed filehandle $in_bt_ref4 at PGA.pl line 1667.
seek() on closed filehandle $in_bt_ref4 at PGA.pl line 1684.
readline() on closed filehandle $in_bt_ref4 at PGA.pl line 1685.
readline() on closed filehandle $in_bt_ref2 at PGA.pl line 1708.
readline() on closed filehandle $in_annotation at PGA.pl line 2042.
readline() on closed filehandle $in_annotation at PGA.pl line 2045.
print() on closed filehandle $logfile at PGA.pl line 2074.
print() on closed filehandle $out_annotation at PGA.pl line 2078.
print() on closed filehandle $out_annotation at PGA.pl line 2079.
print() on closed filehandle $out_annotation at PGA.pl line 2080.
print() on closed filehandle $out_annotation at PGA.pl line 2081.
print() on closed filehandle $out_annotation at PGA.pl line 2082.
print() on closed filehandle $out_annotation at PGA.pl line 2083.
print() on closed filehandle $out_annotation at PGA.pl line 2084.
print() on closed filehandle $out_annotation at PGA.pl line 16126.
print() on closed filehandle $out_annotation at PGA.pl line 16153.
readline() on closed filehandle $input_temp at PGA.pl line 16157.
print() on closed filehandle $logfile at PGA.pl line 16183.
print() on closed filehandle $logfile at PGA.pl line 16184.
print() on closed filehandle $logfile at PGA.pl line 16185.
print() on closed filehandle $logfile at PGA.pl line 16191.
2024.03.20 11:40:46 || Finish annotating the 1 sequence: Rosa_roxburghii
2024.03.20 11:40:46 || Finish annotating all sequences and total elapsed time is: 1 seconds!```

And it is the test run