小编Sys*_*tem的帖子

如何使用Julia替换字符串中的多个字符

我基本上试图解决这个问题:http://rosalind.info/problems/revc/

我想用他们的恭维T,G,C,A替换所有出现的A,C,G,T.换句话说,所有的A将被替换为T,所有的C都被G替换为等等.

我之前使用过该replace()函数来替换所有出现的'T'和'U',并希望替换函数将一个字符列表替换为另一个字符列表但我无法使其工作,所以它可能没有那个功能.

我知道我可以使用BioJulia软件包轻松解决这个问题,并使用以下方法完成:

# creating complementary strand of DNA
# reverse the string
# find the complementary nucleotide
using Bio.Seq
s = dna"AAAACCCGGT"

t = reverse(complement(s))

println("$t")
Run Code Online (Sandbox Code Playgroud)

但我不想依赖包裹.

这是我到目前为止的代码,如果有人可以引导我朝着正确的方向发展,那将是伟大的.

# creating complementary strand of DNA
# reverse the string
# find the complementary nucleotide

s = open("nt.txt") # open file containing sequence

t = reverse(s) # reverse the sequence

final = replace(t, r'[ACGT]', '[TGCA]') # this is probably incorrect
# replace characters ACGT with …
Run Code Online (Sandbox Code Playgroud)

string replace julia

6
推荐指数
1
解决办法
2714
查看次数

如何在当前工作目录中使用 mktemp 创建临时目录?

我创建了一个将多个程序连接在一起的管道,不幸的是,这些程序在文件夹中创建了大量临时文件/tmp,并且在使用大型数据集时,我的管道因/tmp文件夹已满而崩溃。

如何导出临时文件,以便在运行管道的当前工作目录中而不是文件夹中创建它们/tmp

目前,我尝试将TMPDIRenv 变量导出到当前工作目录中已创建的目录/work,但临时文件仍在该文件夹中创建/tmp

export TMPDIR=$(mktemp -d --tmpdir=/work)
<script>
rm -rf $TMPDIR
Run Code Online (Sandbox Code Playgroud)

该程序无法为创建的临时文件设置不同的输出文件夹。

tmp mktemp

6
推荐指数
1
解决办法
1万
查看次数

如何在序列中找到多个"图案"的第一个索引?

我正在学习Julia,但是在R之外的编程经验相对较少.我直接从rosalind.info中解决这个问题,你可以在这里找到它,如果你想要更多的细节.

我给了两个字符串:一个主题和一个序列,其中主题是序列的子串,我的任务是查找子串的起始位置的索引,但是在序列中找到很多次.

例如:

顺序:"GATATATGCATATACTT"

主题:"ATAT"

发现ATAT三次,一次从索引2开始,一次在索引4,一次在索引10.这假设基于1的索引.所以最终的输出是:2 4 10

这是我到目前为止所拥有的:

f = open("motifs.txt")
stream = readlines(f)

sequence = chomp(stream[1])
motif = chomp(stream[2])

println("Sequence: $sequence")
println("Motif: $motif")

result = searchindex(sequence, motif)
println("$result")

close(f)
Run Code Online (Sandbox Code Playgroud)

我的主要问题似乎是没有searchindexall选项.当前的脚本给了我第一次遇到主题的第一个索引(索引2),我尝试了各种for循环但没有取得太大的成功,所以我希望有人可以给我一些见解就此而言.

julia

3
推荐指数
1
解决办法
107
查看次数

如何将列分隔为文本文件中的两个制表符分隔列

我有一个包含5列的输入文件,但我需要将第5列分成两列,因此输出文件总共有6列.

我的输入文件数据如下所示:

chrX    100629986   100630758   -   ENSG00000000003.14.IntrontENST00000373020.8.Intron  
chrX    100630866   100632484   -   ENSG00000000003.14.IntrontENST00000373020.8.Intron  
chrX    100632568   100633404   -   ENSG00000000003.14.IntrontENST00000373020.8.Intron
Run Code Online (Sandbox Code Playgroud)

你注意到第5列在我的所有数据中都有类似的结构,所以我想做的是让我的第5列包含"ENSG00000000003.14.Intron",我的第6列包含"tENST00000373020.8.Intron"

然而,并非我的所有数据都具有.Intron标记,例如:

chrX    100597503   100597531   +   ENSG00000000005.5tENST00000485971.1
Run Code Online (Sandbox Code Playgroud)

但是你会注意到我的所有数据都是"t",因此我想用它来分离这些列.我不确定如何为具有数十万行的数据执行此操作,并且手动执行此操作将花费太长时间.我还需要整个文件以制表符分隔,以便我可以继续进一步处理这些数据.

感谢大家提前,

awk sed multiple-columns

1
推荐指数
1
解决办法
63
查看次数

标签 统计

julia ×2

awk ×1

mktemp ×1

multiple-columns ×1

replace ×1

sed ×1

string ×1

tmp ×1