+ using new parsers now
[qpalma.git] / scripts / check_dataset.py
index 0a56f5b..bb81a62 100644 (file)
@@ -5,17 +5,23 @@ import sys
 import pdb
 import cPickle
 
-from compile_dataset import compile_d,unbracket_est,get_seq_and_scores,get_seq
-
-def check(idx):
-   pass
+from compile_dataset import compile_d,get_seq_and_scores,get_seq
+from qpalma_main import unbracket_est
 
 def checkAll(filename):
    dataset = cPickle.load(open(filename))
    [SeqInfo, Exons, OriginalEsts, Qualities, AlternativeSequences] = dataset 
 
    for idx in range(len(SeqInfo)):
+      if idx > 0 and idx % 250 == 0:
+         print 'processed %d examples' % idx
+
+      currentInfo = SeqInfo[idx]
+      chr,strand,p1,p2 = currentInfo
       currentExon = Exons[idx]
+      currentExon[0,1] += 1
+      currentExon -= 1
+
       currentEst  = OriginalEsts[idx]
       originalEst  = OriginalEsts[idx]
 
@@ -33,18 +39,27 @@ def checkAll(filename):
       begin = second_seq[:2]
       second_seq = second_seq[2:]
 
+      dna_flat_files    =  '/fml/ag-raetsch/share/projects/genomes/A_thaliana_best/genome/'
+      seq, acc, don =\
+      get_seq_and_scores(chr,strand,currentExon[0,0],currentExon[1,1]+1,dna_flat_files)
+
       assert (len(first_seq) + len(second_seq)) == 36, pdb.set_trace()
 
       if not (end == 'gt' or end == 'gc'):
-         print 'invalid donor at line %d'% ctr
+         print 'invalid donor in example %d'% idx
+         print SeqInfo[idx]
+         print currentExon
+
          #invalid_donor_ctr += 1
          #continue
+
       if not (begin == 'ag'):
-         print 'invalid acceptor at line %d'% ctr
+         print 'invalid acceptor in example %d'% idx
+         print SeqInfo[idx]
+         print currentExon
 
    pdb.set_trace() 
 
 
 if __name__ == '__main__':
    checkAll(sys.argv[1])
-