Use regular expressions. In this case, you can use gsub
:
gsub("^.*?_","_","ATGAS_1121")
[1] "_1121"
This regular expression matches the beginning of the string (^), any character (.) repeated zero or more times (*), and underscore (_). The ? makes the match “lazy” so that it only matches are far as the first underscore. That match is replaced with just an underscore. See ?regex
for more details and references