반응형

Programing 146

R - graph (Network) plot, 네트워크 그래프

/* * http://sosal.kr/ * made by so_Sal */ - Graph data 그래프 데이터의 표현방식은 다양하다. 1. Adjacency matrix (인접행렬) # 데이터는 아무런 의미가 없는, 제가 마음대로 만든 matrix 입니다. ALK AMN DMRTA1 SOX2 PCDHA8 OR52A5 IQCB1 ALK 0 1 0 1 0 1 0 AMN 1 0 1 1 0 1 0 DMRTA1 0 1 0 0 0 0 0 SOX2 1 1 0 0 1 1 0 PCDHA8 0 0 0 1 0 1 0 OR52A5 1 1 0 1 1 0 1 IQCB1 0 0 0 0 0 1 0 인접행렬은 column, row의 구성이 같아야 하며 n by n matrix를 이룬다. 따라서 column, row에 있는 목록이 곧..

R에서 특정 문자, 문자열 제거하기

/* * http://sosal.kr/ * made by so_Sal */ find0 라는 파일에 integer pair가 저장되어 있는데 끝에 " 라는 문자때문에 프로그래밍 안에서 바로 연산을 할 수 없는 상황이었습니다. [sosal@sosalr tmp]$ head ./find0 8 1540" 8 3436" 8 3454" 8 6484" 8 6760" 8 7291" 8 7921" 8 7984" 8 10331" 8 10993" pair head(pair) V1 V2 1 8 1540" 2 8 3436" 3 8 3454" 4 8 6484" 5 8 6760" 6 8 7291" > typeof(pair[1,1]) [1] "integer" > typeof(pair[1,2]) [1] "character" > inte..

Python - 도형 class를 이용한 상속 예제

/* * http://sosal.kr/ * made by so_Sal */ Vehicle 객체에서 기본적인 동작을 미리 구현하여 Car, Truck, Motocycle 등의 class를 구현할 때, 이미 기본적인 뼈대가 구현 된 vehicle 객체를 상속받음으로써 지역변수, 함수 등의 리소스들를 재활용 할 수 있다. 마찬가지로 도형에서도 shape라는 뼈대 class 객체를 미리 구현해 둔다면 Rectangle, triangle, Circle 등을 구현할 때, 자료를 재활용 하므로써 편하게 프로그래밍 할 수 있다. - Shape class 기본적으로 width, height 2가지 변수를 float으로 입력 받아 데이터를 생성하는 생성자를 가진다. getWidth(), setWidth() 등의 gette..

Python - 미국형 날짜구분자, 유럽형으로 바꾸기

/* * http://sosal.kr/ * made by so_Sal */ 미국은 mm/dd/yy 순서로 날짜를 표현합니다. 예를들어 2015년 06월 03일은 6/3/15 정도로 표현됩니다. 하지만 유럽은 dd/mm/yy 순서로 날짜를 표현합니다. 그리고 한자리 숫자의 경우 꼭 10의 자리에 0을 붙여줍니다. 2015년 06월 03일은 03/06/15 정도로 표현됩니다. python으로 미국형 날짜순서를 유럽형으로 바꾸는 코드입니다. ex1 ) Input: 6/3/15 output: 03/06/15 ex2 ) input: 01/29/13 output: 29/01/13 __author__= "sosal" def europeanize(date): days = date.split('/') # /으로 구분되어..

Java에서 -Xmx 옵션의 의미

/* * http://sosal.kr/ * made by so_Sal */ JAVA application에서 실행하는 예들 중 명령어 사이에 다음과 같은 옵션이 있는 경우가 있다. ex) $JAVA -Xmx1024m -jar $Programs/myProgram.jar O=result.dict -Xmx 라는 옵션은 'set maximum Java heap size' 힙사이즈의 최대를 결정해주는 옵션이다. 기본적으로 JAVA는 default 값으로 heap 메모리를 최대 64mb만큼 잡는다. 즉 64메가가 넘는 동적 변수를 가질 수 없다는 의미이다. 따라서 큰 데이터를 메모리에 올릴 때, -Xmx1024m 처럼 최대 1기가, 혹은 그 이상 잡을 수 있도록 설정해주어야 한다. ex) 다음은 Maximum ja..

병렬 프로그래밍을 이용한 For loop 속도향상

/* * http://sosal.tistory.com/ * made by so_Sal */ 1. CPU core 개수 확인하기2. OMP_NUM_THREADS 환경변수 추가하기3. Visual studio / OpenMP 설정하기4. For loop 속도 test 더블코어 이상의 CPU에서 for loop를 돌릴 때는일반적으로 하나의 cpu 코어만 사용하기 때문에 컴퓨터의 성능을 최대 활용하지 못합니다. 듀오 혹은 그 이상의 다중코어 CPU를 사용하는 프로그래머들은병렬 프로그래밍을 사용한다면 훨씬더 빠르게 실행할 수 있습니다. 1. CPU core 개수 확인하기 컴퓨터의 코어 개수를 확인하기 위해서는 내컴퓨터의 속성을 들어가시면 아래와 같이 확인 가능합니다. 제 싸구려 노트북은 듀오네요. 즉 2개의 코어..

Python - Sequence 소수성 및 제한효소 인지부분 자르기

/* * http://sosal.kr/ * made by so_Sal */ Python 간단한 실습강의에서 나왔던 연습문제들을 소개하고자 합니다. exercise1: 연속적으로 Hydrophobic한 아미노산(Amino acid)이 연속적으로 나오는지를 판별하는 프로그램을 구현한다. exercise2: 제한효소가 있는 부위를 잘라서 line별로 출력하라. exercise1. 입력된 Sequence가 Hydrophobic인지 검사하라. - 다음 7개의 아미노산 FILAPVM은 Hydrophobic한 아미노산이다. - 이 아미노산들이 연속적으로 나온다면 Hydrophobic이라고 한다. - 연속적으로 7개 이상의 Hydrophobic한 아미노산이 나오면 Strong hydrophobic signal을 출력한..

Pycharm font 변경하는방법

/* * http://sosal.kr/ * made by so_Sal */ Pycharm을 사용하다가 글자크기가 작고 라인크기도 커서 바꾸려고 했는데 이상하게 edit, view를 아무리 뒤져봐도 preference가 안보이더라구요. 1. pycharm에서 이렇게 메인창이 보인다면 왼쪽 상단의 file 탭을 클릭합니다. 2. file tab 안의 setting을 클릭하세요. 3. setting에서 뜨는 팝업에서 Editor -> Colors & Fonts -> Font를 누릅니다. 그러면 우측에 폰트변경하는 칸이 보이는데, 이때 font size와 Line spacing같은게 수정이 안됩니다. 빨간 네모칸을 친 Save As... 부분을 누르시고 저장을 하셔야 합니다. 4. 이렇게 Name을 지정해주시고..

반응형