我正在尝试在R中编写一个程序,它将接收.pdb文件并发出.xyz文件。
我在删除包含无用数据的某些行时遇到问题。有大约30-40万行,我只需要大约3000行。包含有用信息的行以“ATOM”开头。
在unix终端中我只使用命令
grep ATOM < filename.pdb > newfile.xyz
但我不知道如何用R实现相同的结果。
感谢您的帮助!
答案 0 :(得分:0)
您应该可以使用grep
,并根据您的具体情况,substr
。
例如
#Random string variable
stringVar <- c("abcdefg", "defg", "eff", "abc")
#find the location of variables starting with "abc"
abcLoc <- grep("abc", substr(stringVar, 1, 3))
#Extract "abc" instances
out <- stringVar[abcLoc]
out
请注意,substr
部分仅将搜索限制为stringVar的每个元素的前三个字符(例如,&#34; abc&#34;,&#34; def&#34;等) 。这可能不是绝对必要的,但我发现它有时非常有用。例如,如果你有一个像&#34; defabc&#34;你不想包括,使用substr
将确保它不会被发现&#34; grep
。
希望它有所帮助。