참조하세요: https://github.com/DominikBuchner/BOLDigger3
www.boldsystems.org의 COI 데이터베이스에 대해 .fasta 파일을 쿼리하는 훨씬 더 나은 Python 프로그램
DNA 메타바코딩 데이터 세트는 수백 개의 OTU(운영 분류 단위)로 구성되는 경우가 많으며 분류 할당을 위해 데이터베이스에 대한 쿼리가 필요합니다. 생명 바코드 데이터 시스템(bold)은 생물학자들 사이에서 이러한 목적으로 널리 사용되는 데이터베이스입니다. 그러나 bold의 온라인 플랫폼은 사용자가 한 번에 50개의 시퀀스 배치만 식별할 수 있도록 제한합니다. 또한 bold의 API를 사용하면 비공개 및 초기 릴리스 데이터에 대한 액세스를 제공하지 않으므로 이 문제가 완전히 해결되지 않습니다.
boligger2의 후속작인 boligger2는 이러한 한계를 극복하는 것을 목표로 합니다. 순수 Python 프로그램인 BOLDigger2는 다음을 제공합니다.
boligger2는 이러한 기능을 활용하여 OTU 식별 프로세스를 간소화하여 더욱 효율적이고 포괄적으로 만듭니다.
identify
사용합니다. 이를 통해 파이프라인에 직접 구현할 수 있습니다.identify
함수는 식별할 FASTA 파일의 경로라는 단일 인수만 허용합니다. 모든 결과를 동일한 폴더에 저장합니다.BOLDigger2에는 Python 버전 3.10 이상이 필요하며 모든 명령줄에서 pip를 사용하여 쉽게 설치할 수 있습니다.
pip install boldigger2
이 명령은 모든 종속성과 함께 BOLDigger2를 설치합니다.
식별 기능을 실행하려면 다음 명령을 사용하십시오.
boldigger2 identify PATH_TO_FASTA
생물정보 파이프라인에서 식별 기능을 자동화하기 위해 굵게 표시된 자격 증명을 선택적 인수로 직접 전달할 수도 있습니다.
boldigger2 identify PATH_TO_FASTA -username USERNAME -password PASSWORD
사용자별 요구 사항에 맞게 구현된 임계값을 맞춤화하기 위해 임계값을 추가(정렬된) 인수로 전달할 수 있습니다. 다양한 분류 수준(종, 속, 과, 목, 강)에 대해 최대 5개의 서로 다른 임계값을 전달할 수 있습니다. 통과되지 않은 임계값은 기본적으로 대체되지만 BOLDigger2도 이에 대해 알려줍니다.
boldigger2 identify PATH_TO_FASTA -thresholds 99 97
산출:
19:16:16: Default thresholds changed!
19:16:16: Species: 99, Genus: 97, Family: 90, Order: 85, Class: 50
19:16:16: Trying to log in.
BOLD username:
BOLDigger2는 사용자 이름과 비밀번호를 묻는 메시지를 표시한 다음 식별을 수행합니다.
새 버전이 출시되면 다음을 입력하여 BOLDigger2를 업데이트할 수 있습니다.
pip install --upgrade boldigger2
Buchner D, Leese F(2020) boligger – Barcode of Life Data 시스템을 사용하여 시퀀스를 식별하고 구성하는 Python 패키지입니다. 메타바코딩 및 메타게노믹스 4: e53535. https://doi.org/10.3897/mbmg.4.53535
BOLDigger2 알고리즘은 다음 순서도에 따라 작동합니다.
굵게 로그인:
종 수준 바코드에 대한 다운로드 링크 생성:
상위 100개 히트곡 다운로드:
"top_100_hits_unsorted"
키를 사용하여 결과를 HDF 저장소에 저장합니다.종 수준 히트 없이 시퀀스 식별:
모든 기록에 대한 다운로드 링크 생성:
모든 레코드에 대한 상위 100개 히트곡 다운로드:
"top_100_hits_unsorted"
키를 사용하여 결과를 HDF 저장소에 저장합니다.인기 항목 정렬 및 저장:
"top_100_hits_sorted"
키를 사용하여 HDF 저장소에 저장합니다.추가 데이터 저장:
"top_100_hits_additional_data"
키를 사용하여 추가 데이터를 포함한 조회수를 HDF 저장소에 저장합니다.추가 데이터를 Excel로 내보내기:
최고 조회수 계산 및 저장:
identification_result.xlsx
) 및 Parquet 형식( identification_result.parquet.snappy
)으로 저장합니다.분류학적 수준에 대한 다양한 임계값(97%: 종 수준, 95%: 속 수준, 90%: 가족 수준, 85%: 순서 수준, <85% 및 >= 50: 클래스 수준)을 사용하여 가장 적합한 히트를 찾습니다. . 모든 히트에 대한 임계값을 결정한 후 임계값보다 높은 가장 일반적인 히트가 선택됩니다. 임계값 아래의 모든 히트에 대해 분류학적 해상도가 그에 따라 조정됩니다(예: 96% 히트의 경우 종 수준 정보가 삭제되고 속 수준 정보가 가장 낮은 분류학적 수준으로 사용됩니다).
BOLDigger2 알고리즘은 다음과 같이 작동합니다.
최대 유사성 식별 : 현재 고려중인 상위 100개 히트 중에서 최대 유사도 값을 찾습니다.
임계값 설정 : 임계값을 이 최대 유사성 수준으로 설정합니다. 이 임계값 미만의 유사성을 갖는 모든 적중을 제거합니다. 예를 들어, 가장 높은 적중의 유사도가 100%인 경우 임계값은 97%로 설정되고 이 임계값 미만의 모든 적중은 일시적으로 제거됩니다.
분류 및 정렬 : 모든 개별 분류를 세고 풍부함을 기준으로 정렬합니다.
누락된 데이터 필터링 : 누락된 데이터가 포함된 모든 분류를 삭제합니다. 예를 들어, 가장 일반적인 히트가 "절지동물 --> 곤충"이고 유사성은 100%이지만 목, 과, 속 및 종에 대한 값은 누락된 경우입니다.
공통 히트 식별 : 누락된 값이 없는 가장 일반적인 히트를 찾습니다.
Return Hit : 누락된 값이 없는 적중이 발견되면 해당 적중을 반환합니다.
임계값 조정 : 누락된 값이 없는 적중이 발견되지 않으면 임계값을 다음으로 높은 수준으로 높이고 적중이 발견될 때까지 프로세스를 반복합니다.
BOLDigger2는 특정 조건을 강조하기 위해 플래그 지정 시스템을 사용하여 선택한 히트의 불확실성 정도를 나타냅니다. 현재 5개의 플래그가 구현되어 있으며 필요에 따라 업데이트될 수 있습니다.
역방향 BIN 분류법 : 선택한 일치 항목을 나타내는 상위 100개 히트가 모두 역BIN 분류법을 사용하는 경우 이 플래그가 발생합니다. 역방향 BIN 분류법은 종 정보가 부족한 굵게 표시된 시퀀스에 종 이름을 할당하여 잠재적으로 불확실성을 야기합니다.
서로 다른 분류학적 정보 : 선택한 임계값을 초과하는 서로 다른 분류학적 정보를 가진 두 개 이상의 항목이 있는 경우(예: 97%를 초과하는 두 종) 잠재적인 불일치를 암시하는 이 플래그가 트리거됩니다.
비공개 또는 초기 릴리스 데이터 : 상위 히트를 나타내는 상위 100개 히트가 모두 비공개 또는 초기 릴리스 히트인 경우 이 플래그가 발생하여 데이터에 대한 액세스가 제한됨을 나타냅니다.
고유 적중 : 이 플래그는 최고 적중 결과가 상위 100개 적중 중 고유 적중을 나타내며 잠재적으로 추가 조사가 필요함을 나타냅니다.
다중 BIN : 선택한 종 수준 히트가 둘 이상의 BIN으로 구성된 경우 이 플래그가 발생하여 분류학적 할당에 잠재적인 복잡성이 있음을 나타냅니다.
이러한 플래그가 있는 경우 선택한 히트의 불확실성을 더 잘 이해하고 해결하기 위해 플래그가 지정된 모든 히트를 자세히 조사하는 것이 좋습니다.