Class AbstractCsvSource<T extends InteractionEvidence>
- java.lang.Object
-
- psidev.psi.mi.jami.crosslink.extension.datasource.AbstractCsvSource<T>
-
- All Implemented Interfaces:
CsvSource<T>
,CsvStreamSource<T>
,CsvParserListener
,InteractionEvidenceSource<T>
,InteractionEvidenceStream<T>
,InteractionSource<T>
,InteractionStream<T>
,MIDataSource
,MIFileDataSource
,MIFileParserListener
- Direct Known Subclasses:
CsvBinaryEvidenceSource
,CsvEvidenceSource
public abstract class AbstractCsvSource<T extends InteractionEvidence> extends Object implements CsvSource<T>
Abstract class for an InteractionSource coming from a Crosslink CSV file. This datasource provides interaction iterator and collection- Since:
08/11/13
- Version:
- $Id$
- Author:
- Marine Dumousseau (marine@ebi.ac.uk)
-
-
Field Summary
-
Fields inherited from interface psidev.psi.mi.jami.datasource.MIFileDataSource
FILE_URI_PREFIX, URL_PREFIX_REGEXP
-
-
Constructor Summary
Constructors Constructor Description AbstractCsvSource()
Empty constructor for the factoryAbstractCsvSource(File file)
Constructor for AbstractCsvSource.AbstractCsvSource(InputStream input)
Constructor for AbstractCsvSource.AbstractCsvSource(Reader reader)
Constructor for AbstractCsvSource.AbstractCsvSource(URL url)
Constructor for AbstractCsvSource.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
close()
close.protected Iterator<T>
createCsvIterator()
createCsvIterator.MIFileParserListener
getFileParserListener()
getFileParserListener.Collection<T>
getInteractions()
Getter for the fieldinteractions
.Iterator<T>
getInteractionsIterator()
getInteractionsIterator.protected AbstractCsvInteractionEvidenceParser<T>
getLineParser()
Getter for the fieldlineParser
.long
getNumberOfInteractions()
getNumberOfInteractions.void
initialiseContext(Map<String,Object> options)
Initialise the context of the MIDataSource given a map of optionsprotected abstract AbstractCsvInteractionEvidenceParser<T>
instantiateLineParser()
instantiateLineParser.void
onAliasWithoutName(FileSourceContext context)
Listen to an event fired when an alias does not have a namevoid
onAnnotationWithoutTopic(FileSourceContext context)
Listen to an event fired when an annotation does not have a topicvoid
onInteractionWithoutParticipants(Interaction interaction, FileSourceContext context)
Listen to an event fired when an interaction is read and does not have any participants.void
onInvalidOrganismTaxid(String taxid, FileSourceContext context)
Listen to an event fired when an organism does not have a valid taxid (positive integer or -1, -2, -3, -4, -5)void
onInvalidPosition(String message, FileSourceContext context)
Listen to an event fired when a position is not validvoid
onInvalidProteinIdentifierSyntax(String[] identifiers, int lineNumber, int columnNumber)
Event fired when we don't find protein xrefs with db|uniprotId|namevoid
onInvalidRange(String message, FileSourceContext context)
Listen to an event fired when a range is not validvoid
onInvalidStoichiometry(String message, FileSourceContext context)
Listen to an event fired when a stoichiometry is not validvoid
onInvalidSyntax(FileSourceContext context, Exception e)
Listen to an invalid syntax causing an Exceptionvoid
onMismatchBetweenPeptideAndLinkedPositions(List<CsvRange> peptidePositions, List<CsvRange> linkedPositions)
Event fired when the number of peptide positions is greater than one and is not the same as the number of linked positionsvoid
onMismatchBetweenRangePositionsAndProteins(List<CsvRange> rangePositions, List<CsvProtein> proteins)
Event fired when the number of range positions is superior to 1 and the number of proteins is also superior to 1 but does not match the number of rangesvoid
onMissingChecksumMethod(FileSourceContext context)
Listen to an event fired when a checksum does not have a methodvoid
onMissingChecksumValue(FileSourceContext context)
Listen to an event fired when a checksum does not have a valuevoid
onMissingConfidenceType(FileSourceContext context)
Listen to an event fired when a confidence does not have a confidence typevoid
onMissingConfidenceValue(FileSourceContext context)
Listen to an event fired when a confidence does not have a valuevoid
onMissingCvTermName(CvTerm term, FileSourceContext context, String message)
Listen to an event fired when a CvTerm is read and does not have any names.void
onMissingInteractorName(Interactor interactor, FileSourceContext context)
Listen to an event fired when an interactor is read and does not have any names.void
onMissingParameterType(FileSourceContext context)
Listen to an event fired when a parameter does not have a typevoid
onMissingParameterValue(FileSourceContext context)
Listen to an event fired when a parameter does not have a valuevoid
onMissingProtein1Column(int lineNumber)
Event fired when the column Protein1 is missing or emptyvoid
onParticipantWithoutInteractor(Participant participant, FileSourceContext context)
Listen to en event fired when a Participant is read and no interactor details has been provided.void
onSyntaxWarning(FileSourceContext context, String message)
Listen to an event fired when the syntax of the file is valid but the content is not expected or some information may be lost.void
onXrefWithoutDatabase(FileSourceContext context)
Listen to an event fired when a xref does not have a databasevoid
onXrefWithoutId(FileSourceContext context)
Listen to an event fired when a xref does not have an idprotected void
reInit()
reInit.void
reset()
reset.protected void
setCsvFileParserListener(CsvParserListener listener)
setCsvFileParserListener.void
setFileParserListener(MIFileParserListener listener)
setFileParserListenerprotected void
setLineParser(AbstractCsvInteractionEvidenceParser<T> lineParser)
Setter for the fieldlineParser
.protected void
setMIFileParserListener(MIFileParserListener listener)
setMIFileParserListener.protected void
setOriginalFile(File originalFile)
Setter for the fieldoriginalFile
.protected void
setOriginalReader(Reader originalReader)
Setter for the fieldoriginalReader
.protected void
setOriginalStream(InputStream originalStream)
Setter for the fieldoriginalStream
.protected void
setOriginalURL(URL originalURL)
Setter for the fieldoriginalURL
.boolean
validateSyntax()
validateSyntax.boolean
validateSyntax(MIFileParserListener listener)
Validate the syntax of this MIFileDataSource and uses the provided MIFileParserListener to listen to the events.
-
-
-
Constructor Detail
-
AbstractCsvSource
public AbstractCsvSource()
Empty constructor for the factory
-
AbstractCsvSource
public AbstractCsvSource(File file) throws IOException
Constructor for AbstractCsvSource.
- Parameters:
file
- aFile
object.- Throws:
IOException
- if any.
-
AbstractCsvSource
public AbstractCsvSource(InputStream input)
Constructor for AbstractCsvSource.
- Parameters:
input
- aInputStream
object.
-
AbstractCsvSource
public AbstractCsvSource(Reader reader)
Constructor for AbstractCsvSource.
- Parameters:
reader
- aReader
object.
-
-
Method Detail
-
getFileParserListener
public MIFileParserListener getFileParserListener()
getFileParserListener.
- Specified by:
getFileParserListener
in interfaceMIFileDataSource
- Returns:
- a
MIFileParserListener
object.
-
setFileParserListener
public void setFileParserListener(MIFileParserListener listener)
setFileParserListener
- Specified by:
setFileParserListener
in interfaceMIFileDataSource
- Parameters:
listener
- aMIFileParserListener
object.
-
initialiseContext
public void initialiseContext(Map<String,Object> options)
Initialise the context of the MIDataSource given a map of options- Specified by:
initialiseContext
in interfaceMIDataSource
- Parameters:
options
- : the options provided by the user
-
close
public void close() throws MIIOException
close.
- Specified by:
close
in interfaceMIDataSource
- Throws:
MIIOException
- if any.
-
reset
public void reset() throws MIIOException
reset.
- Specified by:
reset
in interfaceMIDataSource
- Throws:
MIIOException
- if any.
-
validateSyntax
public boolean validateSyntax(MIFileParserListener listener)
Validate the syntax of this MIFileDataSource and uses the provided MIFileParserListener to listen to the events. The provided listener will be set as the MIFileParserListener of this datasource- Specified by:
validateSyntax
in interfaceMIFileDataSource
- Parameters:
listener
- : the listener for parsing events- Returns:
- true if the file syntax is valid
-
validateSyntax
public boolean validateSyntax()
validateSyntax.
- Specified by:
validateSyntax
in interfaceMIFileDataSource
- Returns:
- a boolean.
-
onInvalidSyntax
public void onInvalidSyntax(FileSourceContext context, Exception e)
Listen to an invalid syntax causing an Exception- Specified by:
onInvalidSyntax
in interfaceMIFileParserListener
- Parameters:
context
- : file contexte
- aException
object.
-
onSyntaxWarning
public void onSyntaxWarning(FileSourceContext context, String message)
Listen to an event fired when the syntax of the file is valid but the content is not expected or some information may be lost.- Specified by:
onSyntaxWarning
in interfaceMIFileParserListener
- Parameters:
context
- : file contextmessage
- : warning message
-
onMissingCvTermName
public void onMissingCvTermName(CvTerm term, FileSourceContext context, String message)
Listen to an event fired when a CvTerm is read and does not have any names. At least a shortname is expected for each CvTerm so such a term may be loaded with an automatically generated shortname.- Specified by:
onMissingCvTermName
in interfaceMIFileParserListener
- Parameters:
term
- : cv without namecontext
- : file contextmessage
- : error message
-
onMissingInteractorName
public void onMissingInteractorName(Interactor interactor, FileSourceContext context)
Listen to an event fired when an interactor is read and does not have any names. At least a shortname is expected for each interactor so such an interactor may be loaded with an automatically generated shortname.- Specified by:
onMissingInteractorName
in interfaceMIFileParserListener
- Parameters:
interactor
- : interactor without namecontext
- : file context
-
onMismatchBetweenPeptideAndLinkedPositions
public void onMismatchBetweenPeptideAndLinkedPositions(List<CsvRange> peptidePositions, List<CsvRange> linkedPositions)
Event fired when the number of peptide positions is greater than one and is not the same as the number of linked positions- Specified by:
onMismatchBetweenPeptideAndLinkedPositions
in interfaceCsvParserListener
- Parameters:
peptidePositions
- : peptide positions in protein sequencelinkedPositions
- : linked feature positions relative to peptide positions
-
onMismatchBetweenRangePositionsAndProteins
public void onMismatchBetweenRangePositionsAndProteins(List<CsvRange> rangePositions, List<CsvProtein> proteins)
Event fired when the number of range positions is superior to 1 and the number of proteins is also superior to 1 but does not match the number of ranges- Specified by:
onMismatchBetweenRangePositionsAndProteins
in interfaceCsvParserListener
- Parameters:
rangePositions
- : feature rangesproteins
- : proteins
-
onInvalidProteinIdentifierSyntax
public void onInvalidProteinIdentifierSyntax(String[] identifiers, int lineNumber, int columnNumber)
Event fired when we don't find protein xrefs with db|uniprotId|name- Specified by:
onInvalidProteinIdentifierSyntax
in interfaceCsvParserListener
- Parameters:
identifiers
- : the identifierslineNumber
- a int.columnNumber
- a int.
-
onMissingProtein1Column
public void onMissingProtein1Column(int lineNumber)
Event fired when the column Protein1 is missing or empty- Specified by:
onMissingProtein1Column
in interfaceCsvParserListener
- Parameters:
lineNumber
- : line number
-
onParticipantWithoutInteractor
public void onParticipantWithoutInteractor(Participant participant, FileSourceContext context)
Listen to en event fired when a Participant is read and no interactor details has been provided. In such a case, the interactor can be automatically generated as an unknown interactor- Specified by:
onParticipantWithoutInteractor
in interfaceMIFileParserListener
- Parameters:
participant
- : participant without interactorcontext
- : file context
-
onInteractionWithoutParticipants
public void onInteractionWithoutParticipants(Interaction interaction, FileSourceContext context)
Listen to an event fired when an interaction is read and does not have any participants. The interaction may be loaded as an empty interaction.- Specified by:
onInteractionWithoutParticipants
in interfaceMIFileParserListener
- Parameters:
interaction
- : interaction without participantscontext
- : file context
-
onInvalidOrganismTaxid
public void onInvalidOrganismTaxid(String taxid, FileSourceContext context)
Listen to an event fired when an organism does not have a valid taxid (positive integer or -1, -2, -3, -4, -5)- Specified by:
onInvalidOrganismTaxid
in interfaceMIFileParserListener
- Parameters:
taxid
- : invalid taxidcontext
- : file context
-
onMissingParameterValue
public void onMissingParameterValue(FileSourceContext context)
Listen to an event fired when a parameter does not have a value- Specified by:
onMissingParameterValue
in interfaceMIFileParserListener
- Parameters:
context
- : file context
-
onMissingParameterType
public void onMissingParameterType(FileSourceContext context)
Listen to an event fired when a parameter does not have a type- Specified by:
onMissingParameterType
in interfaceMIFileParserListener
- Parameters:
context
- : file context
-
onMissingConfidenceValue
public void onMissingConfidenceValue(FileSourceContext context)
Listen to an event fired when a confidence does not have a value- Specified by:
onMissingConfidenceValue
in interfaceMIFileParserListener
- Parameters:
context
- : file context
-
onMissingConfidenceType
public void onMissingConfidenceType(FileSourceContext context)
Listen to an event fired when a confidence does not have a confidence type- Specified by:
onMissingConfidenceType
in interfaceMIFileParserListener
- Parameters:
context
- : file context
-
onMissingChecksumValue
public void onMissingChecksumValue(FileSourceContext context)
Listen to an event fired when a checksum does not have a value- Specified by:
onMissingChecksumValue
in interfaceMIFileParserListener
- Parameters:
context
- : file context
-
onMissingChecksumMethod
public void onMissingChecksumMethod(FileSourceContext context)
Listen to an event fired when a checksum does not have a method- Specified by:
onMissingChecksumMethod
in interfaceMIFileParserListener
- Parameters:
context
- : file context
-
onInvalidPosition
public void onInvalidPosition(String message, FileSourceContext context)
Listen to an event fired when a position is not valid- Specified by:
onInvalidPosition
in interfaceMIFileParserListener
- Parameters:
message
- : error messagecontext
- : file context
-
onInvalidRange
public void onInvalidRange(String message, FileSourceContext context)
Listen to an event fired when a range is not valid- Specified by:
onInvalidRange
in interfaceMIFileParserListener
- Parameters:
message
- : error messagecontext
- : file context
-
onInvalidStoichiometry
public void onInvalidStoichiometry(String message, FileSourceContext context)
Listen to an event fired when a stoichiometry is not valid- Specified by:
onInvalidStoichiometry
in interfaceMIFileParserListener
- Parameters:
message
- : : error messagecontext
- : file context
-
onXrefWithoutDatabase
public void onXrefWithoutDatabase(FileSourceContext context)
Listen to an event fired when a xref does not have a database- Specified by:
onXrefWithoutDatabase
in interfaceMIFileParserListener
- Parameters:
context
- : file context
-
onXrefWithoutId
public void onXrefWithoutId(FileSourceContext context)
Listen to an event fired when a xref does not have an id- Specified by:
onXrefWithoutId
in interfaceMIFileParserListener
- Parameters:
context
- : file context
-
onAnnotationWithoutTopic
public void onAnnotationWithoutTopic(FileSourceContext context)
Listen to an event fired when an annotation does not have a topic- Specified by:
onAnnotationWithoutTopic
in interfaceMIFileParserListener
- Parameters:
context
- : file context
-
onAliasWithoutName
public void onAliasWithoutName(FileSourceContext context)
Listen to an event fired when an alias does not have a name- Specified by:
onAliasWithoutName
in interfaceMIFileParserListener
- Parameters:
context
- : file context
-
getInteractionsIterator
public Iterator<T> getInteractionsIterator()
getInteractionsIterator.
- Specified by:
getInteractionsIterator
in interfaceInteractionStream<T extends InteractionEvidence>
- Returns:
- a
Iterator
object.
-
getInteractions
public Collection<T> getInteractions() throws MIIOException
Getter for the field
interactions
.- Specified by:
getInteractions
in interfaceInteractionSource<T extends InteractionEvidence>
- Returns:
- a
Collection
object. - Throws:
MIIOException
- if any.
-
getNumberOfInteractions
public long getNumberOfInteractions()
getNumberOfInteractions.
- Specified by:
getNumberOfInteractions
in interfaceInteractionSource<T extends InteractionEvidence>
- Returns:
- a long.
-
getLineParser
protected AbstractCsvInteractionEvidenceParser<T> getLineParser()
Getter for the field
lineParser
.- Returns:
- a
AbstractCsvInteractionEvidenceParser
object.
-
setLineParser
protected void setLineParser(AbstractCsvInteractionEvidenceParser<T> lineParser)
Setter for the field
lineParser
.- Parameters:
lineParser
- aAbstractCsvInteractionEvidenceParser
object.
-
createCsvIterator
protected Iterator<T> createCsvIterator()
createCsvIterator.
- Returns:
- a
Iterator
object.
-
reInit
protected void reInit() throws MIIOException
reInit.
- Throws:
MIIOException
- if any.
-
instantiateLineParser
protected abstract AbstractCsvInteractionEvidenceParser<T> instantiateLineParser()
instantiateLineParser.
- Returns:
- a
AbstractCsvInteractionEvidenceParser
object.
-
setOriginalFile
protected void setOriginalFile(File originalFile)
Setter for the field
originalFile
.- Parameters:
originalFile
- aFile
object.
-
setOriginalStream
protected void setOriginalStream(InputStream originalStream)
Setter for the field
originalStream
.- Parameters:
originalStream
- aInputStream
object.
-
setOriginalReader
protected void setOriginalReader(Reader originalReader)
Setter for the field
originalReader
.- Parameters:
originalReader
- aReader
object.
-
setOriginalURL
protected void setOriginalURL(URL originalURL)
Setter for the field
originalURL
.- Parameters:
originalURL
- aURL
object.
-
setCsvFileParserListener
protected void setCsvFileParserListener(CsvParserListener listener)
setCsvFileParserListener.
- Parameters:
listener
- aCsvParserListener
object.
-
setMIFileParserListener
protected void setMIFileParserListener(MIFileParserListener listener)
setMIFileParserListener.
- Parameters:
listener
- aMIFileParserListener
object.
-
-