Advertisement
mjktfw

Untitled

Oct 17th, 2013
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.32 KB | None | 0 0
  1. while linp = finp.gets  #bierze w petli linie z pliku input
  2.  
  3.     linp =~ /^.*?\t.*?\t(.*?)\t.*?\t(.*?)\t.*?\t(.*?)\t(.*?)\t/     #wyszukuje zmienne do porownania z zawartością linii pliku get
  4.     transcript = $1
  5.     mirna = $2
  6.     start = $3
  7.     stop = $4
  8.        
  9.     key = transcript + mirna + start + stop #łączy zmienne do porownania
  10.        
  11.     while lget = fget.gets  #bierze w petli linie z pliku get (w tym pliku są kolumny, z ktorych wartosci trzeba przekleic do input)
  12.    
  13.         lget =~ /^(.*?)\t(.*?)\t(.*?)\t(.*?)\t.*?\t(.*?)\t(.*?)\n/  #wyszukuje zmienne do porownania z zawartoscia linii pliku input
  14.         ref_transcript = $1
  15.         ref_mirna = $2
  16.         ref_start = $5
  17.         ref_stop = $6
  18.            
  19.         refkey = ref_transcript + ref_mirna + ref_start + ref_stop      #łączy zmienne do porownania
  20.        
  21.         if (key == refkey)      #sprawdza, czy linie z pliku input i get sobie odpowiadaja
  22.             flankdir = $3      
  23.             if flankdir = "5flank"      #sprawdza do ktorej kolumny trzeba bedzie wstawic wartosc $4
  24.                 energy5 = $4
  25.             end
  26.             if flankdir = "3flank"      #sprawdza do ktorej kolumny trzeba bedzie wstawic wartosc $4
  27.                 energy3 = $4
  28.             end
  29.         end
  30.        
  31.     end
  32.     fget.rewind
  33.    
  34.     linp = linp.delete("\n") + "\t" + energy5 + "\t" + energy3 + "\n"   #szykuje linię do zapisania
  35.     fout.write(linp)    #zapisuje linię w pliku otput (pochodna input + wstawione 2 nowe kolumny z energy5 i energy3
  36. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement