Nim Library for sequence (protein/nucleotide) bioinformatics
nimble install nimbioseq
Search: Group by: Section Type - Imports - Types - Record - Procs - reverseComplement - toFasta - toFastq - length - kmer2num - num2kmer - toKmerFrequency - gc - ambiguous - translate - Iterators - compressedLines - readFasta - readFastq - readSeqs Nim routines for processing DNA/RNA/Protein sequences IMPORTS sequtils, strutils, math, tables, osproc, streams TYPES Record* = object id*: string description*: string quality*: string sequence*: string This type represents a genetic sequence with optional quality PROCS proc reverseComplement*(self: Record): Record proc toFasta*(self: Record; lineLength = 60): string returns FASTA formatted string of sequence record proc toFastq*(self: Record; qualityValue = 0): string returns FASTQ formatted string of sequence record with optional quality value to be applied to sequence proc length*(self: Record): int returns length of sequence proc kmer2num*(kmer: string): int converts a kmer string into an integer 0..4^(len-1) proc num2kmer*(num, klen: int): string converts an integer into a kmer string given the number and length of kmer proc toKmerFrequency*(self: Record; klen: int; includeComplement = false): seq[int] returns (overlapping) kmer frequencies of a nucleotide sequence proc gc*(self: Record): int returns the number of bases that are G or C proc ambiguous*(self: Record): int returns the number of bases that are not AGCTU proc translate*(self: Record; code = 1): Record translates a nucleotide sequence with the given genetic code number ITERATORS iterator compressedLines*(filename: string): string iterator to read lines of a (maybe) compressed text file transparently iterator readFasta*(filename: string): Record iterator to iterate over the FASTA records in a file iterator readFastq*(filename: string): Record iterator to iterate over the FASTQ records in a file iterator readSeqs*(filename: string): Record Made with Nim. Generated: 2017-10-27 17:47:31 UTC