我想处理多个床文件以查找重叠区域。我将我的数据集读取为数据帧,以及如何有效地并行扫描两个数据集以检测重叠区域发生的位置。我的方法是每次将数据框对象的每个单元格的峰值区域作为查询时,将间隔树中另一个数据框的所有行的峰值区域作为查询,然后搜索重叠区域。我很困惑如何在 R 中实现这一点。请帮助处理生物信息学中的床格式文件。感谢有人指出我如何做到这一点......
这是我想要实现的简单示例:
[1] chr1 [10171, 10226] * | MACS_peak_1 7.12
[2] chr1 [32698, 33079] * | MACS_peak_2 13.92
[3] chr1 [34757, 34794] * | MACS_peak_3 6.08
[4] chr1 [37786, 37833] * | MACS_peak_4 2.44
[5] chr1 [38449, 38484] * | MACS_peak_5 3.61
[6] chr1 [38584, 38838] * | MACS_peak_6 4.12
..
..
[] chrX [155191467, 155191508] * | MACS_peak_77948 3.80
[] chrX [155192786, 155192821] * | MACS_peak_77949 3.71
[] chrX [155206352, 155206433] * | MACS_peak_77950 3.81
[] chrX …Run Code Online (Sandbox Code Playgroud) 当我运行 Rails 迁移命令时。我发现索引名称太长。我的迁移文件
class AddMissingIndices < ActiveRecord::Migration
def change
# We'll explicitly specify its name, as the auto-generated name is too long and exceeds 63
# characters limitation.
add_index :mailboxer_conversation_opt_outs, [:unsubscriber_id, :unsubscriber_type],
name: 'index_mailboxer_conversation_opt_outs_on_unsubscriber_id_type'
add_index :mailboxer_conversation_opt_outs, :conversation_id
add_index :mailboxer_notifications, :type
add_index :mailboxer_notifications, [:sender_id, :sender_type]
# We'll explicitly specify its name, as the auto-generated name is too long and exceeds 63
# characters limitation.
add_index :mailboxer_notifications, [:notified_object_id, :notified_object_type],
name: 'index_mailboxer_notifications_on_notified_object_id_and_type'
add_index :mailboxer_receipts, [:receiver_id, :receiver_type]
end
end
Run Code Online (Sandbox Code Playgroud)
服务器日志是
铁轨已中止!
StandardError:发生错误,此迁移和所有后续迁移均已取消:
表“mailboxer_conversation_opt_outs”上的索引名称“index_mailboxer_conversation_opt_outs_on_unsubscriber_type_and_unsubscriber_id”太长;限制为 63 …
我正在尝试将 pandas 列名称设置为元组。注意:列名已经是一个元组,我正尝试用另一个元组替换它。
在这里输入图像描述
我尝试了这个tab.rename(columns = {valeur[0] : cle}, inplace = True )
“cle”是我的新元组(6, 9),“valeur[0]”是列名称(7.25, 7.35)。
我收到错误:“对于 MultiIndex,名称应该类似于列表”
为什么这段代码不打印“2”?
#!/usr/bin/perl
sub get_undef() {
return undef;
}
my $test1 = get_undef;
my @test2 = get_undef;
print "1\n" unless ($test1);
print "2\n" unless (@test2);
Run Code Online (Sandbox Code Playgroud) 我只对“DelayedAutoStart”键的值感兴趣,并希望此代码能够工作,但它会打印更多信息。有人能告诉我这里有什么问题吗?
use Win32::Registry;
use Data::Dumper;
$p = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion";
$p = "SYSTEM\\CurrentControlSet\\Services\\sppsvc";
$main::HKEY_LOCAL_MACHINE->Open($p, $CurrVer) ||
die "Open: $!";
$CurrVer->GetValues(\%vals);
#print Dumper(\%vals);
foreach $k (keys %vals) {
$key = $vals{$k};
if ($$key[0] == "DelayedAutoStart")
{
print "$$key[0] = $$key[2]\n";
}
}
Run Code Online (Sandbox Code Playgroud)
结果:
ServiceSidType = 1
ErrorControl = 1
LaunchProtected = 1
DisplayName = @%SystemRoot%\system32\sppsvc.exe,-101
Start = 2
ImagePath = %SystemRoot%\system32\sppsvc.exe
Description = @%SystemRoot%\system32\sppsvc.exe,-100
DelayedAutoStart = 1
ObjectName = NT AUTHORITY\NetworkService
RequiredPrivileges = SeAuditPrivilege SeChangeNotifyPrivilege
SeCreateGlobalPrivilege SeImpersonatePrivilege
FailureActions = ÇQ? ? ¶ …Run Code Online (Sandbox Code Playgroud) 我有一个包含数千行的大文件,如下所示:
>ENST00001234.1
ACGTACGTACGG
TTACCCAGTACG
ATCGCATTCAGC
>ENST00002235.4
TTACGCAT
TAGGCCAG
>ENST00005546.9
TTTATCGC
TTAGGGTAT
Run Code Online (Sandbox Code Playgroud)
>例如,我想 grep 特定的 id(在符号之后),ENST00001234.1然后想在匹配之后获取行直到下一个>[不管行数]。我想以这种方式一次 grep 大约 63 个 ID。
如果我 grepENST00001234.1和ENST00005546.9ids,理想的输出应该是:
>ENST00001234.1
ACGTACGTACGG
TTACCCAGTACG
ATCGCATTCAGC
>ENST00005546.9
TTTATCGC
TTAGGGTAT
Run Code Online (Sandbox Code Playgroud)
我试过了,awk '/ENST00001234.1/ENST00005546.9/{print}'但没有帮助。
我想知道如何在此站点https://shapeshed.com/unix-join/ 的示例中使用重定向
这是输入
$ cat wine.txt
White Reisling Germany
Red Riocha Spain
Red Beaunes France
$ cat reviews.txt
Riocha Meh
Beaunes Great!
Reisling Terrible!
Run Code Online (Sandbox Code Playgroud)
这是命令和结果
$ join -1 2 -2 1 <(sort -k 2 wine.txt) <(sort reviews.txt)
Beaunes Red France Great!
Reisling White Germany Terrible!
Riocha Red Spain Meh
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,双重使用 < 不起作用
$ cat file 1
Hello
$ cat file 2
World
Run Code Online (Sandbox Code Playgroud)
我预计
$ cat <file1 <file2
Hello World
Run Code Online (Sandbox Code Playgroud)
但结果是
World
Run Code Online (Sandbox Code Playgroud)
你们有什么想法吗?
我正在尝试从我的字典中获取值
for elem in set(sample_txt):
d = {elem:sample_txt.count(elem)}
print(d.values())
Run Code Online (Sandbox Code Playgroud)
d.values() 应返回值列表:
方法决定。key() 和 dict.keys() 。value() 显式返回键或值的列表。还有一个 items() 返回(键,值)元组列表,这是检查字典中所有键值数据的最有效方法。 来自developers.google.com
所以我应该得到类似的东西['a', 'b', 'etc']。然而在我的例子中我得到:
type(d.values())---> <class 'dict_values'>
怎么了?
我想更改 Pandas DataFrame 的列标签
['evaluationId' , 'createdAt', 'scheduleEndDate', 'sharedTo', ...]
Run Code Online (Sandbox Code Playgroud)
到
['EVALUATION_ID', 'CREATED_AT', 'SCHEDULE_END_DATE', 'SHARED_TO',...]
Run Code Online (Sandbox Code Playgroud)
我有很多具有此模式“aaaBb”的列,我想创建重命名列的此模式“AAA_BB”
我尝试过类似的东西:
new_columns = [unidecode(x).upper() for x in df.columns]
Run Code Online (Sandbox Code Playgroud)
但我不知道如何创建解决方案。
我正在 bash 中使用一个 fasta 文件,该文件的标题以“>”开头,以“C”或“+”结尾。就像这样:
>chr1:35031657-35037706+
GGTGGACTAGCCAGTGAATGTCAACGCGTCCCTA
CCTAAGGCGATATCCGCAGCCGCCCGCGTCCCTA
>chr1:71979382-71985425C
agattaaatgaactattacacataaagtgcttac
ttacacataaagtgcttacgaactattacaggga
Run Code Online (Sandbox Code Playgroud)
我想使用 awk (gsub?) 或 sed 将标题的最后一个字符更改为“+”(如果它是“C”)。基本上我希望所有序列都以“+”结尾。没有C。
期望的输出:
>chr1:35031657-35037706+
GGTGGACTAGCCAGTGAATGTCAACGCGTCCCTA
CCTAAGGCGATATCCGCAGCCGCCCGCGTCCCTA
>chr1:71979382-71985425+
agattaaatgaactattacacataaagtgcttac
ttacacataaagtgcttacgaactattacaggga
Run Code Online (Sandbox Code Playgroud)
序列不需要改变任何东西。我认为这非常简单,但我自己很难使用其他帖子来做到这一点。我知道这awk '/^>/ && /C$/{print $0}'将打印以“>”开头并以“C”结尾的标题,但我不确定如何用“+”替换所有这些“C”。
感谢您的帮助!
bash ×3
python ×3
awk ×2
dataframe ×2
fasta ×2
pandas ×2
perl ×2
arrays ×1
bed ×1
camelcasing ×1
dictionary ×1
grep ×1
hash ×1
if-statement ×1
indexing ×1
list ×1
migration ×1
postgresql ×1
r ×1
redirect ×1
sed ×1
snakecasing ×1
tuples ×1
undefined ×1