biocad / cobot-io

Biological data file formats and IO
BSD 3-Clause "New" or "Revised" License
1 stars 6 forks source link

cobot-io for programmers #47

Open ozzzzz opened 3 years ago

ozzzzz commented 3 years ago

На текущий момент пользоваться типом Sequence не очень удобно. В этом issue мы постараемся собрать все пожелания и хотелки, которые бы сделали работу с этим типом более удобной.

Непонятные ошибки парсера

Парсер attoparsec быст, но имеет очень скудные ошибки. Мы когда-то на него перехали с megaparscec. Возможно, мы допустили ошибку и стоит пожертвовать скоростью ради понятности ошибок.

Добавить моноид для всего семейства Sequence

Сейчас нельзя создать пустой BasecalledSequenceWithRawData одним мановением руки. А иногда это нужно и хочется.

Возможность работать с Sequence как со списком

Во многих алгоритмах (например, из cobot-tools) нужно работать с последовательностями как со списками (filter, partition, group, pattern matching и т.д.). Нужно подумать, хотим ли мы поддержать всю эту работу в Sequence или сделаем удобную конвертацию в/из списка и обратно.

Убрать MonadFail при чтении файлов

Сейчас используется  MonadFail, отловить ошибки которого очень сложно (или я заблуждаюсь?). Хочется иметь простую возможность прочитать файл и обработать ошибку, если она возникла. Как самый простой вариант: MonadIO m => m (Either Text a).

Сделать работу с IO однотипно

Сейчас для каждого типа чтение и записать в файлы (если есть) написаны для каждого формата по-разному. Хочется вынести это во что-то стандартное