Differences between revisions 12 and 13
Revision 12 as of 2006-02-15 18:36:55
Size: 5564
Editor: 211
Comment:
Revision 13 as of 2006-02-16 14:50:57
Size: 6210
Editor: 211
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
----
== 2006-02-16 ==
오늘은 회사 홈페이지 몇 군데를 수정했다.
 * product/transcriptomics --> 149,139,259,154
 * product/proteomics --> 275,140,350,152
 * product/metabolomics --> 365,140,458,153

포토샵 팁) gif파일 수정하기
 * 우선 gif파일을 열고, image -> mode -> RGB color를 선택, background layer를 더블클릭해서 자물쇠를 없애면 그때부터 작업할 수 있다. 스포이드로 색깔을 찍어서 확인할 수 있고, T 를 누르면 글자를 생성.작업할 수 있고 마쳤으면 위에 꺽쇠를 누르면 된다. 오른쪽 layer표시에 주의해서 작업하자...
  

[../2006-03]

(->)

2006 / February
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
-1- -2- -3- -4-
-5- -6- -7- -8- -9- -10- -11-
-12- -13- -14- -15- -16- -17- -18-
-19- -20- -21- -22- -23- -24- -25-
BioXP
-26- -27- -28-


2006-02-16

오늘은 회사 홈페이지 몇 군데를 수정했다.

  • product/transcriptomics --> 149,139,259,154

  • product/proteomics --> 275,140,350,152

  • product/metabolomics --> 365,140,458,153

포토샵 팁) gif파일 수정하기

  • 우선 gif파일을 열고, image -> mode -> RGB color를 선택, background layer를 더블클릭해서 자물쇠를 없애면 그때부터 작업할 수 있다. 스포이드로 색깔을 찍어서 확인할 수 있고, T 를 누르면 글자를 생성.작업할 수 있고 마쳤으면 위에 꺽쇠를 누르면 된다. 오른쪽 layer표시에 주의해서 작업하자...


2006-02-15

RNA translate

  • 자세히 보면 DNA서열로 translate한 코드와 유사하다. (단, U가 T로 바뀌는 것만 제외하면...)
  • tip) 같은 부분은 부모 class로 빼고, 다른 부분만 적어 준다.
  • 주의사항) U가 T로 바뀌면 self.sequence가 바뀌기 때문에 translate 돌려주고 다시 self.sequence는 원래 sequence로 바꿔준다.

DNA서열로 만든 protein서열을 fasta로 돌려주기

  • 이미 NucleicAcid라는 class를 만들어서 DNA와 RNA에 관련된 일을 하는 코드들을 묶어 두었다.

  • protein서열은 NucleicAcid class에는 적합하지 않다고 판단, BioMolecule이라는 NucleicAcid의 상위 클래스를 만들어서 protein에 관한 일을 하는 코드들은 직접 Biomolecule에 쓰고, BioMoleculeNucleicAcid를 상속 받는다.

  • 문제점 해결) 내 sequence 가지고 이미 만들어진 getFasta라는 함수를 쓰면 되기 때문에 test코드에 있는 title만 유념해서 getFasta를 상속받아서 쓰면 된다.
  • tip) 클래스 이름이나 함수 이름을 지을 때, 그리고 그 함수와 클래스의 관계를 잘 파악해서 상속 받는 개념을 잘 이해해 두자...

amino acid sequence에서 trysine으로 절단한 부위 나타내기

  •    1 def getTrypticDigests(self):
       2         result = []
       3         changelist = self.sequence
       4         for each in changelist:
       5             self.sequence = changelist
       6             Arg = self.sequence.find('R')+1
       7             Lys = self.sequence.find('K')+1
       8             if each == 'R':
       9                 result.append(self.sequence[:Arg])
      10                 changelist = self.sequence[Arg:]
      11             elif each == 'K':
      12                 result.append(self.sequence[:Lys])
      13                 changelist = self.sequence[Lys:]
      14         if changelist != '':
      15             result.append(changelist)
      16         return result
    
  • 문제점 발견) 마지막 sequence가 R이나 K가 아니면 그 뒤에 sequence는 return이 되지 않는다.
  • 문제점 해결) return하기전에 sequence를 result에 추가하고, 추가할게 없는 result는 공문자열을 생성하는데, 그걸 if문으로 삭제했다.

