Skip to content

Instantly share code, notes, and snippets.

View samuell's full-sized avatar
💻
Hacking away

Samuel Lampa samuell

💻
Hacking away
View GitHub Profile
package main
import (
sp "github.com/scipipe/scipipe"
)
func main() {
wf := sp.NewWorkflow("hello_world", 4)
hello := wf.NewProc("hello", "echo 'Hello ' > {o:out}")
package main
import (
sp "github.com/samuell/scipipe"
)
func main() {
hello := sp.Sh("echo foo > {o:out}")
hello.OutPathFuncs["out"] = func() string {
return "hello.txt"
// -------------------------
// Option A
// -------------------------
merge := wf.NewProc("merge_"+ind, "bwa sampe {i:ref} {i:sai1} {i:sai2} {i:fq1} {i:fq2} > {o:merged} # {i:refdone} {p:ind}",
merge.InParam("ind").FromStr(ind)
merge.In("ref").From(ungzipRef.Out("out"))
merge.In("refdone").From(indexRef.Out("done"))
merge.In("sai1").From(outs[ind]["1"]["sai"])
merge.In("sai2").From(outs[ind]["2"]["sai"])
merge.In("fq1").From(outs[ind]["1"]["fastq"])
parent(mark, jim).
parent(sam, mark).
grandparent(Grandparent, Child) :-
parent(Grandparent, Parent),
parent(Parent, Child).
SELECT ?s ?p ?o WHERE { ?s ?p ?o }
package main
import (
"encoding/csv"
"encoding/xml"
"io"
"os"
sp "github.com/scipipe/scipipe"
)
@samuell
samuell / Drugbank parse to DB
Created March 2, 2018 20:49 — forked from sgsfak/Drugbank parse to DB
Parse DrugBank XML file with xmlstarlet
We couldn’t find that file to show.
cat {i:targetdata} > {o:filledup} && \
let "fillup_lines_cnt = "$(wc -l {i:targetdata} | awk '{ printf $1 }')" * 2" && \
tail -n +2 {i:rawdata} \
| awk -F"\t" '$9 != "{p:gene}" { $12 "\tN" }' \
| sort \
| uniq \
| shuf --random-source={i:randsrc} \
| head -n $fillup_lines_cnt \
>> {o:filledup}
package main
import "fmt"
func main() {
bufSize := 1 // Try changing this to 0, and see what happens!
ch1, ch2, ch3 := make(chan int, bufSize), make(chan int, bufSize), make(chan int, bufSize)
go func() {
package main
import "fmt"
func main() {
// Create a new concrete IP of type `fileIP`, and populate with two tags
aFileIp := &fileIp{tags: map[string]string{"name": "Rolf", "likes": "Coffee"}}
// Call the function printTags(), which takes the interface `IP`
printTags(aFileIp)