Repository

v-bio

A pure V library with tools for computational molecular biology

v-bio is a library that provides a set of tools for computational molecular biology purposes. v-bio is heavily based on existing bio tools for Python - biopython (DISCLAIMER: it is not a port). There are many similarities between biopython and v-bio, therefore biopython users should not have any problems with adaptation to v-bio (besides knowing the vlang itself)

Installation

Via vpm

$ v install phenolophthaleinum.bio

or

$ v install --git --once https://github.com/phenolophthaleinum/v-bio

Via vpkg

$ vpkg get https://github.com/phenolophthaleinum/v-bio

Examples

Import

import phenolophthaleinum.bio

Parsing FASTA file

mut records := bio.parse_fasta('seqs.fna') // parses FASTA file into list of Record objects
println(records[0])
/*
bio.Record{
    id: 'NR_112116.2'
    name: 'NR_112116.2'
'   description: 'Bacillus subtilis strain IAM 12118 16S ribosomal RNA, subseq
    seq:     bio.Seq(TTATCGGAGAGTTTGATCCTGGCTCAGGACGAACGCTGGCGGCGTGCCTAATACATGCAAGTCGAGCGGA
CAGATGGGAGCTTGCTCCCTGATGTTAGCGGCGGACGGGTGAGTAACACGTGGGTAACCTGCCTGTAAGA
CTGGGATAACTCCGGGAAACCGGGGCTAATACCGGATGGTTGTTTGAACCGCATGGTTCAAACATAAAAG
)
}
*/

Sequence tools

mut myseq := bio.Seq('TTATCGGAGAGTTTGATC')
println(myseq.count('GA')) // using built in `count()` - prints `3`
println(myseq.contains_any('N'))) // using built in `contains_any()` - prints `false`
println(myseq.index('TC')?) // using built in `index()` - prints `3`
println(myseq.complement()) // using bio function; returns complementary sequence - `AATAGCCTCTCAAACTAG`
println(myseq.reverse_complement()) // prints `GATCAAACTCTCCGATAA`
println(myseq.transcribe()) // prints `UUAUCGGAGAGUUUGAUC`
println(Seq('T-ATCGGA---TTT-ATC').ungap('-')) // prints `TATCGGATTTATC`
println(myseq.join(["ATA", "CGT"]) // prints `ATATTATCGGAGAGTTTGATCCGTTTATCGGAGAGTTTGATC`

About

0
63
last May 7

Author

phenolophthaleinum