amino acid sequence에서 chymotrypsin으로 절단한 부위 나타내기


2006-02-14

error 메시지를 자세히 보면서 풀면 잘 해낼 수 있다...

  • 문제점 해결) 일단 RNA의 class를 만든다. 그 다음 title과 sequence를 print로 찍어보면, 다음에 무엇을 해야할 지 알 수 있을 것이다.

RNA 서열 fasta 포맷 형식으로 출력하기...

  • 문제점 해결) RNA class에 DNA class에서 사용했던 parseFasta()를 사용

상속

  • DNA나 RNA는 서로 비슷하고 하는 일도 비슷한 것이 있다...이 때, 하는 일이 비슷한 함수를 부모 class에 묶어서 두는 것을 상속이라 한다.

새로운 문제

  • reversetranscription 하는 test code

   1 class RNA(NucleicAcid):
   2     def getcDNA(self):
   3         dna = DNA()
   4         dna.title = 'cDNA of ' + self.title
   5         dna.sequence = self.sequence.replace('U', 'T')
   6         return dna
  • tip) 함수를 만들었을 때, 중간중간 테스트 하다보면 AttributeError: 'NoneType' object has no attribute 'title' 이라는 에러코드가 뜬다. 이게 뜨는 이유는 함수에 return 값이 없기 때문이다...


2006-02-13

-1을 제외한 가장 작은 수를 구하는 함수를 만들어서 start codon을 구해서 code 작성.

  • 문제점 발견 : stop codon을 for문을 이용해서 하나씩 seq에 대입해서 code를 작성했더니, stop codon에서 멈추지 않고 끝까지 translation했다.
  • 이유 : 아마도 for문을 벗어나도 result문이 있기 때문인 것 같다.
  • 문제점 해결 : 일단 start codon code는 그대로 가고, start codon 이후의 seq에서 stop codon의 -1을 제외한 가장 작은 수를 구해서 stop codon이 있으면 stop codon을 3으로 나눈 수에 1을 더한 만큼 for문을 돌려서 translation했다.
  • tip) -1을 제외한 가장 작은 수 구하는 함수를 만들어 놓고, 다른 함수에서 쓰려고 한다. 이 때, 이 함수 역시 DNA()라는 class안에 있기 때문에 self.mymin()이라고 쓰면 된다.

새로운 문제

   1 def testGetRna(self):
   2     rna = self.dna.getRna()
   3     self.assertEquals('RNA of test', rna.title)
   4     self.assertEquals('AGUC', rna.sequence)

이 테스트 code를 통과하는 함수를 만들어라...


2006-02-10

계속해서 translation code 작성 중... - start codon이 여러개일때 가장 먼저 나오는 start codon을 찾아야 한다.

  • tip) 논리 연산을 이용해 차례대로 하나씩 비교해서 작은 수를 변수에 저장한다. 그런데, -1이 나오면 제외시켜야 한다.
  • 문제점 발견) [0]부분에 -1이 있으면 return 값이 -1이 나온다.
  • 문제점 해결) 배열을 sorted(배열, reverse=1)로 정렬한 다음 진행한다.


2006-02-08

translation code 작성

  • genetic code는 17개 정도로 종마다 다르다.
  • 이걸 함수 하나에 작성해야 한다.
  • tip) class를 써서 종마다 다른 부분(ProComp, icodon, tcodon)을 작성. 함수에는 translation하는 code를 작성하는데, 다른 부분은 class에서 따온다.


[../2006-03]

(->)


CategoryWebLogYong

parkpro/2006-02 (last edited 2011-08-03 11:00:55 by localhost)

web biohackers.net