projects
/
lightning.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Accept PDH on command line.
[lightning.git]
/
diff.go
diff --git
a/diff.go
b/diff.go
index 1f428082bc7e79c25a9a6212317333cac85ca397..4a328ac75600645b934cd4a9b972fa83c06273b1 100644
(file)
--- a/
diff.go
+++ b/
diff.go
@@
-1,4
+1,8
@@
-package main
+// Copyright (C) The Lightning Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
+package lightning
import (
"bufio"
import (
"bufio"
@@
-8,7
+12,7
@@
import (
"io"
"os"
"io"
"os"
- "git
.arvados.org
/lightning/hgvs"
+ "git
hub.com/arvados
/lightning/hgvs"
)
type diffFasta struct{}
)
type diffFasta struct{}
@@
-24,6
+28,7
@@
func (cmd *diffFasta) RunCommand(prog string, args []string, stdin io.Reader, st
flags.SetOutput(stderr)
offset := flags.Int("offset", 0, "coordinate offset")
sequence := flags.String("sequence", "chr1", "sequence label")
flags.SetOutput(stderr)
offset := flags.Int("offset", 0, "coordinate offset")
sequence := flags.String("sequence", "chr1", "sequence label")
+ timeout := flags.Duration("timeout", 0, "timeout (examples: \"1s\", \"1ms\")")
err = flags.Parse(args)
if err == flag.ErrHelp {
err = nil
err = flags.Parse(args)
if err == flag.ErrHelp {
err = nil
@@
-48,6
+53,7
@@
func (cmd *diffFasta) RunCommand(prog string, args []string, stdin io.Reader, st
}
defer f.Close()
scanner := bufio.NewScanner(f)
}
defer f.Close()
scanner := bufio.NewScanner(f)
+ scanner.Buffer(nil, 64*1024*1024)
for scanner.Scan() {
buf := scanner.Bytes()
if len(buf) > 0 && buf[0] != '>' {
for scanner.Scan() {
buf := scanner.Bytes()
if len(buf) > 0 && buf[0] != '>' {
@@
-63,14
+69,14
@@
func (cmd *diffFasta) RunCommand(prog string, args []string, stdin io.Reader, st
}
}
}
}
- variants
:= hgvs.Diff(string(fasta[0]), string(fasta[1])
)
+ variants
, timedOut := hgvs.Diff(string(fasta[0]), string(fasta[1]), *timeout
)
if *offset != 0 {
for i := range variants {
variants[i].Position += *offset
}
}
for _, v := range variants {
if *offset != 0 {
for i := range variants {
variants[i].Position += *offset
}
}
for _, v := range variants {
- fmt.Fprintf(stdout, "%s:g.%s\t%s\t%d\t%s\t%s\
n", *sequence, v.String(), *sequence, v.Position, v.Ref, v.New
)
+ fmt.Fprintf(stdout, "%s:g.%s\t%s\t%d\t%s\t%s\
t%v\n", *sequence, v.String(), *sequence, v.Position, v.Ref, v.New, timedOut
)
}
return 0
}
}
return 0
}