egonozer / Spine

Identification of conserved nucleotide core genome of bacteria and other small genome organisms
http://vfsmspineagent.fsm.northwestern.edu
GNU General Public License v3.0
7 stars 1 forks source link

Use of uninitialized value $fileid in substitution (s///) at /bin/spine.pl line 408. #3

Closed ne1al closed 2 years ago

ne1al commented 2 years ago

I am trying to run Spine on a file of contigs I have. I encountered a problem of locating some scripts ERROR: Can't find the required file "nucmer_multi.pl". Make sure it is in the "scripts" directory with spine.pl (/opt/anaconda3/envs/mrsa/bin) and has not been renamed. I had to manually change the location of both scripts to the bin (as I did not have the script directory it is looking for. Now, I am trying to run it again and I had this problem: Use of uninitialized value $fileid in substitution (s///) at /opt/anaconda3/envs/mrsa/bin/spine.pl line 408. Use of uninitialized value $fileid in substitution (s///) at /opt/anaconda3/envs/mrsa/bin/spine.pl line 408. ERROR: All files must be given an ID I am not sure what the ID it is looking for is. Am I missing something?

egonozer commented 2 years ago

Hi Nehal. From your paths it sounds like you may have installed the Anaconda version of Spine. I didn't create that version nor do I have anything to do with maintaining it, so I can't make any guarantees as to whether it will work or not. There should be no reason at all for you to have to manually change any of the paths in the program, however. I think what I would do if I were you is if you want to stick with Anaconda, install Mummer in a conda environment and then just download this entire Git repository including the scripts directory into its own directory. Then just activate the mummer conda environment whenever you want to use Spine. As long as the scripts directory is in the same directory as spine.pl, everything should work just fine.

As for the missing fileid, take a look at the required inputs here: https://github.com/egonozer/Spine#required-inputs. You need to give the path to your input sequences and a unique ID (unique identifier) for that sequence separated by a tab character.