Merge pull request #3 from oceanexplains/master Update to Swift 5.7
Merge pull request #3 from oceanexplains/master
Update to Swift 5.7
An attempt to create a set of freely available tools for biological computation written in pure Swift
Protein
This library is brand new with a lot of features missing, but it’s not entirely useless
.Package(url: "https://github.com/valdirunars/BioSwift.git", from: "0.0.1")
var genome: DNAGenome = "AGCTGCTTTGGCGCAATGATCGAGCTGCTTTGGCGCAATGATCGAGCTGCTTTGGCGCAATGATCGAGCTGCTTTGGCGCAATGATCG" !genome // "TCGACGAAACCGCGTTACTAGCTCGACGAAACCGCGTTACTAGCTCGACGAAACCGCGTTACTAGCTCGACGAAACCGCGTTACTAGC" genome.reverseComplement() // "CGATCATTGCGCCAAAGCAGCTCGATCATTGCGCCAAAGCAGCTCGATCATTGCGCCAAAGCAGCTCGATCATTGCGCCAAAGCAGCT" genome.indicesOfMinimalSkew(increment: .a, decrement: .t) // [ 74, 75, 76, 77, 78, 79 ] genome.mostFrequentPattern(length: 2) // "GC" genome = "ACGTTGCATGTCGCATGATGCATGAGAGCT" genome.mostFrequentPatterns(length: 4, maxDistance: 1) // [ "GATG", "ATGC", "ATGT" ] genome = "AGT" genome.neighbors(maxDistance: 1) // [ "AGT", "CGT", "TGT", "GGT", "ACT", "AAT", "ATT", "AGA", "AGC", "AGG" ] let genomes: [DNAGenome] = [ "CTTTTAGTGGTATTAAGGGTGCCCA", "ATTCTAGCCCTATAAGCAATCACTC", "GAATGAATATACTCTGACAATATCA", "GCTTGCCGGGATTCACACACTATGA", "CTGTGTATTAGACGAACTTAAGTCC", "CAATATGAGCGTTAGGGAGCTATAA", "CGTAGTATGAAAGCGCTCCCTTCCT", "ACATTTATAAGGAGTATGGCAGTAG", "ATGAGACTCGCACTCTATGATGGCC", "ATGGATGCAATATTAGCGGCTAAAT" ] genomes.motifs(length: 5, maxDistance: 1) // [ "ATTAT", "TATAA", "TATCA", "TATGA", "TATTA" ] genome = "AGCATGGGCCCAAACTTTCATAAGCCGGAGCAATGCC" genome.transcribe() // RNAGenome("AGCAUGGGCCCAAACUUUCAUAAGCCGGAGCAAUGCC") genome.transcribe() // DNAGenome("AGCATGGGCCCAAACTTTCATAAGCCGGAGCAATGCC") let protein: Protein = genome.translate() // "MGPNFHKPEQ"
let fastaURL = URL(string: "../genome.fasta")! var fastaFileData: Data! = Data(contentsOf: fastaURL) let genomes: [DNAGenome]? = try! DNAGenome.decode(fastaFileData, type: .fasta) let proteinFastaURL = URL(string: "../protein.fasta")! fastaFileData = Data(contentsOf: proteinFastaURL, type: .fasta) let proteins: [Protein]? = try! Protein.decode(fastaFileData)
let genome: DNAGenome = "ACGT" let data: Data? = genome.encode(.fasta)
let genome: DNAGenome = "ACGT" let compressed: Data! = genome.compress(.bigIntCompress) let decompressed: DNAGenome = DNAGenome.decompress(data: compressed, type: .bigIntCompress)
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
Description
An attempt to create a set of freely available tools for biological computation written in pure Swift
Features
Protein
)How To Use
This library is brand new with a lot of features missing, but it’s not entirely useless
Swift Package Manager
Sequencing
Init sequences from FASTA file
Encode sequences to FASTA
Compression