Documentation
¶
Index ¶
- func Parse(r io.Reader, entries chan<- Entry, errors chan<- error)
- func Read(path string) (chan Entry, chan error, error)
- type Absorption
- type AlternativeName
- type Anon6
- type CitationType
- type CofactorType
- type CommentType
- type Component
- type Conflict
- type ConsortiumType
- type Dataset
- type Date
- type DbReferenceType
- type Direction
- type Disease
- type Domain
- type Entry
- type EventType
- type EvidenceType
- type EvidencedStringType
- type FeatureType
- type Fragment
- type GeneLocationType
- type GeneNameType
- type GeneType
- type ImportedFromType
- type IntListType
- type InteractantType
- type IsoformType
- type KeywordType
- type Kinetics
- type Lineage
- type Link
- type LocationType
- type Name
- type NameListType
- type OrganismNameType
- type OrganismType
- type PersonType
- type PhDependence
- type PhysiologicalReactionType
- type Plasmid
- type PositionType
- type PropertyType
- type ProteinExistenceType
- type ProteinType
- type ReactionType
- type RecommendedName
- type RedoxPotential
- type ReferenceType
- type Resource
- type Sequence
- type SequenceType
- type SourceDataType
- type SourceType
- type Status
- type StatusType
- type Strain
- type SubcellularLocationType
- type SubmittedName
- type TemperatureDependence
- type Tissue
- type Transposon
- type Type
- type Uniprot
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Parse ¶
Parse parses Uniprot entries into a channel.
Example ¶
xmlFile, _ := os.Open("data/uniprot_sprot_mini.xml.gz")
unzippedBytes, _ := gzip.NewReader(xmlFile)
entries := make(chan Entry, 100) // if you don't have a buffered channel, nothing will be read in loops on the channel.
decoderErrors := make(chan error, 100)
go Parse(unzippedBytes, entries, decoderErrors)
var entry Entry
for singleEntry := range entries {
entry = singleEntry
}
fmt.Println(entry.Accession[0])
Output: O55723
func Read ¶
Read reads a gzipped Uniprot XML dump. Failing to open the XML dump gives a single error, while errors encountered while decoding the XML dump are added to the errors channel.
Example ¶
entries, _, _ := Read("data/uniprot_sprot_mini.xml.gz")
var entry Entry
for singleEntry := range entries {
entry = singleEntry
}
fmt.Println(entry.Accession[0])
Output: O55723
Types ¶
type Absorption ¶
type Absorption struct {
Max EvidencedStringType `xml:"http://uniprot.org/uniprot max,omitempty"`
Text []EvidencedStringType `xml:"http://uniprot.org/uniprot text,omitempty"`
}
type AlternativeName ¶
type AlternativeName struct {
FullName EvidencedStringType `xml:"http://uniprot.org/uniprot fullName,omitempty"`
ShortName []EvidencedStringType `xml:"http://uniprot.org/uniprot shortName,omitempty"`
EcNumber []EvidencedStringType `xml:"http://uniprot.org/uniprot ecNumber,omitempty"`
}
type CitationType ¶
type CitationType struct {
Title string `xml:"http://uniprot.org/uniprot title,omitempty"`
EditorList NameListType `xml:"http://uniprot.org/uniprot editorList,omitempty"`
AuthorList NameListType `xml:"http://uniprot.org/uniprot authorList,omitempty"`
Locator string `xml:"http://uniprot.org/uniprot locator,omitempty"`
DbReference []DbReferenceType `xml:"http://uniprot.org/uniprot dbReference,omitempty"`
Type Type `xml:"type,attr"`
Date Date `xml:"date,attr,omitempty"`
Name string `xml:"name,attr,omitempty"`
Volume string `xml:"volume,attr,omitempty"`
First string `xml:"first,attr,omitempty"`
Last string `xml:"last,attr,omitempty"`
Publisher string `xml:"publisher,attr,omitempty"`
City string `xml:"city,attr,omitempty"`
Db string `xml:"db,attr,omitempty"`
Number string `xml:"number,attr,omitempty"`
Institute string `xml:"institute,attr,omitempty"`
Country string `xml:"country,attr,omitempty"`
}
Describes different types of citations. Equivalent to the flat file RX-, RG-, RA-, RT- and RL-lines.
type CofactorType ¶
type CofactorType struct {
Name string `xml:"http://uniprot.org/uniprot name"`
DbReference DbReferenceType `xml:"http://uniprot.org/uniprot dbReference"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
Describes a cofactor.
type CommentType ¶
type CommentType struct {
Molecule string `xml:"http://uniprot.org/uniprot molecule,omitempty"`
Absorption Absorption `xml:"http://uniprot.org/uniprot absorption,omitempty"`
Kinetics Kinetics `xml:"http://uniprot.org/uniprot kinetics,omitempty"`
PhDependence PhDependence `xml:"http://uniprot.org/uniprot phDependence,omitempty"`
RedoxPotential RedoxPotential `xml:"http://uniprot.org/uniprot redoxPotential,omitempty"`
TemperatureDependence TemperatureDependence `xml:"http://uniprot.org/uniprot temperatureDependence,omitempty"`
Reaction ReactionType `xml:"http://uniprot.org/uniprot reaction,omitempty"`
PhysiologicalReaction []PhysiologicalReactionType `xml:"http://uniprot.org/uniprot physiologicalReaction,omitempty"`
Cofactor []CofactorType `xml:"http://uniprot.org/uniprot cofactor,omitempty"`
SubcellularLocation []SubcellularLocationType `xml:"http://uniprot.org/uniprot subcellularLocation,omitempty"`
Conflict Conflict `xml:"http://uniprot.org/uniprot conflict,omitempty"`
Link []Link `xml:"http://uniprot.org/uniprot link,omitempty"`
Event []EventType `xml:"http://uniprot.org/uniprot event,omitempty"`
Isoform []IsoformType `xml:"http://uniprot.org/uniprot isoform,omitempty"`
Interactant []InteractantType `xml:"http://uniprot.org/uniprot interactant,omitempty"`
OrganismsDiffer bool `xml:"http://uniprot.org/uniprot organismsDiffer,omitempty"`
Experiments int `xml:"http://uniprot.org/uniprot experiments,omitempty"`
Disease Disease `xml:"http://uniprot.org/uniprot disease,omitempty"`
Location []LocationType `xml:"http://uniprot.org/uniprot location,omitempty"`
Text []EvidencedStringType `xml:"http://uniprot.org/uniprot text,omitempty"`
Type Type `xml:"type,attr"`
LocationType string `xml:"locationType,attr,omitempty"`
Name string `xml:"name,attr,omitempty"`
Mass float32 `xml:"mass,attr,omitempty"`
Error string `xml:"error,attr,omitempty"`
Method string `xml:"method,attr,omitempty"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
Describes different types of general annotations. Equivalent to the flat file CC-line.
func (*CommentType) UnmarshalXML ¶
func (t *CommentType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
type Component ¶
type Component struct {
RecommendedName RecommendedName `xml:"http://uniprot.org/uniprot recommendedName,omitempty"`
AlternativeName []AlternativeName `xml:"http://uniprot.org/uniprot alternativeName,omitempty"`
SubmittedName []SubmittedName `xml:"http://uniprot.org/uniprot submittedName,omitempty"`
AllergenName EvidencedStringType `xml:"http://uniprot.org/uniprot allergenName,omitempty"`
BiotechName EvidencedStringType `xml:"http://uniprot.org/uniprot biotechName,omitempty"`
CdAntigenName []EvidencedStringType `xml:"http://uniprot.org/uniprot cdAntigenName,omitempty"`
InnName []EvidencedStringType `xml:"http://uniprot.org/uniprot innName,omitempty"`
}
type ConsortiumType ¶
type ConsortiumType struct {
Name string `xml:"name,attr"`
}
Describes the authors of a citation when these are represented by a consortium. Equivalent to the flat file RG-line.
type DbReferenceType ¶
type DbReferenceType struct {
Molecule string `xml:"http://uniprot.org/uniprot molecule,omitempty"`
Property []PropertyType `xml:"http://uniprot.org/uniprot property,omitempty"`
Type string `xml:"type,attr"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
Describes a database cross-reference. Equivalent to the flat file DR-line.
type Disease ¶
type Disease struct {
Name string `xml:"http://uniprot.org/uniprot name"`
Acronym string `xml:"http://uniprot.org/uniprot acronym"`
Description string `xml:"http://uniprot.org/uniprot description"`
DbReference DbReferenceType `xml:"http://uniprot.org/uniprot dbReference"`
}
type Domain ¶
type Domain struct {
RecommendedName RecommendedName `xml:"http://uniprot.org/uniprot recommendedName,omitempty"`
AlternativeName []AlternativeName `xml:"http://uniprot.org/uniprot alternativeName,omitempty"`
SubmittedName []SubmittedName `xml:"http://uniprot.org/uniprot submittedName,omitempty"`
AllergenName EvidencedStringType `xml:"http://uniprot.org/uniprot allergenName,omitempty"`
BiotechName EvidencedStringType `xml:"http://uniprot.org/uniprot biotechName,omitempty"`
CdAntigenName []EvidencedStringType `xml:"http://uniprot.org/uniprot cdAntigenName,omitempty"`
InnName []EvidencedStringType `xml:"http://uniprot.org/uniprot innName,omitempty"`
}
type Entry ¶
type Entry struct {
Accession []string `xml:"http://uniprot.org/uniprot accession"`
Name []string `xml:"http://uniprot.org/uniprot name"`
Protein ProteinType `xml:"http://uniprot.org/uniprot protein"`
Gene []GeneType `xml:"http://uniprot.org/uniprot gene,omitempty"`
Organism OrganismType `xml:"http://uniprot.org/uniprot organism"`
OrganismHost []OrganismType `xml:"http://uniprot.org/uniprot organismHost,omitempty"`
GeneLocation []GeneLocationType `xml:"http://uniprot.org/uniprot geneLocation,omitempty"`
Reference []ReferenceType `xml:"http://uniprot.org/uniprot reference"`
Comment []CommentType `xml:"http://uniprot.org/uniprot comment,omitempty"`
DbReference []DbReferenceType `xml:"http://uniprot.org/uniprot dbReference,omitempty"`
ProteinExistence ProteinExistenceType `xml:"http://uniprot.org/uniprot proteinExistence"`
Keyword []KeywordType `xml:"http://uniprot.org/uniprot keyword,omitempty"`
Feature []FeatureType `xml:"http://uniprot.org/uniprot feature,omitempty"`
Evidence []EvidenceType `xml:"http://uniprot.org/uniprot evidence,omitempty"`
Sequence SequenceType `xml:"http://uniprot.org/uniprot sequence"`
Dataset Dataset `xml:"dataset,attr"`
Created time.Time `xml:"created,attr"`
Modified time.Time `xml:"modified,attr"`
Version int `xml:"version,attr"`
}
func (*Entry) UnmarshalXML ¶
type EventType ¶
type EventType struct {
Type Type `xml:"type,attr"`
}
Describes the type of events that cause alternative products.
type EvidenceType ¶
type EvidenceType struct {
Source SourceType `xml:"http://uniprot.org/uniprot source,omitempty"`
ImportedFrom ImportedFromType `xml:"http://uniprot.org/uniprot importedFrom,omitempty"`
Type string `xml:"type,attr"`
Key int `xml:"key,attr"`
}
Describes the evidence for an annotation. No flat file equivalent.
type EvidencedStringType ¶
type EvidencedStringType struct {
Value string `xml:",chardata"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
type FeatureType ¶
type FeatureType struct {
Original string `xml:"http://uniprot.org/uniprot original,omitempty"`
Variation []string `xml:"http://uniprot.org/uniprot variation,omitempty"`
Location LocationType `xml:"http://uniprot.org/uniprot location"`
Type Type `xml:"type,attr"`
Description string `xml:"description,attr,omitempty"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
Describes different types of sequence annotations. Equivalent to the flat file FT-line.
type GeneLocationType ¶
type GeneLocationType struct {
Name []StatusType `xml:"http://uniprot.org/uniprot name,omitempty"`
Type Type `xml:"type,attr"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
Describes non-nuclear gene locations (organelles and plasmids). Equivalent to the flat file OG-line.
type GeneNameType ¶
type GeneNameType struct {
Value string `xml:",chardata"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
Type Type `xml:"type,attr"`
}
Describes different types of gene designations. Equivalent to the flat file GN-line.
type GeneType ¶
type GeneType struct {
Name []GeneNameType `xml:"http://uniprot.org/uniprot name"`
}
Describes a gene. Equivalent to the flat file GN-line.
type ImportedFromType ¶
type ImportedFromType struct {
DbReference DbReferenceType `xml:"http://uniprot.org/uniprot dbReference"`
}
Describes the source of the evidence, when it is not assigned by UniProt, but imported from an external database.
type IntListType ¶
type IntListType []int
func (*IntListType) UnmarshalText ¶
func (x *IntListType) UnmarshalText(text []byte) error
type InteractantType ¶
type InteractantType struct {
Id string `xml:"http://uniprot.org/uniprot id"`
Label string `xml:"http://uniprot.org/uniprot label,omitempty"`
DbReference DbReferenceType `xml:"http://uniprot.org/uniprot dbReference,omitempty"`
IntactId string `xml:"intactId,attr"`
}
type IsoformType ¶
type IsoformType struct {
Id []string `xml:"http://uniprot.org/uniprot id"`
Name []Name `xml:"http://uniprot.org/uniprot name"`
Sequence Anon6 `xml:"http://uniprot.org/uniprot sequence"`
Text []EvidencedStringType `xml:"http://uniprot.org/uniprot text,omitempty"`
}
Describes isoforms in 'alternative products' annotations.
type KeywordType ¶
type KeywordType struct {
Value string `xml:",chardata"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
type Kinetics ¶
type Kinetics struct {
KM []EvidencedStringType `xml:"http://uniprot.org/uniprot KM,omitempty"`
Vmax []EvidencedStringType `xml:"http://uniprot.org/uniprot Vmax,omitempty"`
Text []EvidencedStringType `xml:"http://uniprot.org/uniprot text,omitempty"`
}
type LocationType ¶
type LocationType struct {
Begin PositionType `xml:"http://uniprot.org/uniprot begin,omitempty"`
End PositionType `xml:"http://uniprot.org/uniprot end,omitempty"`
Position PositionType `xml:"http://uniprot.org/uniprot position,omitempty"`
Sequence string `xml:"sequence,attr,omitempty"`
}
Describes a sequence location as either a range with a begin and end or as a position. The 'sequence' attribute is only used when the location is not on the canonical sequence displayed in the current entry.
type Name ¶
type Name struct {
Value string `xml:",chardata"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
type NameListType ¶
type NameListType struct {
Consortium ConsortiumType `xml:"http://uniprot.org/uniprot consortium,omitempty"`
Person PersonType `xml:"http://uniprot.org/uniprot person,omitempty"`
}
type OrganismNameType ¶
Describes different types of source organism names.
type OrganismType ¶
type OrganismType struct {
Name []OrganismNameType `xml:"http://uniprot.org/uniprot name"`
DbReference []DbReferenceType `xml:"http://uniprot.org/uniprot dbReference"`
Lineage Lineage `xml:"http://uniprot.org/uniprot lineage,omitempty"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
Describes the source organism.
type PersonType ¶
type PersonType struct {
Name string `xml:"name,attr"`
}
type PhDependence ¶
type PhDependence struct {
Text []EvidencedStringType `xml:"http://uniprot.org/uniprot text"`
}
type PhysiologicalReactionType ¶
type PhysiologicalReactionType struct {
DbReference DbReferenceType `xml:"http://uniprot.org/uniprot dbReference"`
Direction Direction `xml:"direction,attr"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
Describes a physiological reaction.
type Plasmid ¶
type Plasmid struct {
Value string `xml:",chardata"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
type PositionType ¶
type PositionType struct {
Position uint64 `xml:"position,attr,omitempty"`
Status Status `xml:"status,attr,omitempty"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
func (*PositionType) UnmarshalXML ¶
func (t *PositionType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
type PropertyType ¶
type ProteinExistenceType ¶
type ProteinExistenceType struct {
Type Type `xml:"type,attr"`
}
Describes the evidence for the protein's existence. Equivalent to the flat file PE-line.
type ProteinType ¶
type ProteinType struct {
RecommendedName RecommendedName `xml:"http://uniprot.org/uniprot recommendedName,omitempty"`
AlternativeName []AlternativeName `xml:"http://uniprot.org/uniprot alternativeName,omitempty"`
SubmittedName []SubmittedName `xml:"http://uniprot.org/uniprot submittedName,omitempty"`
AllergenName EvidencedStringType `xml:"http://uniprot.org/uniprot allergenName,omitempty"`
BiotechName EvidencedStringType `xml:"http://uniprot.org/uniprot biotechName,omitempty"`
CdAntigenName []EvidencedStringType `xml:"http://uniprot.org/uniprot cdAntigenName,omitempty"`
InnName []EvidencedStringType `xml:"http://uniprot.org/uniprot innName,omitempty"`
Domain []Domain `xml:"http://uniprot.org/uniprot domain,omitempty"`
Component []Component `xml:"http://uniprot.org/uniprot component,omitempty"`
}
Describes the names for the protein and parts thereof. Equivalent to the flat file DE-line.
type ReactionType ¶
type ReactionType struct {
Text string `xml:"http://uniprot.org/uniprot text"`
DbReference []DbReferenceType `xml:"http://uniprot.org/uniprot dbReference"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
Describes a chemical reaction.
type RecommendedName ¶
type RecommendedName struct {
FullName EvidencedStringType `xml:"http://uniprot.org/uniprot fullName"`
ShortName []EvidencedStringType `xml:"http://uniprot.org/uniprot shortName,omitempty"`
EcNumber []EvidencedStringType `xml:"http://uniprot.org/uniprot ecNumber,omitempty"`
}
type RedoxPotential ¶
type RedoxPotential struct {
Text []EvidencedStringType `xml:"http://uniprot.org/uniprot text"`
}
type ReferenceType ¶
type ReferenceType struct {
Citation CitationType `xml:"http://uniprot.org/uniprot citation"`
Scope []string `xml:"http://uniprot.org/uniprot scope"`
Source SourceDataType `xml:"http://uniprot.org/uniprot source,omitempty"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
Key string `xml:"key,attr"`
}
Describes a citation and a summary of its content. Equivalent to the flat file RN-, RP-, RC-, RX-, RG-, RA-, RT- and RL-lines.
type SequenceType ¶
type SequenceType struct {
Value string `xml:",chardata"`
Length int `xml:"length,attr"`
Mass int `xml:"mass,attr"`
Checksum string `xml:"checksum,attr"`
Modified time.Time `xml:"modified,attr"`
Version int `xml:"version,attr"`
Precursor bool `xml:"precursor,attr,omitempty"`
Fragment Fragment `xml:"fragment,attr,omitempty"`
}
func (*SequenceType) UnmarshalXML ¶
func (t *SequenceType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error
type SourceDataType ¶
type SourceDataType struct {
Strain Strain `xml:"http://uniprot.org/uniprot strain,omitempty"`
Plasmid Plasmid `xml:"http://uniprot.org/uniprot plasmid,omitempty"`
Transposon Transposon `xml:"http://uniprot.org/uniprot transposon,omitempty"`
Tissue Tissue `xml:"http://uniprot.org/uniprot tissue,omitempty"`
}
Describes the source of the sequence according to the citation. Equivalent to the flat file RC-line.
type SourceType ¶
type SourceType struct {
DbReference DbReferenceType `xml:"http://uniprot.org/uniprot dbReference,omitempty"`
}
Describes the source of the data using a database cross-reference (or a 'ref' attribute when the source cannot be found in a public data source, such as PubMed, and is cited only within the UniProtKB entry).
type StatusType ¶
type StatusType struct {
Value string `xml:",chardata"`
Status Status `xml:"status,attr,omitempty"`
}
Indicates whether the name of a plasmid is known or unknown.
type Strain ¶
type Strain struct {
Value string `xml:",chardata"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
type SubcellularLocationType ¶
type SubcellularLocationType struct {
Location []EvidencedStringType `xml:"http://uniprot.org/uniprot location"`
Topology []EvidencedStringType `xml:"http://uniprot.org/uniprot topology,omitempty"`
Orientation []EvidencedStringType `xml:"http://uniprot.org/uniprot orientation,omitempty"`
}
Describes the subcellular location and optionally the topology and orientation of a molecule.
type SubmittedName ¶
type SubmittedName struct {
FullName EvidencedStringType `xml:"http://uniprot.org/uniprot fullName"`
EcNumber []EvidencedStringType `xml:"http://uniprot.org/uniprot ecNumber,omitempty"`
}
type TemperatureDependence ¶
type TemperatureDependence struct {
Text []EvidencedStringType `xml:"http://uniprot.org/uniprot text"`
}
type Tissue ¶
type Tissue struct {
Value string `xml:",chardata"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}
type Transposon ¶
type Transposon struct {
Value string `xml:",chardata"`
Evidence IntListType `xml:"evidence,attr,omitempty"`
}