Package org.biojava.nbio.genome.util
Class ChromosomeMappingTools
- java.lang.Object
-
- org.biojava.nbio.genome.util.ChromosomeMappingTools
-
public class ChromosomeMappingTools extends Object
A class that can map chromosomal positions to mRNA (coding sequence) positions.- Author:
- Andreas Prlic
-
-
Field Summary
Fields Modifier and Type Field Description static StringCDSstatic StringCHROMOSOME
-
Constructor Summary
Constructors Constructor Description ChromosomeMappingTools()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringformatExonStructure(GeneChromosomePosition chromosomePosition)Pretty print the details of a GeneChromosomePosition to a Stringstatic List<com.google.common.collect.Range<Integer>>getCDSExonRanges(GeneChromosomePosition chromPos)Extracts the exon boundaries in CDS coordinates.static intgetCDSLength(GeneChromosomePosition chromPos)Get the length of the CDS in nucleotides.static intgetCDSLengthForward(List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd)Get the length of the coding sequencestatic intgetCDSLengthReverse(List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd)Get the length of the coding sequencestatic intgetCDSPosForChromosomeCoordinate(int coordinate, GeneChromosomePosition chromosomePosition)I have a genomic coordinate, where is it on the mRNAstatic intgetCDSPosForward(int chromPos, List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd)Converts the genetic coordinate to the position of the nucleotide on the mRNA sequence for a gene living on the forward DNA strand.static intgetCDSPosReverse(int chromPos, List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd)Converts the genetic coordinate to the position of the nucleotide on the mRNA sequence for a gene living on the reverse DNA strand.static List<com.google.common.collect.Range<Integer>>getCDSRegions(List<Integer> origExonStarts, List<Integer> origExonEnds, int cdsStart, int cdsEnd)Extracts the exons boundaries in CDS coordinates corresponding to the forward DNA strand.static List<com.google.common.collect.Range<Integer>>getChromosomalRangesForCDS(GeneChromosomePosition chromPos)Extracts the boundaries of the coding regions in chromosomal coordinatesstatic ChromPosgetChromosomePosForCDScoordinate(int cdsNucleotidePosition, GeneChromosomePosition chromPos)Maps the position of a CDS nucleotide back to the genomestatic ChromPosgetChromPosForward(int cdsPos, List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd)Get the CDS position mapped onto the chromosome positionstatic ChromPosgetChromPosReverse(int cdsPos, List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd)Get the CDS position mapped on the chromosome positionstatic DNASequencegetTranscriptDNASequence(TwoBitFacade twoBitFacade, String chromosome, List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd, Character orientation)Extracts the DNA sequence transcribed from the input genetic coordinates.static DNASequencegetTranscriptDNASequence(TwoBitFacade twoBitFacade, GeneChromosomePosition gcp)Extracts the DNA sequence transcribed from the input genetic coordinates.static voidsetCoordinateSystem(int baseInt)
-
-
-
Field Detail
-
CHROMOSOME
public static final String CHROMOSOME
- See Also:
- Constant Field Values
-
CDS
public static final String CDS
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ChromosomeMappingTools
public ChromosomeMappingTools()
-
-
Method Detail
-
setCoordinateSystem
public static void setCoordinateSystem(int baseInt)
-
formatExonStructure
public static String formatExonStructure(GeneChromosomePosition chromosomePosition)
Pretty print the details of a GeneChromosomePosition to a String- Parameters:
chromosomePosition-- Returns:
-
getCDSLength
public static int getCDSLength(GeneChromosomePosition chromPos)
Get the length of the CDS in nucleotides.- Parameters:
chromPos-- Returns:
- length of the CDS in nucleotides.
-
getChromosomePosForCDScoordinate
public static ChromPos getChromosomePosForCDScoordinate(int cdsNucleotidePosition, GeneChromosomePosition chromPos)
Maps the position of a CDS nucleotide back to the genome- Parameters:
cdsNucleotidePosition-- Returns:
- a ChromPos object
-
getChromPosReverse
public static ChromPos getChromPosReverse(int cdsPos, List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd)
Get the CDS position mapped on the chromosome position- Parameters:
exonStarts-exonEnds-cdsStart-cdsEnd-- Returns:
-
getChromPosForward
public static ChromPos getChromPosForward(int cdsPos, List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd)
Get the CDS position mapped onto the chromosome position- Parameters:
exonStarts-exonEnds-cdsStart-cdsEnd-- Returns:
-
getCDSLengthReverse
public static int getCDSLengthReverse(List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd)
Get the length of the coding sequence- Parameters:
exonStarts-exonEnds-cdsStart-cdsEnd-- Returns:
-
getCDSLengthForward
public static int getCDSLengthForward(List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd)
Get the length of the coding sequence- Parameters:
exonStarts-exonEnds-cdsStart-cdsEnd-- Returns:
-
getCDSExonRanges
public static List<com.google.common.collect.Range<Integer>> getCDSExonRanges(GeneChromosomePosition chromPos)
Extracts the exon boundaries in CDS coordinates. (needs to be divided by 3 to get AA positions)- Parameters:
chromPos-- Returns:
-
getChromosomalRangesForCDS
public static List<com.google.common.collect.Range<Integer>> getChromosomalRangesForCDS(GeneChromosomePosition chromPos)
Extracts the boundaries of the coding regions in chromosomal coordinates- Parameters:
chromPos-- Returns:
-
getCDSPosForChromosomeCoordinate
public static int getCDSPosForChromosomeCoordinate(int coordinate, GeneChromosomePosition chromosomePosition)
I have a genomic coordinate, where is it on the mRNA- Parameters:
coordinate-chromosomePosition-- Returns:
-
getCDSPosForward
public static int getCDSPosForward(int chromPos, List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd)
Converts the genetic coordinate to the position of the nucleotide on the mRNA sequence for a gene living on the forward DNA strand.- Parameters:
chromPos- The genetic coordinate on a chromosomeexonStarts- The list holding the genetic coordinates pointing to the start positions of the exons (including UTR regions)exonEnds- The list holding the genetic coordinates pointing to the end positions of the exons (including UTR regions)cdsStart- The start position of a coding regioncdsEnd- The end position of a coding region- Returns:
- the position of the nucleotide base on the mRNA sequence corresponding to the input genetic coordinate (base 1)
-
getCDSPosReverse
public static int getCDSPosReverse(int chromPos, List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd)
Converts the genetic coordinate to the position of the nucleotide on the mRNA sequence for a gene living on the reverse DNA strand.- Parameters:
chromPos- The genetic coordinate on a chromosomeexonStarts- The list holding the genetic coordinates pointing to the start positions of the exons (including UTR regions)exonEnds- The list holding the genetic coordinates pointing to the end positions of the exons (including UTR regions)cdsStart- The start position of a coding regioncdsEnd- The end position of a coding region- Returns:
- the position of the nucleotide base on the mRNA sequence corresponding to the input genetic coordinate (base 1)
-
getCDSRegions
public static List<com.google.common.collect.Range<Integer>> getCDSRegions(List<Integer> origExonStarts, List<Integer> origExonEnds, int cdsStart, int cdsEnd)
Extracts the exons boundaries in CDS coordinates corresponding to the forward DNA strand.- Parameters:
origExonStarts- The list holding the genetic coordinates pointing to the start positions of the exons (including UTR regions)origExonEnds- The list holding the genetic coordinates pointing to the end positions of the exons (including UTR regions)cdsStart- The start position of a coding regioncdsEnd- The end position of a coding region- Returns:
- the list of genetic positions corresponding to the exons boundaries in CDS coordinates
-
getTranscriptDNASequence
public static DNASequence getTranscriptDNASequence(TwoBitFacade twoBitFacade, GeneChromosomePosition gcp) throws Exception
Extracts the DNA sequence transcribed from the input genetic coordinates.- Parameters:
twoBitFacade- the facade that provide an access to a 2bit filegcp- The container with chromosomal positions- Returns:
- the DNA sequence transcribed from the input genetic coordinates
- Throws:
Exception
-
getTranscriptDNASequence
public static DNASequence getTranscriptDNASequence(TwoBitFacade twoBitFacade, String chromosome, List<Integer> exonStarts, List<Integer> exonEnds, int cdsStart, int cdsEnd, Character orientation) throws Exception
Extracts the DNA sequence transcribed from the input genetic coordinates.- Parameters:
chromosome- the name of the chromosomeexonStarts- The list holding the genetic coordinates pointing to the start positions of the exons (including UTR regions)exonEnds- The list holding the genetic coordinates pointing to the end positions of the exons (including UTR regions)cdsStart- The start position of a coding regioncdsEnd- The end position of a coding regionorientation- The orientation of the strand where the gene is living- Returns:
- the DNA sequence transcribed from the input genetic coordinates
- Throws:
Exception
-
-