Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Сортировка VCF и BED по хромосоме и позиции #5

Closed
PlatonB opened this issue Apr 5, 2020 · 1 comment
Assignees
Labels
bug Something isn't working enhancement New feature or request

Comments

@PlatonB
Copy link
Owner

PlatonB commented Apr 5, 2020

Думаю над более конкретной фичей, чем #3.

Для VCF это не просто эстетическая штука, а обязательное требование. Что касается BED, там несортированность не смертельна, но снижает производительность некоторым программам (например, bedtools).

Реализация:

  1. create_db должен создавать компаундный индекс по первым двум (VCF) или трём (BED) полям. Без него парсеры при попытке сортировки по этим полям будут крайне тормозить и даже вылетать. Но от возможности создания раздельных индексов по упомянутым полям отказываться не хотелось бы. Я экспериментально убедился в том, что MongoDB разрешает совмещать несколько индексов для одного поля. Но предстоит ещё разобраться, как такое влияет на производительность запросов. Не запутается ли MongoDB при их выполнении? UPD-11.04.2020: не запутается.
  2. reindex_db. Возможно, будет полезен запрет на удаление обсуждаемого составного индекса.
  3. annotator, intersect_subtract, make_request. sort() для курсора и $sort в aggregation pipeline. UPD-18.04.2020: $sort надо держать в конце пайплайна, чтобы тот не мешал предыдущим звеньям использовать индекс. Сам он при этом индексом пользоваться не сможет, что должно частично компенсироваться режимом внешней сортировки.
@PlatonB PlatonB self-assigned this Apr 6, 2020
@PlatonB PlatonB added bug Something isn't working enhancement New feature or request help wanted Extra attention is needed labels Apr 6, 2020
PlatonB added a commit that referenced this issue Apr 9, 2020
- VCF, BED: обязательная индексация полей с хромосомами, позициями и (для VCF) идентификаторами мутаций. Индекс хромосом и позиций - составной. Исследователь по-прежнему может добавлять произвольные одиночные индексы. Этот релиз даёт начало решению Issue #5.
PlatonB added a commit that referenced this issue Apr 9, 2020
- В случае, если имеются составные индексы (привет Issue #5), будет выводиться корректный набор имён проиндексированных полей.
@PlatonB PlatonB removed the help wanted Extra attention is needed label Apr 10, 2020
PlatonB added a commit that referenced this issue Apr 11, 2020
Программа аннотирования, V3.0
Программа пересечения и вычитания, V3.0
Программа, упрощающая поиск, V2.0

- Реализация #5 для парсеров.
@PlatonB
Copy link
Owner Author

PlatonB commented Apr 11, 2020

Сделано.

@PlatonB PlatonB closed this as completed Apr 11, 2020
PlatonB added a commit that referenced this issue Apr 25, 2020
- Построение compound-индексов. На данный момент в _high-perf-bio_ такой тип индексов пригождаются для сортировки (#5) и пересечения/вычитания по локализации в геноме.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant