1 个不稳定版本
使用旧的Rust 2015
0.1.0 | 2016年6月4日 |
---|
#5 in #amino
19KB
343 行
transcriptome_translator
将核酸序列转换为氨基酸序列。(RNA和DNA,移动阅读框并反向)
接受一个核酸序列的FASTA文件,并输出另一个包含氨基酸的FASTA文件。
反序列化使用nom完成。
使用线程池来利用硬件进行扩展,nom完成解析任务后,线程空闲时将任务分配为线程,然后将文件写入fasta格式的文本文件。
警告:您必须将main.rs编辑为/home/user/transcriptome_translator/test/test-nucleo.FASTA才能正常运行,因为它会因为加载文件到memmap的unwrap而崩溃。
编译时间说明
在repo中包含test/test-nucleo.FASTA,这些是用于测试目的的测试FASTA编码序列数据。要编译数据,请找到fn start_parse()中文件的位置,并修改路径以满足您的需求,目前仅在Linux上运行。
路径必须是完整的,例如“/home/user/transcriptome_translator/test/test-nucleo.FASTA”
注意事项(有很多)
FASTA编码必须解码为UTF-8兼容格式。
##TODO
- 使用nom的fold_many_0!允许在完成时解析反序列化结构,而不是等待类型向量。
- 通过修复camel_casing和其他警告来删除警告。
- 从main.rs中删除FASTA解析器并将其移到自己的文件夹/repo中。
- 完成FASTA规范以包括对分号的支撑。
- 创建一个解析器以反向读取FASTA,从而消除对vec.reverse()的需求,这应该使用另一个线程来完成。
#贡献者
最后但并非最不重要的是
依赖关系
~3.5MB
~77K SLoC