Skip to content

jlboat/gradleFastaUtils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastaUtils

Build Status codecov.io Code Coverage GitHub license issues jitpack

Use

This package was designed to facilitate biological sequence manipulation.

Build

git clone https://github.com/jlboat/FastaUtils
cd FastaUtils
mvn package

Or see JitPack link above

Examples (run in JShell)

In terminal:

export CLASSPATH="./target/FastaUtils-1.0-jar-with-dependencies.jar"
jshell -c "./target/FastaUtils-1.0-jar-with-dependencies.jar"

In JShell:

Working with DNA

jshell> import com.github.jlboat.fastautils.DNA;

jshell> DNA dna = new DNA("ACTGCATGCTGACTGATCGAT");
dna ==> ACTGCATGCTGACTGATCGAT

jshell> dna.getNucleotideCount()
$3 ==> int[7] { 5, 5, 5, 6, 0, 0, 0 }

jshell> dna.reverseComplement()
$4 ==> "ATCGATCAGTCAGCATGCAGT"

jshell> dna.getKmers(18)
$5 ==> String[4] { "ACTGCATGCTGACTGATC", "CTGCATGCTGACTGATCG", "TGCATGCTGACTGATCGA", "GCATGCTGACTGATCGAT" }

Working with RNA

jshell> import com.github.jlboat.fastautils.RNA;

jshell> RNA rna = new RNA("ACUGCAUGCUGACUGAUCGAU");

Working with FASTA files

jshell> import com.github.jlboat.fastautils.Fasta;
jshell> import com.github.jlboat.fastautils.FastaUtils;
jshell> Fasta fasta = new Fasta("DNA.fasta","DNA");
fasta ==> DNA.fasta contains 50 entries

jshell> fasta.containsAmbiguous() // Check for characters other than { ACGTN- }
$4 == > false

jshell> fasta.toFile("New_DNA.fasta", 60)  // optionally takes characters per line -- ex. 60

jshell> Set<String> keys = fasta.getKeys()
keys ==> [>asmbl_477, >asmbl_1949, >asmbl_61, >asmbl_1533, ... >asmbl_1885, >asmbl_1469]

jshell> Collection<Sequence> values = fasta.getValues()
values ==> [ATGGTTCACCACCATCGCCACCACCCCCCAGCAGCAGCGGAGCAAGTAT ... GGTGCATCATTTATGTTTGGAAGATT

Static utilities for FASTA files

jshell> FastaUtils.stats(fasta)
$8 ==> {Count=50, Minimum=189, Maximum=7047, Median=900.0, Mean=1112.74, N50=1341}

jshell> FastaUtils.minLength(fasta) // also, maxLength, medianLength, meanLength
$9 ==> 189

jshell> FastaUtils.nX(fasta, 90) // ex. N90 or any NX between 0-100
$10 ==> 522

About

Utilities for working with FASTA files

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages