-
Notifications
You must be signed in to change notification settings - Fork 0
/
submission.go
45 lines (37 loc) · 877 Bytes
/
submission.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package sra
import (
"encoding/json"
"encoding/xml"
srasubmission "github.com/indraniel/go-sra-schemas-1.5/SRA.submission.xsd_go"
)
type SraSubmission struct {
XMLName xml.Name `xml:"SUBMISSION"`
srasubmission.TSubmissionType
}
func (ss SraSubmission) String() string {
json, err := json.MarshalIndent(ss, "", "\t")
if err != nil {
panic(err)
}
return string(json)
}
func (ss SraSubmission) XMLString() string {
xml, err := xml.MarshalIndent(ss, "", "\t")
if err != nil {
panic(err)
}
return string(xml)
}
func (ss SraSubmission) GetItems() []Itemer {
return []Itemer{Itemer(ss)}
}
func (ss SraSubmission) GetAccessions() []string {
accessions := []string{ss.Accession.String()}
return accessions
}
func (ss SraSubmission) GetAccession() string {
return ss.Accession.String()
}
func (ss SraSubmission) IMPType() string {
return "sra-submission"
}