Skip to content

Latest commit

 

History

History
90 lines (77 loc) · 3.11 KB

add-protein-modification.md

File metadata and controls

90 lines (77 loc) · 3.11 KB

How to define a new protein modification?

The protmod module automatically loads a list of protein modifications into the protein modification registry. In case you have a protein modification that is not preloaded, it is possible to define it by yourself and add it into the registry.

Example: define and register disulfide bond in java code

// define the involved components, in this case two cystines (CYS) 
List components = new ArrayList(2);
components.add(Component.of("CYS"));
components.add(Component.of("CYS"));

// define the atom linkages between the components, in this case the SG atoms on both CYS groups
ModificationLinkage linkage = new ModificationLinkage(components, 0, “SG”, 1, “SG”);

// define the modification condition, i.e. what components are involved and what atoms are linked between them
ModificationCondition condition = new ModificationConditionImpl(components, Collections.singletonList(linkage));

// build a modification
ProteinModification mod =
       new ProteinModificationImpl.Builder("0018_test", 
       ModificationCategory.CROSS_LINK_2,
       ModificationOccurrenceType.NATURAL,
       condition)
       .setDescription("A protein modification that effectively cross-links two L-cysteine residues to form L-cystine.")
       .setFormula("C 6 H 8 N 2 O 2 S 2")
       .setResidId("AA0025")
       .setResidName("L-cystine")
       .setPsimodId("MOD:00034")
       .setPsimodName("L-cystine (cross-link)")
       .setSystematicName("(R,R)-3,3'-disulfane-1,2-diylbis(2-aminopropanoic acid)")
       .addKeyword("disulfide bond")
       .addKeyword("redox-active center")
   .build();

//register the modification
ProteinModificationRegistry.register(mod);

Example: definedisulfide bond in xml file and register by java code

<ProteinModifications>
	<Entry>
		<Id>0018</Id>
		<Description>A protein modification that effectively cross-links two L-cysteine residues to form L-cystine.</Description>
		<SystematicName>(R,R)-3,3'-disulfane-1,2-diylbis(2-aminopropanoic acid)</SystematicName>
		<CrossReference>
			<Source>RESID</Source>
			<Id>AA0025</Id>
			<Name>L-cystine</Name>
		</CrossReference>
		<CrossReference>
			<Source>PSI-MOD</Source>
			<Id>MOD:00034</Id>
			<Name>L-cystine (cross-link)</Name>
		</CrossReference>
		<Condition>
			<Component component="1">
				<Id source="PDBCC">CYS</Id>
			</Component>
			<Component component="2">
				<Id source="PDBCC">CYS</Id>
			</Component>
			<Bond>
				<Atom component="1">SG</Atom>
				<Atom component="2">SG</Atom>
			</Bond>
		</Condition>
		<Occurrence>natural</Occurrence>
		<Category>crosslink2</Category>
		<Keyword>redox-active center</Keyword>
		<Keyword>disulfide bond</Keyword>
	</Entry>
</ProteinModifications>
FileInputStream fis = new FileInputStream("path/to/file");
ProteinModificationXmlReader.registerProteinModificationFromXml(fis);

Navigation: Home | Book 6: The ModFinder Modules | Chapter 4 - How to define a new protein modification

Prev: Chapter 3 : How to identify protein modifications in a structure