Package org.snpeff.interval
Class Genome
- java.lang.Object
-
- org.snpeff.interval.Interval
-
- org.snpeff.interval.Marker
-
- org.snpeff.interval.Genome
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.lang.Comparable<Interval>
,java.lang.Iterable<Chromosome>
,TxtSerializable
public class Genome extends Marker implements java.io.Serializable, java.lang.Iterable<Chromosome>
This is just used for the Interval class. It is NOT a representation of an entire genome.- Author:
- pcingola
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.snpeff.interval.Interval
chromosomeNameOri, end, id, parent, start, strandMinus
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(Chromosome chromo)
Add a chromosomejava.util.List<java.lang.String>
chromosomeNamesSorted()
Get a sorted list of chromosomesstatic Genome
createFromFaidx(java.lang.String genomeName, java.lang.String faidxFile)
Create a genome from a faidx file.java.lang.String[]
getChromoFastaFiles()
Chromosome
getChromosome(java.lang.String chromoName)
Find chromosome 'chromoName'int
getChromosomeCount()
java.util.Collection<Chromosome>
getChromosomes()
java.util.List<Chromosome>
getChromosomesSortedSize()
Return chromosomes sorted by size (largest chromosomes first)CytoBands
getCytoBands()
Genes
getGenes()
java.util.List<Gene>
getGenesSorted()
Create a sorted list of genes (sorted by gene Id)java.util.List<Gene>
getGenesSortedPos()
Create a sorted list of genes (sorted by genomic position)java.lang.String
getGenomeId()
GenomicSequences
getGenomicSequences()
Chromosome
getOrCreateChromosome(java.lang.String chromoName)
Get or create a chromosomejava.lang.String
getSpecies()
java.lang.String
getVersion()
boolean
hasChromosome(java.lang.String chromo)
Is this chromosome in this genome?boolean
hasCodingInfo()
boolean
hasTranscriptSupportLevelInfo()
Do we have coding info from genes?boolean
isMostExonsHaveSequence()
Do most exons have sequence? This is an indicator that something went really bad building the database.java.util.Iterator<Chromosome>
iterator()
long
length()
Total genome length: add all chromosomesboolean
readGenomeSequence(java.lang.String fastaFile)
Read the whole genome sequence into memoryvoid
remove(Chromosome chromo)
Remove a chromosome WARINIG: Doesn't check any dependencies!void
save(java.lang.String fileName)
Save genome to filevoid
serializeParse(MarkerSerializer markerSerializer)
Parse a line from a serialized filejava.lang.String
serializeSave(MarkerSerializer markerSerializer)
Create a string to serialize to a filejava.lang.String
toString()
Show number of genes, transcripts & exonsjava.lang.String
toString(java.lang.StringBuilder errors)
Show number of genes, transcripts & exons Arr all errors to buffer-
Methods inherited from class org.snpeff.interval.Marker
adjust, apply, applyDel, applyDup, applyIns, applyMixed, clone, cloneShallow, codonTable, compareTo, compareToPos, distance, distanceBases, getParent, getType, idChain, idChain, idChain, includes, intersect, isAdjustIfParentDoesNotInclude, isDeferredAnalysis, isShowWarningIfParentDoesNotInclude, minus, query, query, readTxt, shouldApply, union, variantEffect, variantEffectNonRef
-
Methods inherited from class org.snpeff.interval.Interval
equals, findParent, getChromosome, getChromosomeName, getChromosomeNameOri, getChromosomeNum, getEnd, getGenome, getGenomeName, getId, getStart, getStrand, hashCode, intersects, intersects, intersects, intersects, intersectSize, isCircular, isSameChromo, isStrandMinus, isStrandPlus, isValid, setChromosomeNameOri, setEnd, setId, setParent, setStart, setStrandMinus, shiftCoordinates, size, toStr, toStringAsciiArt, toStrPos
-
-
-
-
Method Detail
-
createFromFaidx
public static Genome createFromFaidx(java.lang.String genomeName, java.lang.String faidxFile)
Create a genome from a faidx file. See "samtools faidx" command (reference http://samtools.sourceforge.net/samtools.shtml)- Parameters:
genomeName
- : Genome's name (version)faidxFile
- : FAI file used to create all chromosomes- Returns:
-
add
public void add(Chromosome chromo)
Add a chromosome
-
chromosomeNamesSorted
public java.util.List<java.lang.String> chromosomeNamesSorted()
Get a sorted list of chromosomes
-
getChromoFastaFiles
public java.lang.String[] getChromoFastaFiles()
-
getChromosome
public Chromosome getChromosome(java.lang.String chromoName)
Find chromosome 'chromoName'
-
getChromosomeCount
public int getChromosomeCount()
-
getChromosomes
public java.util.Collection<Chromosome> getChromosomes()
-
getChromosomesSortedSize
public java.util.List<Chromosome> getChromosomesSortedSize()
Return chromosomes sorted by size (largest chromosomes first)
-
getCytoBands
public CytoBands getCytoBands()
-
getGenes
public Genes getGenes()
-
getGenesSorted
public java.util.List<Gene> getGenesSorted()
Create a sorted list of genes (sorted by gene Id)
-
getGenesSortedPos
public java.util.List<Gene> getGenesSortedPos()
Create a sorted list of genes (sorted by genomic position)
-
getGenomeId
public java.lang.String getGenomeId()
-
getGenomicSequences
public GenomicSequences getGenomicSequences()
-
getOrCreateChromosome
public Chromosome getOrCreateChromosome(java.lang.String chromoName)
Get or create a chromosome
-
getSpecies
public java.lang.String getSpecies()
-
getVersion
public java.lang.String getVersion()
-
hasChromosome
public boolean hasChromosome(java.lang.String chromo)
Is this chromosome in this genome?
-
hasCodingInfo
public boolean hasCodingInfo()
-
hasTranscriptSupportLevelInfo
public boolean hasTranscriptSupportLevelInfo()
Do we have coding info from genes?
-
isMostExonsHaveSequence
public boolean isMostExonsHaveSequence()
Do most exons have sequence? This is an indicator that something went really bad building the database.- Returns:
- Check if most exons have sequence assigned.
-
iterator
public java.util.Iterator<Chromosome> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<Chromosome>
-
length
public long length()
Total genome length: add all chromosomes
-
readGenomeSequence
public boolean readGenomeSequence(java.lang.String fastaFile)
Read the whole genome sequence into memory- Parameters:
fastaFile
- : Path to a Fasta file- Returns:
- true if it was successful
-
remove
public void remove(Chromosome chromo)
Remove a chromosome WARINIG: Doesn't check any dependencies!
-
save
public void save(java.lang.String fileName)
Save genome to file
-
serializeParse
public void serializeParse(MarkerSerializer markerSerializer)
Parse a line from a serialized file- Specified by:
serializeParse
in interfaceTxtSerializable
- Overrides:
serializeParse
in classMarker
-
serializeSave
public java.lang.String serializeSave(MarkerSerializer markerSerializer)
Create a string to serialize to a file- Specified by:
serializeSave
in interfaceTxtSerializable
- Overrides:
serializeSave
in classMarker
-
toString
public java.lang.String toString()
Show number of genes, transcripts & exons
-
toString
public java.lang.String toString(java.lang.StringBuilder errors)
Show number of genes, transcripts & exons Arr all errors to buffer
-
-