본문 바로가기

Bioinformatics61

BWT의 복원성 본 내용은 http://www.homolog.us/Tutorials/index.php?p=2.8&s=6을 번역한 것이다. BWT의 복원성 우리는 BWT가 복원 가능함을 언급했었다. 우리는 어떻게 다음 서열로 부터 'homolg.us$'를 복원할 것인가? 우리는 위의 서열이 BWT를 생성하기 위해서 행렬의 마지막 열에서부터 생성된 서열임을 알아야 한다. 그러나 우리는 또한 다른 열인 첫번째 열을 안다. 첫번째 열은 사전순으로 정렬된 마지막 열에 있는 모든 문자들을 가지고 있다. 이 밖에 우리는 어떤 것을 알고 있나? 우리는, 원래 서열에서, 첫번째 열에 있던 문자들이 마지막 열의 다음에 나오는 문자들임을 알고 있다. 그러므로, 우리는 원래의 서열에서 '$'는 's' 다음에 나오고, '.'은 'g' 다음에 .. 2014. 9. 17.
BWT(Burrows Wheeler transform)의 후-전 특성 버로우즈 휠러 변형의 LF 특성은 이전에 언급한 BCR 알고리즘을 이해하기 위해서 매우 중요하다. 본인도 이를 알지 못한 상태에서 코드와 논문을 이해하다 보니 뭔가 빠진 듯한 느낌이 들었는데.. 이제야 알게 되어서 이를 정리해둔다. 이 내용은 http://www.homolog.us/Tutorials/index.php?p=2.7&s=6에서 가져왔다. 후-전(LF) 특성왜 BWT가 유용한가?만약 매우 긴 서열을 변환한다면, BWT는 유사한 문자들을 모이게 하고, 더 압축을 할 수 있도록 해준다. 예를 들어, 변형된 서열에서, 두개의 'o'가 가 같이 오고, 세번째 o도 가까이에 있게 된다.BWT의 두번째 특성은 염기 검색 수행에 유용하다. 이것은 후-전 사상(LF mapping)이라고 불린다. 그것을 설명하.. 2014. 9. 17.
memcpy 성능 평가 본 글은 http://mail-index.netbsd.org/tech-perform/2002/10/16/0000.html 에서 가지고 왔다. Subject: Performance of various memcpy()'s To: None From: Bang Jun-Young List: tech-perform Date: 10/16/2002 04:18:30 --mYCpIKhGyMATD0i+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, About 14 monthes ago, I had some discussion on memcpy performance on i386 platform here. Monthes later, I t.. 2014. 9. 11.
메모리 룩업 테이블 구성(cache) 가장 빠른 방식은 배열이다. 이 방식은 요소의 갯수가 적을 때 유용하다. 다만, 이 배열 방식은 키에 해당 하는 값의 상한 값 만큼의 메모리를 요구한다. uint64_t look_up[64]; 상한 값이 큰 경우에는 해시맵을 이용할 수 있다. 키와 값 쌍을 선언하면 된다.hash_map look_up; 다른 방법으로는 pair의 배열이나 벡터를 생성하고 이를 정렬한 후에 이진 검색하는 방법이 있다. #include #include #include #include #include const int N = 16000; typedef std::pair CALC; CALC calc[N]; static inline bool cmp_calcs(const CALC &c1, const CALC &c2) { return.. 2014. 9. 5.