我想使用bash来处理制表符分隔文件.我只需要第二列,第三列是新文件.
我的目录中有两种类型的文件.每种类型都有文本"Drug_Rep",如果不存在,则表示它是一个控制文件.药物数据具有重复数量,其数量可以变化,对照也是如此.我正在读取for循环中的文件,如下所示.我想将我的数据帧命名为X_Drug_Rep1,然后将下一个命名为X_Drug_Rep2,依此类推...并保存数据帧以供进一步处理.对控件执行相同操作... X_CONTROL_Rep1 ... X_CONTROL_Rep2 ...依此类推.将数据保存到数据帧的语法是什么,因为我需要稍后在药物复制数据帧和控件上进行一些合并和计算.粘贴在作业的左侧似乎不起作用.有什么建议?
for (f in 1:length(fileList)){
fileName <- fileList[f]
X <-read.xls(fileName)
if(regexpr("Drug_Rep", fileName)[1]>0){
print("DRUG")
print(fileName)
paste(X_Drug_Rep,i)<-X
i=i+1
}
else{
print("CONTROL")
print(fileName)
paste(X_CONTROL,j)<-X
j=j+1
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下数据帧(df1):
Run Code Online (Sandbox Code Playgroud)ID someText PSM OtherValues ABC c 2 qwe CCC v 3 wer DDD b 56 ert EEE m 78 yu FFF sw 1 io GGG e 90 gv CCC r 34 scf CCC t 21 fvb KOO y 45 hffd EEE u 2 asd LLL i 4 dlm ZZZ i 8 zzas
我想折叠第一列并添加相应的PSM值,我想得到以下输出:
ID Sum PSM
ABC 2
CCC 58
DDD 56
EEE 80
FFF 1
GGG 90
KOO 45
LLL 4
ZZZ 8
Run Code Online (Sandbox Code Playgroud)
它似乎可以使用聚合函数,但不知道语法.任何帮助真的很感激!谢谢.
我想做以下事情,如果有人能帮我完成这件事,我真的很感激:
我有两个名为File1.txt和File2.txt的tab-delim文件(如下所示).如果File2.txt中的第二列(整数)在File2.txt的第3列(整数)中找到,那么我想创建new_File1.txt和new_File2.txt并继续追加行.
FILE1.TXT:
1 80 xyc
1 304 xyv
1 813653 xyb
1 813661 xyn
1 954653 xym
Run Code Online (Sandbox Code Playgroud)
FILE2.TXT:
abvb 1 178
aaa 1 304
ttt 1 353
ggg 1 98971
ghj 1 813653
Run Code Online (Sandbox Code Playgroud)
例如,我的new_File1.txt将如下所示:
new_File1.txt:
1 304 xyv
1 813653 xyb
Run Code Online (Sandbox Code Playgroud)
new_File2.txt:
aaa 1 304
ghj 1 813653
Run Code Online (Sandbox Code Playgroud)
感谢大家的帮助!我用过 :
join -1 2 -2 3 -t '\t' file1.txt file2.txt
Run Code Online (Sandbox Code Playgroud)
但它给了我以下输出:
\1 80 xyc\abvb 1 178
\1 80 xyc\aaa 1 304
\1 80 xyc\ttt 1 353
\1 80 xyc\ggg 1 …
Run Code Online (Sandbox Code Playgroud) 我有这个perl脚本,我需要分发给想要在unix环境中的任何地方运行脚本的同事.我能做些什么才能让他们轻松运行这个PERL脚本?例如,他们可以在目录中的某个位置放置PERL脚本,然后只运行输入
./xyz.pl ttt.conf
Run Code Online (Sandbox Code Playgroud)
没有声明路径(如/home/abc/bin/ddd/xyz.pl ttt.conf).
我想把整行作为输出.例如,当我键入kp1时,我希望整行CVBN ....返回.
begin abc
CVBN(r,t,t) + PPP(l,r) <-> ZEK(r!1).R(l!1,r) kp1,km1
TNBC(l,r) + SSR(r,t,t) <-> KPT(l,r!1).XXXX(l,r!1) kp2,km2
TLCX(l!+,(r,t,t)) + VV(l!+,r) <-> BB(l!+,r!1).R(l!+,r!1) kp3,km3
end abc
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
Pattern pattern = Pattern.compile("kp1");
Matcher matcher = pattern.matcher(mytextFromAbove);
// Find all matches
while (matcher.find())
{
// Get the matching string
match = matcher.group();
}
Run Code Online (Sandbox Code Playgroud)
这只返回子串kp1.任何帮助都非常感谢.
谢谢.
我有以下fasta文件:
'>gi|277456704|dbj|ID_P|Gene name LLL
MDGFAGSLDDSISAASTSDVQDRLSALESRVQQQEDEITVLKAALADVLRRLAISEDHVASVKKSVSSKV
YRRKHQELQAMQMELQSPEYKLSKLRTSTIMTDYNPNYCFAGKTSSISDLKEVPRKNITLIRGLGHGAFG
EVYEGQVSGMPNDPSPLQVAVKTLPEVCSEQDELDFLMEALIISKFNHQNIVRCIGVSLQSLPRFILLEL
MAGGDLKSFLRETRPRPSQPSSLAMLDLLHVARDIACGCQYLEENHFIHRDIAARNCLLTCPGPGRVAKI
GDFGMARDIYRASYYRKGGCAMLPVKWMPPEAFMEGIFTSKTDTWSFGVLLWEIFSLGYMPYPSKSNQEV
LEFVTSGGRMDPPKNCPGPVYRIMTQCWQHQPEDRPNFAIILERIEYCTQDPDVINTALPIEYGPLVEEE
'>gi|27704|dbj|ID_Y|Gene name JJJ
MDGFAGSLDDSISAASTSDVQDRLSALESRVQQQEDEITVLKAALADVLRRLAISEDHVASVKKSVSSKG
SELRGGYGDPGRLPVGSGLCSASRARLPGHVAADHPPAVYRRKHQELQAMQMELQSPEYKLSKLRTSTIM
TDYNPNYCFAGKTSSISDLKEVPRKNITLIRGLGHGAFGEVYEGQVSGMPNDPSPLQVAVKTLPEVCSEQ
DELDFLMEALIISKFNHQNIVRCIGVSLQSLPRFILLELMAGGDLKSFLRETRPRPSQPSSLAMLDLLHV
ARDIACGCQYLEENHFIHRDIAARNCLLTCPGPGRVAKIGDFGMARDIYRASYYRKGGCAMLPVKWMPPE
'>gi|2097704|dbj|ID_X|Gene name X
MDGFAGSLDDSISAASTSDVQDRLSALESRVQQQEDEITVLKAALADVLRRLAISEDHVASVKKSVSSKG
QPSPRAVIPMSCITNGSGANRKPSHTSAVSIAGKETLSSAAKSGTEKKKEKPQGQREKKEESHSNDQSPQ
IRASPSPQPSSQPLQIHRQTPESKNATPTKSIKRPSPAEKSHNSWENSDDSRNKLSKIPSTPKLIPKVTK
TADKHKDVIINQEGEYIKMFMRGRPITMFIPSDVDNYDDIRTELPPEKLKLEWAYGYRGKDCRANVYLLP
TGEIVYFIASVVVLFNYEERTQRHYLGHTDCVKCLAIHPDKIRIATGQIAGVDKDGRPLQPHVRVWDSVT
LSTLQIIGLGTFERGVGCLDFSKADSGVHLCVIDDSNEHMLTVWDWQRKAKGAEIKTTNEVVLAVEFHPT
Run Code Online (Sandbox Code Playgroud)
我想循环通过FASTA,将蛋白质序列分解为它遇到的所有'R',这将生成肽,然后将肽进行爆破.从blastp获取结果并将blastp结果存储在fasta文件中每个蛋白质ID的单独文件中.我并不特别关注使用何种语言.我想学习如何做到这一点,以便我可以在它上面构建更多功能.谢谢!
我有一个数字,例如35。是否有一个函数
35+34+33.....+1 = 630
知道我有积,但是它更多用于数组而不是实数。