Documentation
¶
Index ¶
- func GetAttributeValue(attributes []Attribute, tag string) string
- func ParseTime(dateStr string) time.Time
- type AbundanceMeasurement
- type Action
- type AddAction
- type AlignmentDirectivesType
- type AlignmentProcessing
- type Analysis
- type AnalysisAttributes
- type AnalysisDataBlock
- type AnalysisFile
- type AnalysisLinks
- type AnalysisSet
- type AnalysisTarget
- type AnalysisTargets
- type AnalysisType
- type Assembly
- type Attribute
- type Contact
- type CustomAssembly
- type DataBlock
- type DeNovoAssembly
- type Design
- type Experiment
- type ExperimentAttributes
- type ExperimentLinks
- type ExperimentPackage
- type ExperimentRef
- type ExperimentSet
- type HoldAction
- type Identifier
- type Identifiers
- type LibraryDescriptor
- type LibraryLayout
- type Link
- type Locus
- type ModifyAction
- type PairedInfo
- type PipelineType
- type Platform
- type PlatformDetails
- type Pool
- type PoolMember
- type ProcessingType
- type ProgramType
- type ProtectAction
- type QualifiedID
- type ReadLabel
- type ReadSpec
- type ReferenceAlignment
- type RelatedStudies
- type RelatedStudy
- type ReleaseAction
- type Run
- type RunAttributes
- type RunFile
- type RunLabel
- type RunLabels
- type RunLinks
- type RunSet
- type RunStatistics
- type Sample
- type SampleAttributes
- type SampleDescriptor
- type SampleLinks
- type SampleName
- type SamplePackage
- type SampleSet
- type SeqLabel
- type SeqLabels
- type SequenceAnnotation
- type SpotDecodeSpec
- type SpotDescriptor
- type StandardAssembly
- type Study
- type StudyAttributes
- type StudyDescriptor
- type StudyLinks
- type StudyPackage
- type StudyRef
- type StudySet
- type StudyType
- type Submission
- type SubmissionActions
- type SubmissionAttributes
- type SubmissionContacts
- type SubmissionLinks
- type SubmissionSet
- type SuppressAction
- type TargetedLoci
- type URLLink
- type ValidateAction
- type XMLParser
- type XRef
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetAttributeValue ¶
GetAttributeValue finds an attribute by tag name
Types ¶
type AbundanceMeasurement ¶
type AbundanceMeasurement struct {
Processing ProcessingType `xml:"PROCESSING"`
}
AbundanceMeasurement represents abundance measurement analysis
type Action ¶
type Action struct {
Add *AddAction `xml:"ADD"`
Modify *ModifyAction `xml:"MODIFY"`
Suppress *SuppressAction `xml:"SUPPRESS"`
Hold *HoldAction `xml:"HOLD"`
Release *ReleaseAction `xml:"RELEASE"`
Protect *ProtectAction `xml:"PROTECT"`
Validate *ValidateAction `xml:"VALIDATE"`
}
Action represents a submission action
func (*Action) GetActionType ¶
GetActionType returns the type of action
type AddAction ¶
type AddAction struct {
Source string `xml:"source,attr"`
Schema string `xml:"schema,attr,omitempty"`
}
AddAction represents an ADD action
type AlignmentDirectivesType ¶
type AlignmentDirectivesType struct {
// Add specific directives as needed
Directives map[string]string
}
AlignmentDirectivesType represents alignment directives
type AlignmentProcessing ¶
type AlignmentProcessing struct {
Pipeline PipelineType `xml:"PIPELINE"`
Directives *AlignmentDirectivesType `xml:"DIRECTIVES"`
}
AlignmentProcessing represents alignment-specific processing
type Analysis ¶
type Analysis struct {
XMLName xml.Name `xml:"ANALYSIS"`
// Attributes from NameGroup
Alias string `xml:"alias,attr,omitempty"`
CenterName string `xml:"center_name,attr,omitempty"`
BrokerName string `xml:"broker_name,attr,omitempty"`
Accession string `xml:"accession,attr,omitempty"`
AnalysisCenter string `xml:"analysis_center,attr,omitempty"`
AnalysisDate string `xml:"analysis_date,attr,omitempty"`
// Elements
Identifiers *Identifiers `xml:"IDENTIFIERS"`
Title string `xml:"TITLE"`
StudyRef StudyRef `xml:"STUDY_REF"`
Description string `xml:"DESCRIPTION"`
AnalysisType AnalysisType `xml:"ANALYSIS_TYPE"`
Targets *AnalysisTargets `xml:"TARGETS"`
DataBlocks []AnalysisDataBlock `xml:"DATA_BLOCK"`
AnalysisLinks *AnalysisLinks `xml:"ANALYSIS_LINKS"`
AnalysisAttributes *AnalysisAttributes `xml:"ANALYSIS_ATTRIBUTES"`
}
Analysis represents a complete SRA analysis record
func (*Analysis) GetTargetAccessions ¶
GetTargetAccessions returns all target accessions
func (*Analysis) HasMultipleDataBlocks ¶
HasMultipleDataBlocks checks if analysis has multiple data blocks
type AnalysisAttributes ¶
type AnalysisAttributes struct {
Attributes []Attribute `xml:"ANALYSIS_ATTRIBUTE"`
}
AnalysisAttributes contains custom attributes
type AnalysisDataBlock ¶
type AnalysisDataBlock struct {
Name string `xml:"name,attr,omitempty"`
Serial int `xml:"serial,attr,omitempty"`
Member string `xml:"member,attr,omitempty"`
Files []AnalysisFile `xml:"FILES>FILE"`
}
AnalysisDataBlock represents a data block in analysis
type AnalysisFile ¶
type AnalysisFile struct {
Filename string `xml:"filename,attr"`
FileType string `xml:"filetype,attr"`
ChecksumMethod string `xml:"checksum_method,attr"`
Checksum string `xml:"checksum,attr"`
}
AnalysisFile represents a file in analysis data block
type AnalysisLinks ¶
type AnalysisLinks struct {
Links []Link `xml:"ANALYSIS_LINK"`
}
AnalysisLinks contains external links
type AnalysisSet ¶
type AnalysisSet struct {
XMLName xml.Name `xml:"ANALYSIS_SET"`
Analyses []Analysis `xml:"ANALYSIS"`
}
AnalysisSet represents a collection of analyses
type AnalysisTarget ¶
type AnalysisTarget struct {
SraObjectType string `xml:"sra_object_type,attr,omitempty"`
RefName string `xml:"refname,attr,omitempty"`
RefCenter string `xml:"refcenter,attr,omitempty"`
Accession string `xml:"accession,attr,omitempty"`
Identifiers *Identifiers `xml:"IDENTIFIERS"`
}
AnalysisTarget represents a single analysis target
type AnalysisTargets ¶
type AnalysisTargets struct {
Targets []AnalysisTarget `xml:"TARGET"`
}
AnalysisTargets represents analysis targets
type AnalysisType ¶
type AnalysisType struct {
DeNovoAssembly *DeNovoAssembly `xml:"DE_NOVO_ASSEMBLY"`
ReferenceAlignment *ReferenceAlignment `xml:"REFERENCE_ALIGNMENT"`
SequenceAnnotation *SequenceAnnotation `xml:"SEQUENCE_ANNOTATION"`
AbundanceMeasurement *AbundanceMeasurement `xml:"ABUNDANCE_MEASUREMENT"`
}
AnalysisType represents the type of analysis
func (*AnalysisType) GetAnalysisTypeName ¶
func (a *AnalysisType) GetAnalysisTypeName() string
GetAnalysisTypeName returns the name of the analysis type
type Assembly ¶
type Assembly struct {
Standard *StandardAssembly `xml:"STANDARD"`
Custom *CustomAssembly `xml:"CUSTOM"`
}
Assembly represents assembly reference
type Attribute ¶
type Attribute struct {
Tag string `xml:"TAG"`
Value string `xml:"VALUE"`
Units string `xml:"UNITS,omitempty"`
}
Attribute represents a tag-value pair with optional units
type Contact ¶
type Contact struct {
Name string `xml:"name,attr,omitempty"`
InformOnStatus string `xml:"inform_on_status,attr,omitempty"`
InformOnError string `xml:"inform_on_error,attr,omitempty"`
}
Contact represents a submission contact
type CustomAssembly ¶
type CustomAssembly struct {
Description string `xml:"DESCRIPTION"`
ReferenceSource []Link `xml:"REFERENCE_SOURCE"`
}
CustomAssembly represents custom reference assembly
type DataBlock ¶
type DataBlock struct {
Files []RunFile `xml:"FILES>FILE"`
}
DataBlock contains file information
type DeNovoAssembly ¶
type DeNovoAssembly struct {
Processing ProcessingType `xml:"PROCESSING"`
}
DeNovoAssembly represents de novo assembly analysis
type Design ¶
type Design struct {
DesignDescription string `xml:"DESIGN_DESCRIPTION"`
SampleDescriptor SampleDescriptor `xml:"SAMPLE_DESCRIPTOR"`
LibraryDescriptor LibraryDescriptor `xml:"LIBRARY_DESCRIPTOR"`
SpotDescriptor *SpotDescriptor `xml:"SPOT_DESCRIPTOR"`
}
Design contains experiment design information
type Experiment ¶
type Experiment struct {
XMLName xml.Name `xml:"EXPERIMENT"`
// Attributes from NameGroup
Alias string `xml:"alias,attr,omitempty"`
CenterName string `xml:"center_name,attr,omitempty"`
BrokerName string `xml:"broker_name,attr,omitempty"`
Accession string `xml:"accession,attr,omitempty"`
// Elements
Identifiers *Identifiers `xml:"IDENTIFIERS"`
Title string `xml:"TITLE"`
StudyRef StudyRef `xml:"STUDY_REF"`
Design Design `xml:"DESIGN"`
Platform Platform `xml:"PLATFORM"`
ExperimentLinks *ExperimentLinks `xml:"EXPERIMENT_LINKS"`
ExperimentAttributes *ExperimentAttributes `xml:"EXPERIMENT_ATTRIBUTES"`
}
Experiment represents a complete SRA experiment record
type ExperimentAttributes ¶
type ExperimentAttributes struct {
Attributes []Attribute `xml:"EXPERIMENT_ATTRIBUTE"`
}
ExperimentAttributes contains custom attributes
type ExperimentLinks ¶
type ExperimentLinks struct {
Links []Link `xml:"EXPERIMENT_LINK"`
}
ExperimentLinks contains external links
type ExperimentPackage ¶
type ExperimentPackage struct {
Accession string `xml:"accession,attr"`
Title string `xml:"EXPERIMENT>TITLE"`
Study struct {
Accession string `xml:"accession,attr"`
} `xml:"EXPERIMENT>STUDY_REF"`
Design struct {
SampleDescriptor struct {
Accession string `xml:"accession,attr"`
} `xml:"SAMPLE_DESCRIPTOR"`
} `xml:"EXPERIMENT>DESIGN"`
Platform struct {
InstrumentModel string `xml:",innerxml"`
} `xml:"EXPERIMENT>PLATFORM"`
Library struct {
Strategy string `xml:"LIBRARY_STRATEGY"`
Source string `xml:"LIBRARY_SOURCE"`
Selection string `xml:"LIBRARY_SELECTION"`
} `xml:"EXPERIMENT>DESIGN>LIBRARY_DESCRIPTOR"`
}
ExperimentPackage represents an experiment from SRA XML
type ExperimentRef ¶
type ExperimentRef struct {
Identifiers *Identifiers `xml:"IDENTIFIERS"`
RefName string `xml:"refname,attr,omitempty"`
RefCenter string `xml:"refcenter,attr,omitempty"`
Accession string `xml:"accession,attr,omitempty"`
}
ExperimentRef references the parent experiment
type ExperimentSet ¶
type ExperimentSet struct {
XMLName xml.Name `xml:"EXPERIMENT_SET"`
Experiments []Experiment `xml:"EXPERIMENT"`
}
ExperimentSet represents a collection of experiments
type HoldAction ¶
type HoldAction struct {
Target string `xml:"target,attr,omitempty"`
HoldUntilDate string `xml:"HoldUntilDate,attr,omitempty"`
}
HoldAction represents a HOLD action
type Identifier ¶
Identifier represents a simple identifier
type Identifiers ¶
type Identifiers struct {
PrimaryID *Identifier `xml:"PRIMARY_ID"`
SecondaryIDs []Identifier `xml:"SECONDARY_ID"`
ExternalIDs []QualifiedID `xml:"EXTERNAL_ID"`
SubmitterIDs []QualifiedID `xml:"SUBMITTER_ID"`
UUIDs []Identifier `xml:"UUID"`
}
Identifiers contains record identifiers
type LibraryDescriptor ¶
type LibraryDescriptor struct {
LibraryName string `xml:"LIBRARY_NAME"`
LibraryStrategy string `xml:"LIBRARY_STRATEGY"`
LibrarySource string `xml:"LIBRARY_SOURCE"`
LibrarySelection string `xml:"LIBRARY_SELECTION"`
LibraryLayout LibraryLayout `xml:"LIBRARY_LAYOUT"`
TargetedLoci *TargetedLoci `xml:"TARGETED_LOCI"`
LibraryConstructionProtocol string `xml:"LIBRARY_CONSTRUCTION_PROTOCOL"`
}
LibraryDescriptor contains library preparation details
type LibraryLayout ¶
type LibraryLayout struct {
Single *struct{} `xml:"SINGLE"`
Paired *PairedInfo `xml:"PAIRED"`
}
LibraryLayout specifies single or paired reads
func (*LibraryLayout) IsPaired ¶
func (l *LibraryLayout) IsPaired() bool
IsPaired checks if the library layout is paired-end
type Locus ¶
type Locus struct {
LocusName string `xml:"locus_name,attr"`
Description string `xml:"description,attr,omitempty"`
ProbeSet *XRef `xml:"PROBE_SET"`
}
Locus represents a targeted locus
type ModifyAction ¶
type ModifyAction struct {
Source string `xml:"source,attr"`
Schema string `xml:"schema,attr,omitempty"`
}
ModifyAction represents a MODIFY action
type PairedInfo ¶
type PairedInfo struct {
NominalLength int `xml:"NOMINAL_LENGTH,attr,omitempty"`
NominalSdev float64 `xml:"NOMINAL_SDEV,attr,omitempty"`
}
PairedInfo contains paired-end library information
type PipelineType ¶
type PipelineType struct {
Programs []ProgramType `xml:"PIPE_SECTION>PROGRAM"`
}
PipelineType represents pipeline information
type Platform ¶
type Platform struct {
Illumina *PlatformDetails `xml:"ILLUMINA"`
IonTorrent *PlatformDetails `xml:"ION_TORRENT"`
PacBio *PlatformDetails `xml:"PACBIO_SMRT"`
OxfordNanopore *PlatformDetails `xml:"OXFORD_NANOPORE"`
LS454 *PlatformDetails `xml:"LS454"`
Solid *PlatformDetails `xml:"ABI_SOLID"`
Helicos *PlatformDetails `xml:"HELICOS"`
CompleteGenomics *PlatformDetails `xml:"COMPLETE_GENOMICS"`
Capillary *PlatformDetails `xml:"CAPILLARY"`
}
Platform contains sequencing platform information
func (*Platform) GetInstrumentModel ¶
GetInstrumentModel extracts the instrument model from the Platform struct
func (*Platform) GetPlatformName ¶
GetPlatformName extracts the platform name from the Platform struct
type PlatformDetails ¶
type PlatformDetails struct {
InstrumentModel string `xml:"INSTRUMENT_MODEL"`
}
PlatformDetails contains platform-specific information
type Pool ¶
type Pool struct {
DefaultMember *PoolMember `xml:"DEFAULT_MEMBER"`
Members []PoolMember `xml:"MEMBER"`
}
Pool represents pooled samples
type PoolMember ¶
type PoolMember struct {
RefName string `xml:"refname,attr,omitempty"`
RefCenter string `xml:"refcenter,attr,omitempty"`
Accession string `xml:"accession,attr,omitempty"`
MemberName string `xml:"member_name,attr,omitempty"`
Proportion float32 `xml:"proportion,attr,omitempty"`
ReadLabels []ReadLabel `xml:"READ_LABEL"`
}
PoolMember represents a member of a sample pool
type ProcessingType ¶
type ProcessingType struct {
Pipeline PipelineType `xml:"PIPELINE"`
}
ProcessingType represents processing information
type ProgramType ¶
type ProgramType struct {
Name string `xml:"name,attr"`
Version string `xml:"version,attr,omitempty"`
}
ProgramType represents a program in the pipeline
type QualifiedID ¶
type QualifiedID struct {
Namespace string `xml:"namespace,attr"`
Label string `xml:"label,attr,omitempty"`
Value string `xml:",chardata"`
}
QualifiedID represents an identifier with namespace
type ReadLabel ¶
type ReadLabel struct {
ReadGroupTag string `xml:"read_group_tag,attr"`
Value string `xml:",chardata"`
}
ReadLabel for pool members
type ReadSpec ¶
type ReadSpec struct {
ReadIndex int `xml:"READ_INDEX"`
ReadClass string `xml:"READ_CLASS"`
ReadType string `xml:"READ_TYPE"`
BaseCoord int `xml:"BASE_COORD"`
ReadLength int `xml:"READ_LENGTH,omitempty"`
}
ReadSpec defines read specifications
type ReferenceAlignment ¶
type ReferenceAlignment struct {
Assembly Assembly `xml:"ASSEMBLY"`
RunLabels *RunLabels `xml:"RUN_LABELS"`
SeqLabels *SeqLabels `xml:"SEQ_LABELS"`
Processing AlignmentProcessing `xml:"PROCESSING"`
}
ReferenceAlignment represents reference alignment analysis
type RelatedStudies ¶
type RelatedStudies struct {
RelatedStudy []RelatedStudy `xml:"RELATED_STUDY"`
}
RelatedStudies contains links to related studies
type RelatedStudy ¶
type RelatedStudy struct {
RelatedLink XRef `xml:"RELATED_LINK"`
IsPrimary bool `xml:"IS_PRIMARY"`
}
RelatedStudy represents a single related study
type ReleaseAction ¶
type ReleaseAction struct {
Target string `xml:"target,attr,omitempty"`
}
ReleaseAction represents a RELEASE action
type Run ¶
type Run struct {
XMLName xml.Name `xml:"RUN"`
// Attributes from NameGroup
Alias string `xml:"alias,attr,omitempty"`
CenterName string `xml:"center_name,attr,omitempty"`
BrokerName string `xml:"broker_name,attr,omitempty"`
Accession string `xml:"accession,attr,omitempty"`
RunCenter string `xml:"run_center,attr,omitempty"`
RunDate string `xml:"run_date,attr,omitempty"`
// Elements
Identifiers *Identifiers `xml:"IDENTIFIERS"`
Title string `xml:"TITLE"`
ExperimentRef ExperimentRef `xml:"EXPERIMENT_REF"`
DataBlock *DataBlock `xml:"DATA_BLOCK"`
RunLinks *RunLinks `xml:"RUN_LINKS"`
RunAttributes *RunAttributes `xml:"RUN_ATTRIBUTES"`
Statistics *RunStatistics `xml:"Statistics"`
}
Run represents a complete SRA run record
type RunAttributes ¶
type RunAttributes struct {
Attributes []Attribute `xml:"RUN_ATTRIBUTE"`
}
RunAttributes contains custom attributes
type RunFile ¶
type RunFile struct {
Filename string `xml:"filename,attr"`
FileType string `xml:"filetype,attr"`
ChecksumMethod string `xml:"checksum_method,attr,omitempty"`
Checksum string `xml:"checksum,attr,omitempty"`
UnencryptedChecksum string `xml:"unencrypted_checksum,attr,omitempty"`
}
RunFile represents a data file for the run
type RunLabel ¶
type RunLabel struct {
RefName string `xml:"refname,attr,omitempty"`
RefCenter string `xml:"refcenter,attr,omitempty"`
Accession string `xml:"accession,attr,omitempty"`
DataBlockName string `xml:"data_block_name,attr,omitempty"`
ReadGroupLabel string `xml:"read_group_label,attr,omitempty"`
}
RunLabel represents a run label mapping
type RunLabels ¶
type RunLabels struct {
Runs []RunLabel `xml:"RUN"`
}
RunLabels maps run labels to archive runs
type RunLinks ¶
type RunLinks struct {
Links []Link `xml:"RUN_LINK"`
}
RunLinks contains external links
type RunStatistics ¶
type RunStatistics struct {
TotalSpots int64 `xml:"total_spots,attr"`
TotalBases int64 `xml:"total_bases,attr"`
TotalSize int64 `xml:"total_size,attr,omitempty"`
LoadDone bool `xml:"load_done,attr,omitempty"`
Published string `xml:"published,attr,omitempty"`
}
RunStatistics contains run statistics
type Sample ¶
type Sample struct {
XMLName xml.Name `xml:"SAMPLE"`
// Attributes from NameGroup
Alias string `xml:"alias,attr,omitempty"`
CenterName string `xml:"center_name,attr,omitempty"`
BrokerName string `xml:"broker_name,attr,omitempty"`
Accession string `xml:"accession,attr,omitempty"`
// Elements
Identifiers *Identifiers `xml:"IDENTIFIERS"`
Title string `xml:"TITLE"`
SampleName SampleName `xml:"SAMPLE_NAME"`
Description string `xml:"DESCRIPTION"`
SampleLinks *SampleLinks `xml:"SAMPLE_LINKS"`
SampleAttributes *SampleAttributes `xml:"SAMPLE_ATTRIBUTES"`
}
Sample represents a complete SRA sample record
type SampleAttributes ¶
type SampleAttributes struct {
Attributes []Attribute `xml:"SAMPLE_ATTRIBUTE"`
}
SampleAttributes contains custom attributes
type SampleDescriptor ¶
type SampleDescriptor struct {
Identifiers *Identifiers `xml:"IDENTIFIERS"`
Pool *Pool `xml:"POOL"`
RefName string `xml:"refname,attr,omitempty"`
RefCenter string `xml:"refcenter,attr,omitempty"`
Accession string `xml:"accession,attr,omitempty"`
}
SampleDescriptor references the sample
type SampleLinks ¶
type SampleLinks struct {
Links []Link `xml:"SAMPLE_LINK"`
}
SampleLinks contains external links
type SampleName ¶
type SampleName struct {
DisplayName string `xml:"display_name,attr,omitempty"`
TaxonID int `xml:"TAXON_ID"`
ScientificName string `xml:"SCIENTIFIC_NAME"`
CommonName string `xml:"COMMON_NAME"`
}
SampleName contains taxonomic information
type SamplePackage ¶
type SamplePackage struct {
Accession string `xml:"accession,attr"`
Description string `xml:"SAMPLE>DESCRIPTION"`
SampleName struct {
ScientificName string `xml:"SCIENTIFIC_NAME"`
TaxonID int `xml:"TAXON_ID"`
} `xml:"SAMPLE>SAMPLE_NAME"`
Attributes []struct {
Tag string `xml:"TAG"`
Value string `xml:"VALUE"`
} `xml:"SAMPLE>SAMPLE_ATTRIBUTES>SAMPLE_ATTRIBUTE"`
}
SamplePackage represents a sample from SRA XML
type SeqLabel ¶
type SeqLabel struct {
Accession string `xml:"accession,attr"`
GI int `xml:"gi,attr,omitempty"`
DataBlockName string `xml:"data_block_name,attr,omitempty"`
SeqLabel string `xml:"seq_label,attr,omitempty"`
}
SeqLabel represents a sequence label mapping
type SeqLabels ¶
type SeqLabels struct {
Sequences []SeqLabel `xml:"SEQUENCE"`
}
SeqLabels maps sequence labels to reference sequences
type SequenceAnnotation ¶
type SequenceAnnotation struct {
Processing ProcessingType `xml:"PROCESSING"`
}
SequenceAnnotation represents sequence annotation analysis
type SpotDecodeSpec ¶
type SpotDecodeSpec struct {
SpotLength int `xml:"SPOT_LENGTH"`
ReadSpecs []ReadSpec `xml:"READ_SPEC"`
}
SpotDecodeSpec contains spot decoding specification
type SpotDescriptor ¶
type SpotDescriptor struct {
SpotDecodeSpec *SpotDecodeSpec `xml:"SPOT_DECODE_SPEC"`
}
SpotDescriptor for decoding reads
type StandardAssembly ¶
type StandardAssembly struct {
ShortName string `xml:"short_name,attr,omitempty"`
Names []XRef `xml:"NAME"`
}
StandardAssembly represents standard reference assembly
type Study ¶
type Study struct {
XMLName xml.Name `xml:"STUDY"`
// Attributes from NameGroup
Alias string `xml:"alias,attr,omitempty"`
CenterName string `xml:"center_name,attr,omitempty"`
BrokerName string `xml:"broker_name,attr,omitempty"`
Accession string `xml:"accession,attr,omitempty"`
// Elements
Identifiers *Identifiers `xml:"IDENTIFIERS"`
Descriptor StudyDescriptor `xml:"DESCRIPTOR"`
StudyLinks *StudyLinks `xml:"STUDY_LINKS"`
StudyAttributes *StudyAttributes `xml:"STUDY_ATTRIBUTES"`
}
Study represents a complete SRA study record matching XSD schema
type StudyAttributes ¶
type StudyAttributes struct {
Attributes []Attribute `xml:"STUDY_ATTRIBUTE"`
}
StudyAttributes contains custom attributes
type StudyDescriptor ¶
type StudyDescriptor struct {
StudyTitle string `xml:"STUDY_TITLE"`
StudyType *StudyType `xml:"STUDY_TYPE"`
StudyAbstract string `xml:"STUDY_ABSTRACT"`
CenterProjectName string `xml:"CENTER_PROJECT_NAME"`
RelatedStudies *RelatedStudies `xml:"RELATED_STUDIES"`
StudyDescription string `xml:"STUDY_DESCRIPTION"`
}
StudyDescriptor contains study metadata
type StudyLinks ¶
type StudyLinks struct {
Links []Link `xml:"STUDY_LINK"`
}
StudyLinks contains external links for the study
type StudyPackage ¶
type StudyPackage struct {
Accession string `xml:"accession,attr"`
Descriptor struct {
StudyTitle string `xml:"STUDY_TITLE"`
StudyAbstract string `xml:"STUDY_ABSTRACT"`
StudyType struct {
ExistingStudyType string `xml:"existing_study_type,attr"`
} `xml:"STUDY_TYPE"`
} `xml:"STUDY>DESCRIPTOR"`
}
StudyPackage represents a study from SRA XML
type StudyRef ¶
type StudyRef struct {
Identifiers *Identifiers `xml:"IDENTIFIERS"`
RefName string `xml:"refname,attr,omitempty"`
RefCenter string `xml:"refcenter,attr,omitempty"`
Accession string `xml:"accession,attr,omitempty"`
}
StudyRef references the parent study
type StudyType ¶
type StudyType struct {
ExistingStudyType string `xml:"existing_study_type,attr"`
NewStudyType string `xml:"new_study_type,attr,omitempty"`
}
StudyType defines the type of study
type Submission ¶
type Submission struct {
XMLName xml.Name `xml:"SUBMISSION"`
// Attributes from NameGroup
Alias string `xml:"alias,attr,omitempty"`
CenterName string `xml:"center_name,attr,omitempty"`
BrokerName string `xml:"broker_name,attr,omitempty"`
Accession string `xml:"accession,attr,omitempty"`
SubmissionDate string `xml:"submission_date,attr,omitempty"`
SubmissionComment string `xml:"submission_comment,attr,omitempty"`
LabName string `xml:"lab_name,attr,omitempty"`
// Elements
Identifiers *Identifiers `xml:"IDENTIFIERS"`
Title string `xml:"TITLE"`
Contacts *SubmissionContacts `xml:"CONTACTS"`
Actions *SubmissionActions `xml:"ACTIONS"`
SubmissionLinks *SubmissionLinks `xml:"SUBMISSION_LINKS"`
SubmissionAttributes *SubmissionAttributes `xml:"SUBMISSION_ATTRIBUTES"`
}
Submission represents a complete SRA submission record
type SubmissionActions ¶
type SubmissionActions struct {
Actions []Action `xml:"ACTION"`
}
SubmissionActions contains submission actions
type SubmissionAttributes ¶
type SubmissionAttributes struct {
Attributes []Attribute `xml:"SUBMISSION_ATTRIBUTE"`
}
SubmissionAttributes contains custom attributes
type SubmissionContacts ¶
type SubmissionContacts struct {
Contacts []Contact `xml:"CONTACT"`
}
SubmissionContacts contains submission contacts
type SubmissionLinks ¶
type SubmissionLinks struct {
Links []Link `xml:"SUBMISSION_LINK"`
}
SubmissionLinks contains external links
type SubmissionSet ¶
type SubmissionSet struct {
XMLName xml.Name `xml:"SUBMISSION_SET"`
Submissions []Submission `xml:"SUBMISSION"`
}
SubmissionSet represents a collection of submissions
type SuppressAction ¶
type SuppressAction struct {
Target string `xml:"target,attr"`
}
SuppressAction represents a SUPPRESS action
type TargetedLoci ¶
type TargetedLoci struct {
Loci []Locus `xml:"LOCUS"`
}
TargetedLoci for targeted sequencing
type XMLParser ¶
type XMLParser struct {
// contains filtered or unexported fields
}
XMLParser handles streaming XML parsing of SRA metadata
func NewXMLParser ¶
NewXMLParser creates a new XML parser