public class RnaFileIO
extends java.lang.Object
This is a further abstraction of the RNA Backend class. It is a mixture of backend (c++) and Java-based functions. Ideally, we would go the opposite route--integrate the backend classes into the java program to make the distinction as seamless as possible, but unfortunately the backend c++ is too brittle, and adding the necessary features to the c++ classes might have a performance impact for the command-line interfaces.
Modifier and Type | Class and Description |
---|---|
static interface |
RnaFileIO.AsyncTask<TResult> |
static class |
RnaFileIO.BackendCalc<TResult>
A task that is run in the RNAstructure Backend (JNI).
|
static class |
RnaFileIO.BackgroundWork<TResult> |
(package private) static class |
RnaFileIO.NucIndexConverter
The backend uses "III" (or some other character in extended nucleobase alphabets) to
indicate an inter-molecular linker.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ALPHABET_RNA |
private static java.lang.String |
DATA_PATH |
static char |
InterMolecularBreakChar |
static int |
InterMolecularBreakLength |
static java.lang.String |
InterMolecularBreakStr |
private static AppLog |
log |
static int |
MAX_SEQUENCE_LENGTH |
static int |
SEQUENCE_FMT_FASTA |
static int |
SEQUENCE_FMT_SEQ |
static int |
SEQUENCE_FMT_TEXT |
(package private) static java.util.regex.Pattern |
stripEnergyTitleRegex |
Constructor and Description |
---|
RnaFileIO() |
Modifier and Type | Method and Description |
---|---|
private static int |
backendPairIndex(Nuc n) |
static void |
breakBackendPseudoknots(RnaScene scene,
RNA rna,
int structureNumber) |
static double |
calculateEnergy(RnaScene scene)
Calculates the free energy of the structure in kcal/mol
|
private static void |
checkErrors(RNA rna,
java.lang.String operation) |
static void |
checkForErrors(RNA rna) |
static RNA |
createRNAfromScene(RnaScene scene,
boolean includePairs,
boolean allowUnknownBases,
boolean skipThermo) |
static RnaScene |
createSceneFromRNA(RNA rna,
int structureIndex,
boolean includeBonds)
Create new RnaScene from an RNA structure.
|
private static int |
defaultWindowSize(RNA rna) |
static RnaFileIO.BackendCalc<RnaSceneGroup> |
foldSeq(java.lang.String sequence,
int maxStructures) |
static boolean |
getBestOrientation(double[] oldVals,
double[] newVals,
double[] params,
double allowedError) |
private static java.lang.String |
getDataPath() |
static java.lang.String |
getInterStrandLinker() |
static java.lang.String |
getRNASequence(RnaScene scene) |
static RnaSceneGroup |
getRNAstructureGroup(RNA rna) |
static int |
getRNAType(FileType type) |
static java.lang.String |
getStructureTitle(RNA rna,
int structureIndex) |
static void |
identifyPseudoKnotsBackend(RnaScene scene) |
static boolean |
isInterStrandLinker(char c) |
static RnaSceneGroup |
readFileAsScene(java.lang.String path,
FileType type) |
static void |
setStructureTitle(RNA rna,
int structureIndex,
java.lang.String title) |
static void |
splitStrandsAtLinkers(RnaScene scene) |
static java.lang.String |
stripEnergyTitle(java.lang.String title) |
protected static void |
updateBackendBonds(RnaScene scene,
RNA rna,
int structureIndex)
Clear the RNA structure's bonds and re-read them from the RnaScene.
|
protected static void |
updateSceneBonds(RnaScene scene,
RNA rna,
int structureIndex)
Clear the RnaScene's bonds and re-write them from the RNA structure.
|
private static boolean |
verifyDataFiles(java.lang.String path) |
private static void |
verifyDataPath() |
static RNA |
writeRNAstructureGroup(RnaSceneGroup scenes,
boolean allowUnknownBases,
boolean skipThermo) |
static boolean |
writeSequenceFile(RnaScene scene,
java.lang.String path,
FileType type,
boolean append) |
static boolean |
writeStructureFile(RnaSceneGroup scenes,
java.lang.String path,
FileType type,
boolean append) |
public static final java.lang.String ALPHABET_RNA
private static java.lang.String DATA_PATH
public static final char InterMolecularBreakChar
public static final int InterMolecularBreakLength
public static final java.lang.String InterMolecularBreakStr
private static final AppLog log
public static final int MAX_SEQUENCE_LENGTH
public static final int SEQUENCE_FMT_FASTA
public static final int SEQUENCE_FMT_SEQ
public static final int SEQUENCE_FMT_TEXT
static java.util.regex.Pattern stripEnergyTitleRegex
private static int backendPairIndex(Nuc n)
public static void breakBackendPseudoknots(RnaScene scene, RNA rna, int structureNumber)
public static double calculateEnergy(RnaScene scene) throws RnaBackendException
RnaBackendException
private static void checkErrors(RNA rna, java.lang.String operation) throws RnaBackendException
RnaBackendException
public static void checkForErrors(RNA rna) throws RnaBackendException
RnaBackendException
public static RNA createRNAfromScene(RnaScene scene, boolean includePairs, boolean allowUnknownBases, boolean skipThermo) throws RnaBackendException
RnaBackendException
public static RnaScene createSceneFromRNA(RNA rna, int structureIndex, boolean includeBonds) throws RnaBackendException
RnaBackendException
private static int defaultWindowSize(RNA rna)
public static RnaFileIO.BackendCalc<RnaSceneGroup> foldSeq(java.lang.String sequence, int maxStructures)
public static boolean getBestOrientation(double[] oldVals, double[] newVals, double[] params, double allowedError)
private static java.lang.String getDataPath()
public static java.lang.String getInterStrandLinker()
public static java.lang.String getRNASequence(RnaScene scene)
public static RnaSceneGroup getRNAstructureGroup(RNA rna) throws RnaBackendException
RnaBackendException
public static int getRNAType(FileType type)
public static java.lang.String getStructureTitle(RNA rna, int structureIndex)
public static void identifyPseudoKnotsBackend(RnaScene scene) throws RnaBackendException
RnaBackendException
public static boolean isInterStrandLinker(char c)
public static RnaSceneGroup readFileAsScene(java.lang.String path, FileType type) throws RnaBackendException
RnaBackendException
public static void setStructureTitle(RNA rna, int structureIndex, java.lang.String title)
public static void splitStrandsAtLinkers(RnaScene scene)
public static java.lang.String stripEnergyTitle(java.lang.String title)
protected static void updateBackendBonds(RnaScene scene, RNA rna, int structureIndex)
protected static void updateSceneBonds(RnaScene scene, RNA rna, int structureIndex)
private static boolean verifyDataFiles(java.lang.String path)
private static void verifyDataPath() throws RnaBackendException
RnaBackendException
public static RNA writeRNAstructureGroup(RnaSceneGroup scenes, boolean allowUnknownBases, boolean skipThermo) throws RnaBackendException
RnaBackendException
public static boolean writeSequenceFile(RnaScene scene, java.lang.String path, FileType type, boolean append) throws RnaBackendException, java.io.IOException
RnaBackendException
java.io.IOException
public static boolean writeStructureFile(RnaSceneGroup scenes, java.lang.String path, FileType type, boolean append) throws java.io.IOException, RnaBackendException
java.io.IOException
RnaBackendException