20 #include <ObjexxFCL/format.hh>
21 #include <ObjexxFCL/string.functions.hh>
34 #include <utility/vector1.hh>
39 using namespace ObjexxFCL;
48 using namespace core::id;
49 using namespace core::chemical;
50 using namespace core::conformation;
55 if(type==
"back_bone"){
58 }
else if(type==
"side_chain"){
60 torsion_angle=pose.
residue(seq_num).
chi(rna_torsion_number);
62 std::cout <<
"In Print_torsion_info, invalid torsion_type: " << type << std::endl;
66 std::cout <<
"Torsion angle= " << torsion_angle << std::endl;
71 std::cout <<
"In Print_torsion_info, would not get torsion angle atom ids: " << std::endl;
80 std::cout <<
"atom " << id1.atomno() <<
" " <<
"name= " << rsd_1.
type().
atom_name(id1.atomno()) <<
" type= " << rsd_1.atom_type(id1.atomno()).name() <<
" " << rsd_1.atom_type_index(id1.atomno()) <<
" " << rsd_1.atomic_charge(id1.atomno()) << std::endl;
81 std::cout <<
"atom " << id2.atomno() <<
" " <<
"name= " << rsd_2.type().atom_name(id2.atomno()) <<
" type= " << rsd_2.atom_type(id2.atomno()).name() <<
" " << rsd_2.atom_type_index(id2.atomno()) <<
" " << rsd_2.atomic_charge(id2.atomno()) << std::endl;
82 std::cout <<
"atom " << id3.atomno() <<
" " <<
"name= " << rsd_3.type().atom_name(id3.atomno()) <<
" type= " << rsd_3.atom_type(id3.atomno()).name() <<
" " << rsd_3.atom_type_index(id3.atomno()) <<
" " << rsd_3.atomic_charge(id3.atomno()) << std::endl;
83 std::cout <<
"atom " << id4.atomno() <<
" " <<
"name= " << rsd_4.type().atom_name(id4.atomno()) <<
" type= " << rsd_4.atom_type(id4.atomno()).name() <<
" " << rsd_4.atom_type_index(id4.atomno()) <<
" " << rsd_4.atomic_charge(id4.atomno()) << std::endl;
99 for(
Size i=1; i<=nucleotides_token.size(); i++){
105 std::string seq_num_string=nucleotides_token[i].substr(1,nucleotides_token[i].length()-1);
107 rebuild_residue_list.push_back( res_info);
112 return rebuild_residue_list;
119 using namespace ObjexxFCL;
120 using namespace ObjexxFCL::fmt;
123 std::cout << lead_zero_string_of(residue.
seq_num, 2);
124 std::cout <<
A(1,
" ");
130 if(three_letter_name==
"RAD")
return "A";
131 if(three_letter_name==
"RCY")
return "C";
132 if(three_letter_name==
"URA")
return "U";
133 if(three_letter_name==
"RGU")
return "G";
134 std::cout <<
"In get_one_letter_name_function, an invalid three_letter_name was passed into the function: " << three_letter_name << std::endl;
140 if(one_letter_name==
"A")
return "RAD";
141 if(one_letter_name==
"C")
return "RCY";
142 if(one_letter_name==
"U")
return "URA";
143 if(one_letter_name==
"G")
return "RGU";
144 std::cout <<
"In get_three_letter_name_function, an invalid one_letter_name was passed into the function: " << one_letter_name <<std::endl;
155 for (std::map< Size, Size>::const_iterator it=my_map.begin(); it!=my_map.end(); it++ ){
156 std::cout << it->first <<
" => " << it->second << std::endl;
157 if(it->first>=max_seq_num) max_seq_num=it->first;
165 using namespace ObjexxFCL;
166 using namespace ObjexxFCL::fmt;
169 std::cout << std::setw(30) <<
"full_pose_seq_num:";
170 for(
Size seq_num=1; seq_num<=max_seq_num; seq_num++){
171 std::cout << std::setw(spacing) << seq_num;
173 std::cout << std::endl;
175 std::cout << std::setw(30) <<
"partial_pose_seq_num:";
176 for(
Size seq_num=1; seq_num<=max_seq_num; seq_num++){
177 if(my_map.find(seq_num)!=my_map.end()){
178 std::cout << std::setw(spacing) << my_map.find(seq_num)->second;
180 std::cout <<
A(spacing,
"-");
184 std::cout << std::endl;
191 using namespace ObjexxFCL;
192 using namespace ObjexxFCL::fmt;
198 for(
Size n=1; n<=residue_list.size(); n++){
201 while(seq_num<residue.
seq_num){
202 std::cout <<
A(4,
" ");
210 std::cout << std::endl;
219 for(
Size n=0; n<=full_fasta_sequence.size()-1; n++){
220 std::string one_letter_name=string_of(full_fasta_sequence[n]);
223 if(one_letter_name==
"A" || one_letter_name==
"a") residue.
name=
"RAD";
224 if(one_letter_name==
"C" || one_letter_name==
"c") residue.
name=
"RCY";
225 if(one_letter_name==
"U" || one_letter_name==
"u") residue.
name=
"URA";
226 if(one_letter_name==
"G" || one_letter_name==
"g") residue.
name=
"RGU";
228 full_residue_list.push_back(residue);
231 return full_residue_list;
238 for(
Size i=1; i<=residue_list.size(); i++){
239 if(seq_num==residue_list[i].seq_num){
240 return residue_list[i];
243 std::cout <<
"Error, in Get_residue_from_seq_num function. The seq_num " << seq_num <<
" does not exist in the residue_list" << std::endl;
251 for(
Size j=1; j<=residue_list.size(); j++){
252 if(seq_num==residue_list[j].seq_num) {
269 while(j<=Sorted_residue_list.size()){
271 Size first_element=j;
274 while((j<Sorted_residue_list.size()) && ((Sorted_residue_list[j].seq_num+1)==Sorted_residue_list[j+1].seq_num)){
281 for(
Size element=first_element; element<=last_element; element++){
282 residue_group.push_back(Sorted_residue_list[element]);
284 residue_group_list.push_back(residue_group);
289 return residue_group_list;
298 for(
Size i=1; i<= residue_list_1.size(); i++){
300 set_difference_residue_list.push_back(residue_list_1[i]);
303 return set_difference_residue_list;
312 for(
Size i=1; i<=residue_list_2.size(); i++){
314 union_residue_list.push_back(residue_list_2[i]);
318 return union_residue_list;