小编Pai*_*lou的帖子

如何从 igraph 网络中提取集群?

我有一个如下所示的 data.frame(有 1135 行):

         var1   var2  corr
590   OTU3902 K00021 0.832
624   OTU2457 K00076 0.847
770   OTU0939 K00184 0.842
774   OTU0939 K00185 0.818
792   OTU3902 K00209 0.828
1053  OTU2859 K00299 0.803
1127  OTU0001 K00320 0.845
1128  OTU0041 K00320 0.819
1129  OTU1364 K00320 0.850
1130  OTU1891 K00320 0.803
1131  OTU2859 K00320 0.841
1137  OTU2457 K00329 0.845
1409  OTU0939 K00349 0.806
1465  OTU1531 K00366 0.840
1470  OTU1531 K00367 0.847
1474  OTU0001 K00368 0.840
1475  OTU0095 K00368 0.829
1544  OTU3041 K00395 0.820
1729 …
Run Code Online (Sandbox Code Playgroud)

r igraph

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

如何在R中提取列表的元素?

我有一个包含几个向量的列表,如下所示:

$`56`
[1] "OTU2998"             "UniRef90_A0A1Z9FS94" "UniRef90_A0A257ESC3"
[4] "UniRef90_A0A293NAV3" "UniRef90_A0A2E1NMU8" "UniRef90_A0A2E1NPX9"
[7] "UniRef90_A0A2E1NQL1" "UniRef90_A0A2E1NRD2" "UniRef90_X0UC66"    

$`57`
[1] "OTU3820"             "UniRef90_A0A1Z9H3N2" "UniRef90_A0A2D5I161"
[4] "UniRef90_A0A2E6PRN5"

$`58`
[1] "OTU4452"                "UniRef90_A0A1Z9KBI8"    "UniRef90_A0A2E1VTI6"   
[4] "UniRef90_A0A2G2KCN6"    "UniRef90_UPI000BFEC744"

$`59`
[1] "OTU0245"             "UniRef90_A0A1Z9MPM9" "UniRef90_A0A2E2ME98"
[4] "UniRef90_A0A2E8X9N7"

Run Code Online (Sandbox Code Playgroud)

有没有办法只提取“OTUXXX”信息?我的意思是,我想要得到这样的东西:

$`56`
[1] "OTU2998"       

$`57`
[1] "OTU3820"  

$`58`
[1] "OTU4452"   

$`59`
[1] "OTU0245" 

Run Code Online (Sandbox Code Playgroud)

r list

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

从另一个文件中删除与特定模式匹配的行

我有两个文件(我只显示这些文件的开头):

模式.txt

m64071_201130_104452/13
m64071_201130_104452/26
m64071_201130_104452/46
m64071_201130_104452/49
m64071_201130_104452/113
m64071_201130_104452/147
Run Code Online (Sandbox Code Playgroud)

我的文件.txt

>m64071_201130_104452/13/ccs
ACAGTCGAGCG
>m64071_201130_104452/16/ccs
ACAGTCGAGCG
>m64071_201130_104452/20/ccs
CAGTCGAGCGC
>m64071_201130_104452/22/ccs
CACACATCTCG
>m64071_201130_104452/26/ccs
TAGACAATGTA
Run Code Online (Sandbox Code Playgroud)

我应该得到这样的输出:

>m64071_201130_104452/13/ccs
ACAGTCGAGCG
>m64071_201130_104452/26/ccs
TAGACAATGTA
Run Code Online (Sandbox Code Playgroud)

如果 patterns.txt 中的行与 myfile.txt 中的行匹配,我想创建一个新文件。我需要保留与所讨论的模式相关联的字母 ACTG。我用 :

for i in $(cat patterns.txt); do 
     grep -A 1 $i myfile.txt; done > my_newfile.txt
Run Code Online (Sandbox Code Playgroud)

它可以工作,但是创建新文件的速度很慢......我处理的文件很大但不是太多(patterns.txt 为 14M,myfile.txt 为 700M)。

我也尝试使用,grep -v因为我有另一个文件,其中包含不存在于 patterns.txt 中的 myfile.txt 的其他模式。但它是相同的“速度填充文件”问题。

如果您看到解决方案..

awk grep fasta

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

将当前行的模式插入下一行

我有这个文件:

>AX-899-Af-889-[A/G]
GTCCATTCAGGTAAAAAAAAAAAACATAACAATTGAAATTGCATGA
>AX-899-Af-889-[A/G]
GCAAACTATTTTCATGAATGAACTTCAGTTGATTGTGAGATG
>AX-899-Af-889-[G/T]
AAGGTAGAATGACACCATTAAACAGTAGGGAATTGGTCACAGAACTCT
Run Code Online (Sandbox Code Playgroud)

我需要在下一行的第 10 个位置插入[X/X]从 开始的行中存在的模式,并替换这第 10 个字符:>

>AX-899-Af-889-[A/G]
GTCCATTCA[A/G]GTAAAAAAAAAAAACATAACAATTGAAATTGCATGA
>AX-899-Af-889-[A/G]
GCAAACTAT[A/G]TTCATGAATGAACTTCAGTTGATTGTGAGATG
>AX-899-Af-889-[G/T]
AAGGTAGAA[G/T]GACACCATTAAACAGTAGGGAATTGGTCACAGAACTCT
Run Code Online (Sandbox Code Playgroud)

我可以提取模式:

awk  'match($0, /^>/) {split($0,a,"-");  print; getline; print a[5]}1' file 
Run Code Online (Sandbox Code Playgroud)

还将第 10 个字符替换为模式(例如“N”):sed 's/^\([ATCG].\{8\}\)[ATCG]/\1N/' file

awk

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

停用 s3 存储桶上的版本控制

我在我的存储桶上激活了版本控制。我用了 :

aws s3api put-bucket-versioning --bucket my_bucket --versioning-configuration Status=Enabled --endpoint-url https://XXXXXXXXX
Run Code Online (Sandbox Code Playgroud)

现在,我想停用该存储桶上的版本控制。所以,我有两个问题:

  • 我需要使用:aws s3api put-bucket-versioning --bucket my_bucket --versioning-configuration Status=Suspended --endpoint-url https://XXXXXXXXX

或者我是否需要在“状态”行编辑 ./lifecycle.json 文件?

{
    "Rules": [
        {
            "ID": "Delete old versions after 90 days",
            "Status": "Enabled",   -> Suspended 
            "Prefix": "",
            "NoncurrentVersionExpiration": {
                "NoncurrentDays": 90
              }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

也许,这两种解决方案都有效?

  • 我的第二个问题是:存储桶中的版本会被删除吗?我的意思是,带有该版本的版本"IsLatest": true,会被保存吗?

最好的

versioning bucket amazon-web-services

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

搜索模式并将其打印在之前的行上(awk)

我有这个文件:

>AX-89948491
CACCTTTT[C/T]ATTTCATTCCTAC
>AX-89940152
AGATGAGA[A/G]TAAAGCTTCTGTC
>AX-89922107
ACAGAAAT[G/T]TATAGATATTACT
Run Code Online (Sandbox Code Playgroud)

我需要找到模式“ [A-Z]/[A-Z]”(它必须每两行出现一次);并将其放在之前的行中,如下所示:

>AX-89948491-[C/T]
CACCTTTT[C/T]ATTTCATTCCTAC
>AX-89940152-[A/G]
AGATGAGA[A/G]TAAAGCTTCTGTC
>AX-89922107-[G/T]
ACAGAAAT[G/T]TATAGATATTACT
Run Code Online (Sandbox Code Playgroud)

我做了:

awk 'tmp=/\[[A-Z]\/[A-Z]]/{if (a && a !~ /\[[A-Z]\/[A-Z]]/) print a"-"$tmp; print} {a=$0}' my_file
Run Code Online (Sandbox Code Playgroud)

但这给出了整条线,而不是图案。

有什么帮助吗?

awk

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

与 awk 匹配模式后的突破线

我有这种文件

A 1,2,3,4
B 1
C 1,2 
Run Code Online (Sandbox Code Playgroud)

我想得到 awk 这个输出:

A 1
A 2
A 3
A 4
B 1 
C 1 
C 2
C 3
Run Code Online (Sandbox Code Playgroud)

试过的代码:

sed 's/,/\n&/g' file
Run Code Online (Sandbox Code Playgroud)

对 awk 有什么想法吗?

awk

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

标签 统计

awk ×4

r ×2

amazon-web-services ×1

bucket ×1

fasta ×1

grep ×1

igraph ×1

list ×1

versioning ×1