PostgreSQL에서 일반적인 Google 검색 조건을 적용하지 않았거나 문제를 가장 잘 정의하지 못하는 것으로 보입니다. 방법. 저는 PostBIS와 PostBio에 대해 알고 있습니다. 그러나 이것들은 서열 관계를 적용하는 것이 아니라 서열 관계를 찾는 데 더 중점을 두는 것 같습니다.PostgreSQL에서 정렬 된 1D 배열을 마스킹하고 매핑하기
이 마스킹 : 내가 처음을 찾고
원시적 인 기능의 라인을 따라있는 배열 1의 문자의 1..N과 (부울 당량)의 1..N를 array2는 주어진 인 array3를 반환 array2에 의해 마스킹 된 array1 (array2의 'array'가 'false'인 곳에서 array1의 열을 제거하거나 연결하는 것). array2는 전체 n 개의 열 대신 시작 및 끝 위치 일 수 있습니다.
매핑 : 주어진 array1 1..n, array2 1..m 및 몇 가지 매핑. array1의 열 10은 array2의 열 28이고, 반환 된 배열 3은 매핑 된 array1 위치에 배열 2 값을가집니다. 다시 위와 같이 매핑 구현은 각 방향으로 전체 n 및 m 열 맵 대신 정렬 된 세그먼트의 시작 및 끝 위치가 될 수 있습니다.
예를 들어 다음과 같은 데이터베이스 테이블에서이를 수행 할 수 있습니다. sequenceID, sequenceIndex 및 alignMap 열이 있지만 데이터베이스에 액세스하는 소프트웨어가 대개 전체 시퀀스 청크에서 작업하기를 원할 때 인덱싱 및 조인 할 수있는 방대한 수의 행 (시퀀스 위치 당)이 생성되는 것처럼 보입니다.
내가 고려해야 할 기존 모듈 또는 접근법이 있습니까? 불충분하고 array_agg가있는 우아한 표현 (윤곽을 말하십시오)? PostgreSQL의 배열은 새로운 것이지만, 데이터베이스 내부의 처리가 종종 예를 들어 외부보다 빠르다는 것을 배우고 있습니다. 펄 내 현재 PostgreSQL 버전은 9.1이지만 곧 9.2로 이동할 예정입니다.
이 응용 프로그램은 단백질 시퀀스 A가 구조 Z에 정렬되므로 A의 기능 'x'는 Z에서 어디에 표시됩니까?