acorg / lispmds

LispMDS
1 stars 1 forks source link

EOF error when running MAKE-SIMPLE-IDENTIFIERS-TO-FASTA-NAMES-CORRESPONDENCE-FILE #15

Open anamosterin opened 9 years ago

anamosterin commented 9 years ago

I (Terry) get the following error when trying to run MAKE-SIMPLE-IDENTIFIERS-TO-FASTA-NAMES-CORRESPONDENCE-FILE:

$ alisp
International Allegro CL Enterprise Edition
8.0 [Mac OS X (Intel)] (Apr 17, 2006 13:04)
Copyright (C) 1985-2005, Franz Inc., Oakland, CA, USA.  All Rights Reserved.

This development copy of Allegro CL is licensed to:
   [TC14164] University of Cambridge

;; Optimization settings: safety 1, space 1, speed 1, debug 2.
;; For a complete description of all compiler switches given the
;; current optimization settings evaluate (EXPLAIN-COMPILER-SETTINGS).
CL-USER(1): (load "/usr/local/lispmds/.clinit.cl")
CL-USER(2): (MAKE-SIMPLE-IDENTIFIERS-TO-FASTA-NAMES-CORRESPONDENCE-FILE "ramona.fas" "terry")
Error: eof encountered on stream
       #<STRING-INPUT-SIMPLE-STREAM "EPI1198_|_HA..." pos 64 @
         #x11028dda>
  [condition type: END-OF-FILE]

Restart actions (select using :continue):
 0: Return to Top Level (an "abort" restart).
 1: Abort entirely from this (lisp) process.

Maybe this is due to unexpected characters in the sequence id in the FASTA file. The error is on the first sequence in my file, with id EPI1198_|_HA_|_A/Hanoi/184/2002_|_EPI_ISL_271_|_AB221016_|_AH3N2.

anamosterin commented 9 years ago

Here's an example FASTA file that triggers the error:

>EPI1198_|_HA_|_A/Hanoi/184/2002_|_EPI_ISL_271_|_AB221016_|_AH3N2
caaaaacttcccggaaatgacaacagcacggcaacgctgtgccttgggcaccatgcagta
anamosterin commented 9 years ago

The error is definitely being caused by the | characters in the strain id. When I remove them all from the FASTA above, I get no error. When I use a strain id of >EPI1198|xxx I get the error.

dsmithgithub commented 9 years ago

T,

What's the top level thing you are doing? I have fixed the error you found, but i need to check when the operation is undone (simple names back to the complex names) that that will work too.

D

terrycojones commented 9 years ago

I was trying to help Ana make trees. There are some shell scripts that call into lisp to do a few things. One, with a name like produces-mafft-... calls alisp with just a couple of lines of lisp, to load the clinit file and then call MAKE-SIMPLE-IDENTIFIERS-TO-FASTA-NAMES-CORRESPONDENCE-FILE. So I'm not doing anything complicated or that involves other parts of lispmds.